aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorMichał Gołębiowski-Owczarek <m.goleb@gmail.com>2023-07-10 19:14:08 +0200
committerGitHub <noreply@github.com>2023-07-10 19:14:08 +0200
commit8be4c0e4f89d6c8f780e5937a0534921d8c7815e (patch)
tree55d87bcc040dfea54ec5c77ba86d942aa9526916 /README.md
parent65b85031fb5688361c077bc04e641e4b502671e1 (diff)
downloadjquery-8be4c0e4f89d6c8f780e5937a0534921d8c7815e.tar.gz
jquery-8be4c0e4f89d6c8f780e5937a0534921d8c7815e.zip
Build: Add `exports` to package.json, export slim & esm builds
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
Diffstat (limited to 'README.md')
-rw-r--r--README.md26
1 files changed, 25 insertions, 1 deletions
diff --git a/README.md b/README.md
index cab646fcd..8d9ff0a93 100644
--- a/README.md
+++ b/README.md
@@ -111,7 +111,7 @@ The build process shows a message for each dependent module it excludes or inclu
##### AMD name
-As an option, you can set the module name for jQuery's AMD definition. By default, it is set to "jquery", which plays nicely with plugins and third-party libraries, but there may be cases where you'd like to change this. Simply set the `"amd"` option:
+As an option, you can set the module name for jQuery's AMD definition. By default, it is set to "jquery", which plays nicely with plugins and third-party libraries, but there may be cases where you'd like to change this. Simply pass it to the `--amd` parameter:
```bash
grunt custom --amd="custom-name"
@@ -123,6 +123,30 @@ Or, to define anonymously, set the name to an empty string.
grunt custom --amd=""
```
+##### File name
+
+The default name for the built jQuery file is `jquery.js`; it is placed under the `dist/` directory. It's possible to change the file name using the `--filename` parameter:
+
+```bash
+grunt custom:slim --filename="jquery.slim.js"
+```
+
+This would create a slim version of jQuery and place it under `dist/jquery.slim.js`. In fact, this is exactly the command we use to generate the slim jQuery during the release process.
+
+##### ECMAScript Module (ESM) mode
+
+By default, jQuery generates a regular script JavaScript file. You can also generate an ECMAScript module exporting `jQuery` as the default export using the `--esm` parameter:
+
+```bash
+grunt custom --esm
+```
+
+The default is `script` but you can also pass it explicitly via `--no-esm`:
+
+```bash
+grunt custom --no-esm
+```
+
#### Custom Build Examples
To create a custom build, first check out the version: