MooTools

紧凑的 JAVASCRIPT 框架。(A COMPACT JAVASCRIPT FRAMEWORK.)

  • Owner: mootools/mootools-core
  • Platform:
  • License::
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

MooTools 是为中级到高级JavaScript开发人员设计的JavaScript实用程序的集合。MooTools 以其优雅,完善的文档,一致性的API,允许您编写强大和灵活的代码。MooTools代码被广泛记录并且易于阅读,使您能够扩展功能以满足您的要求。

Overview

Name With Ownermootools/mootools-core
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 4)
Platform
License:
Release Count36
Last Release Name1.6.0 (Posted on 2016-01-14 12:44:57)
First Release Name0.87 (Posted on )
Created At2008-04-21 16:58:56
Pushed At2024-01-08 13:23:32
Last Commit At2017-08-26 11:25:02
Stargazers Count2.6k
Watchers Count127
Fork Count500
Commits Count3.7k
Has Issues Enabled
Issues Count521
Issue Open Count52
Pull Requests Count195
Pull Requests Open Count23
Pull Requests Close Count169
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

MooTools Core

Build Status

Selenium Test Status


This repository is for MooTools developers; not users.
All users should download MooTools from MooTools.net


Contribute

You are welcome to contribute to MooTools! What we ask of you:

a. To report a bug:

  1. Create a jsFiddle with the minimal amount of code to reproduce the bug.
  2. Create a GitHub Issue, and link to the jsFiddle.

b. To fix a bug:

  1. Clone the repo.
  2. Add a spec.
  3. Fix the bug.
  4. Build and run the specs.
  5. Push to your GitHub fork.
  6. Create Pull Request, and send Pull Request.

Do try to contribute! This is a community project.

Building & Testing

Current build process uses Grunt, Grunt MooTools Packager plugin, and Karma related repos.

By default, the build process runs the tests (specs) relevant to the build. To build without testing see the packager build targets.

Building MooTools With Compatibility

This means 1.5.1 that is compatible with: 1.4.6, 1.3.x, 1.2.x, and so on.

Examples

grunt compat             # or
grunt packager:compat    # to only build the source

Building MooTools Without Compatibility

This means 1.5.1 without deprecated code in 1.4.6, 1.3.x, 1.2.x, and so on.

'Proceed at your own risk'
See the changelog or the blog related to each version for migrating your code.

Examples

grunt nocompat           # or
grunt packager:nocompat  # to only build the source

Advanced Building and Testing

See the Gruntfile and MooTools packager for further options.

Examples

# with compat
grunt compat --file=Function    # builds with only Core/Function and dependencies, then tests against specs in Specs/Core/Function
grunt compat --module=Class     # tests against all specs in the Specs/Class *folder* (use --file to limit the build)

# without compat
grunt nocompat --file=Function  # builds with only Core/Function and dependencies, then tests against specs in Specs/Core/Function
grunt nocompat --module=Class   # tests against all specs in the Specs/Class *folder* (use --file to limit the build)

Removing Other Packager Blocks

You'll need to add a specific task to the Gruntfile. See packager's documentation for more examples.

Testing locally

I you want to test your local repo you need just some small steps. Follow these in order:

$ git clone https://github.com/mootools/mootools-core  # clone the MooTools repo
$ cd mootools-core                                     # get into the directory
$ npm install                                          # install de testing tools
$ `npm bin`/grunt test                                 # run the specs!

To test a build in a local browser, you can run the :dev target of that build to start a test server at http://localhost:9876/ and point your browser to it. When you're done testing, pressing Ctrl+c in the window running the grunt process should stop the server.

Example:

$ `npm bin`/grunt compat:dev

If the log is too long, or if you want to store it in a file you can do:

$ grunt > logs.txt   # This will create a new file called logs.txt in the local directory

Testing on Travis & Sauce Labs

Every new Build and Pull Request is now tested on Travis and Sauce Labs. You can also open your own free account on Travis and Sauce Labs to test new code ideas there.

Travis testing uses PhantomJS which is a headless browser. When connected to Sauce Labs then it is possible to choose any number of different Browsers and Platforms. You will need in this case to change the login key so it will match your account.

To add new Browsers in Sauce Labs testing you can make changes to Grunt/options/browsers.json:

  • add a new browser to the custom launchers already in the Gruntfile.

     ...
     chrome: {
     	base: 'SauceLabs',
     	platform: 'Linux',
     	browserName: 'chrome',
     },
     ...
    
  • add the chosen browser, with the correct builds to .travis.yml:

     env:
     	matrix:
     		- BUILD='compat'     BROWSER='chrome'
    

Browsers, Platforms, and More

This test suite is ready for Travis & SauceLabs.
You can also run locally.

Support:

  • IE
  • Edge
  • Firefox
  • Safari
  • Chrome
  • Opera
  • PhantomJS (headless browser)

More Information

See the MooTools Wiki for more information

To the top