mirror of
https://github.com/jquery/jquery.git
synced 2026-01-08 22:08:12 -05:00
Summary of the changes: * define the `exports` field in `package.json`; `jQuery` & `$` are also exported as named exports in ESM builds now * declare `"type": "module"` globally except for the `build` folder * add the `--esm` option to `grunt custom`, generating jQuery as an ECMAScript module into the `dist-module` folder * expand `node_smoke_tests` to test the slim & ESM builds and their various combinations; also, test both jQuery loaded via a path to the file as well as from module specifiers that should be parsed via the `exports` feature * add details about ESM usage to the release package README * run `compare_size` on all built minified files; don't run it anymore on unminified files where they don't provide lots of value * remove the remove_map_comment task; SWC doesn't insert the `//# sourceMappingURL=` pragma by default so there's nothing to strip Fixes gh-4592 Closes gh-5255
103 lines
2.4 KiB
JSON
103 lines
2.4 KiB
JSON
{
|
|
"root": true,
|
|
|
|
"extends": "../.eslintrc-browser.json",
|
|
|
|
"parserOptions": {
|
|
"ecmaVersion": 2015,
|
|
"sourceType": "module"
|
|
},
|
|
|
|
"plugins": [ "import" ],
|
|
|
|
"rules": {
|
|
"import/extensions": [ "error", "always" ],
|
|
"import/no-cycle": "error",
|
|
"import/no-unused-modules": [ "error", {
|
|
"unusedExports": true,
|
|
|
|
// When run via WebStorm, the root path against which these paths
|
|
// are resolved is the path where this ESLint config file lies,
|
|
// i.e. `src`. When run via the command line, it's usually the root
|
|
// folder of the jQuery repository. This pattern intends to catch both.
|
|
// Note that we cannot specify two patterns here:
|
|
// [ "src/*.js", "*.js" ]
|
|
// as they're analyzed individually and the rule crashes if a pattern
|
|
// cannot be matched.
|
|
"ignoreExports": [ "{src/,}*.js" ]
|
|
} ],
|
|
"indent": [ "error", "tab", {
|
|
"outerIIFEBody": 0
|
|
} ]
|
|
},
|
|
|
|
"overrides": [
|
|
{
|
|
"files": "wrapper.js",
|
|
"parserOptions": {
|
|
"ecmaVersion": 5,
|
|
"sourceType": "script"
|
|
},
|
|
"rules": {
|
|
"no-unused-vars": "off",
|
|
"indent": [ "error", "tab", {
|
|
|
|
// Unlike other codes, "wrapper.js" is implemented in UMD.
|
|
// So it required a specific exception for jQuery's UMD
|
|
// Code Style. This makes that indentation check is not
|
|
// performed for 1 depth of outer FunctionExpressions
|
|
"ignoredNodes": [
|
|
"Program > ExpressionStatement > CallExpression > :last-child > *"
|
|
]
|
|
} ]
|
|
},
|
|
"globals": {
|
|
"jQuery": false,
|
|
"module": true
|
|
}
|
|
},
|
|
|
|
{
|
|
"files": "wrapper-esm.js",
|
|
"parserOptions": {
|
|
"ecmaVersion": 2015,
|
|
"sourceType": "module"
|
|
},
|
|
"globals": {
|
|
"jQuery": false
|
|
},
|
|
"rules": {
|
|
"no-unused-vars": "off",
|
|
"indent": [ "error", "tab", {
|
|
// Unlike other codes, "wrapper.js" is implemented in UMD.
|
|
// So it required a specific exception for jQuery's UMD
|
|
// Code Style. This makes that indentation check is not
|
|
// performed for 1 depth of outer FunctionExpressions
|
|
"ignoredNodes": [
|
|
"Program > FunctionDeclaration > *"
|
|
]
|
|
} ],
|
|
"import/no-unused-modules": "off"
|
|
}
|
|
},
|
|
|
|
{
|
|
"files": "exports/amd.js",
|
|
"globals": {
|
|
"define": false
|
|
}
|
|
},
|
|
|
|
{
|
|
"files": "core.js",
|
|
"globals": {
|
|
|
|
// Defining Symbol globally would create a danger of using
|
|
// it unguarded in another place, it seems safer to define
|
|
// it only for this module.
|
|
"Symbol": false
|
|
}
|
|
}
|
|
]
|
|
}
|