{"bugs":{"url":"https://github.com/systemjs/systemjs/issues"},"dist":{"shasum":"227fca52eeff58d44e6096b729e9528a796dd633","tarball":"https://registry.npmjs.org/systemjs/-/systemjs-2.0.0-alpha.1.tgz","fileCount":18,"integrity":"sha512-pWC4zF/vT4crtPsOSOT/IQ0LOKLnXQGQwIcieRUe8gseGPEcvPY81gnt88Ql0TZXKE+sIy4mPVLtJPl68nDmFQ==","signatures":[{"sig":"MEYCIQC/30eeMTW8HALUrT/wPJdeJ5m3Spixm2feEv9Uol2D3gIhALX/atJeX7sCTusUbNxIVM4mlfJdCWecHbD/BQLB8O8/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83884,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbiWPOCRA9TVsSAnZWagAAmeYP/3KH4Fpps9NdmTyf+YCA\nQt32M9iivWjLI1UHdy4mLMxadG8tOfYeL3JdafNdO+tZPpAqczvfrit36yVE\nhUyT0Bh5IapMEhyf15pmeSrHrzeonvB3IdnsBiLDPKCH6W1myaMTqPEIQUMZ\nwYYOUcizAcCiT3EJwZMQOgoEcLze0Vo/Lbn8xSXinrd9O/IKzfdKBc52oxg1\newjg4phN8OhG2kwAFYT6ppw0fAM4eOmbEGUxVrISD6kFwczuRlwLIxVhsVsN\nUOe/8dvMwlJDV8qS827K5sItPgYk2rQivNSWIcdVNPMfcxuNklIP5uScnhBf\nhzAw7IeK7xUcAhCwxS+o5cEvyIlA99oSbnZIjKfy+D1FsXqIo5c4GUSFFOaJ\nXDn9nWzJRmn57Yo5REMGphr7rVI4dgdRVw24Yl+vRx2lHKRREJ/kqdvtI3MR\nrpzo5UkupWNa/2SGDmohnb7zkIDioQ5uifIPdJkYQCp77uI8uBn8no/ScKmF\niwJQqGGBivQ/Sd8Ki8ihHGwKr7AcTFvute0z7qXwmX2UYrWmwgg3NbfOt62M\ntAX+Z0ha3xbX0VZfI1fiWB0bnoMd9BeZqrx0aarw6Z+LHI8KxLYmLLeuywVK\nEq0DEN/CuCaqDQBLhno6k3hrZsTOVE9ezPKemTxYCGYw9eoKdbenmbwgUPof\nPGjN\r\n=hJTw\r\n-----END PGP SIGNATURE-----\r\n"},"name":"systemjs","author":{"name":"Guy Bedford"},"readme":"# SystemJS 2.0\r\n\r\n[![Build Status][travis-image]][travis-url]\r\n[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/systemjs/systemjs?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\r\n[![Sponsor](https://cdn.canopytax.com/images/canopy-sponsorship.svg)](https://canopytax.github.io/post/systemjs-sponsorship/?utm_source=systemjs)\r\n\r\nConfigurable module loader enabling backwards compatibility workflows for ES modules in browsers.\r\n\r\n[Read the SystemJS 2.0 announcement post](https://guybedford.com/systemjs-2.0-alpha)\r\n\r\n_[For the previous release see the SystemJS 0.21.x branch](https://github.com/systemjs/systemjs/tree/0.21)_\r\n\r\n_SystemJS is [currently sponsored by Canopy Tax](https://canopytax.github.io/post/systemjs-sponsorship/?utm_source=systemjs)._\r\n\r\nSystemJS 2.0 provides two hookable base builds:\r\n\r\n#### 1. s.js minimal loader\r\n\r\nThe 1.5KB [s.js](dist/s.min.js) minimal loader supports:\r\n\r\n  * Loads [System.register](docs/system-register.md) modules [supporting all ES module semantics](docs/system-register.md#semantics)\r\n  * Loads and resolves URLs only, excluding support for [bare specifier names](docs/package-name-maps.md#bare-specifiers) (eg `/lodash.js` but not `lodash`)\r\n  * Hookable loader supporting [custom extensions](docs/hooks.md)\r\n  * Works in IE11+ when [Promises are polyfilled](#promise-polyfill)\r\n  * Ideal for use in [Rollup code-splitting builds](https://rollupjs.org/guide/en#experimental-code-splitting)\r\n\r\n#### 2. system.js loader\r\n\r\nThe 2.5KB [system.js](dist/system.min.js) loader supports:\r\n\r\n  * [Tracing hooks](docs/hooks.md#trace-hooks) and [registry deletion API](docs/api.md#registry) for reloading workflows\r\n  * Supports loading global scripts as modules, as well as [Sytem.register](docs/system-regsiter.md) modules\r\n  * Supports [package name maps](docs/package-name-maps.md) for resolving [bare specifier names](docs/package-name-maps.md#bare-specifiers), loaded via `<script type=\"systemjs-packagenamemap\">`\r\n  * Supports loading WASM based on the `.wasm` file extension\r\n  * Works in IE11+ when [Fetch (for WASM) and Promises are polyfilled](#promise-polyfill)\r\n\r\n#### Extras\r\n\r\nThe following [pluggable extras](dist/extras) are provided:\r\n\r\n* [AMD loading](dist/extras/amd.js) support (through `Window.define` which is created)\r\n* [Named exports](dist/extras/named-exports.js) convenience extension support for global and AMD module formats (`import { x } from './global.js'` instead of `import G from './global.js'; G.x`)\r\n* [Transform loader](dist/extras/transform.js) support, using fetch and eval, supporting a hookable `loader.transform`\r\n\r\nSince all loader features are hookable, custom extensions can be easily made following the same approach as the bundled extras. See the [hooks documentation](docs/hooks.md) for more information.\r\n\r\nFor discussion, join the [Gitter Room](https://gitter.im/systemjs/systemjs).\r\n\r\n## Installation\r\n\r\n```\r\nnpm install systemjs@alpha\r\n```\r\n\r\n## Documentation\r\n\r\n* [Package Name Maps](docs/package-name-maps.md)\r\n* [API](docs/api.md)\r\n* [System.register](docs/system-register.md)\r\n* [Loader Hooks](docs/hooks.md)\r\n\r\n## Example Usage\r\n\r\n### Loading a System.register module\r\n\r\n```html\r\n<script src=\"system.js\"></script>\r\n<script>\r\n  System.import('/js/main.js');\r\n</script>\r\n```\r\n\r\nwhere `main.js` is a module available in the System.register module format.\r\n\r\n### Package Name Maps\r\n\r\nSay `main.js` depends on loading `'lodash'`, then we can define a package name map:\r\n\r\n```html\r\n\r\n<script type=\"systemjs-packagemap\">\r\n{\r\n  \"packages\": {\r\n    \"lodash\": \"https://unpkg.com/lodash@4.17.10/lodash.js\"\r\n  }\r\n}\r\n</script>\r\n<!-- Alternatively:\r\n<script type=\"systemjs-packagemap\" src=\"path/to/map.json\">\r\n-->\r\n<!-- SystemJS must be loaded after the package map -->\r\n<script src=\"system.js\"></script>\r\n<script>\r\n  System.import('/js/main.js');\r\n</script>\r\n```\r\n\r\n### Browser transpilation\r\n\r\nTo load ES modules directly in older browsers with SystemJS we can install and use the Babel plugin:\r\n\r\n```html\r\n<script src=\"system.js\"></script>\r\n<script src=\"extras/transform.js\"></script>\r\n<script src=\"plugin-babel/dist/babel-transform.js\"></script>\r\n<script>\r\n  // main and all its dependencies will now run through transform before loading\r\n  System.import('/js/main.js');\r\n</script>\r\n```\r\n\r\n### Polyfills for Older Browsers\r\n\r\n#### Promises\r\n\r\nBoth builds of SystemJS need Promises in the environment to work, which aren't supported in older browsers like IE11.\r\n\r\nPromises can be conditionally polyfilled using, for example, [Bluebird](http://bluebirdjs.com/docs/getting-started.html) (generally the fastest Promise polyfill):\r\n\r\n```html\r\n<script>\r\n  if (typeof Promise === 'undefined')\r\n    document.write('<script src=\"node_modules/bluebird/js/browser/bluebird.core.js\"><\\/script>');\r\n</script>\r\n```\r\n\r\n> Generally `document.write` is not recommended when writing web applications, but for this use case\r\n  it works really well and will only apply in older browsers anyway.\r\n\r\n#### Fetch\r\n\r\nTo support package maps in the system.js build, a fetch polyfill is need. The [GitHub polyfill](https://github.github.io/fetch/) is recommended:\r\n\r\n```html\r\n<script>\r\n  if (typeof fetch === 'undefined')\r\n    document.write('<script src=\"node_modules/whatwg-fetch/fetch.js\"><\\/script>');\r\n</script>\r\n```\r\n\r\n### Loader Extensions\r\n\r\nThis list can be extended to include third-party loader extensions. Feel free to [post a PR to share your work](https://github.com/systemjs/systemjs/edit/2.0/README.md).\r\n\r\n* [transform-babel](https://github.com/systemjs/systemjs-transform-babel) Supports ES module transformation into System.register with Babel.\r\n\r\n### Contributing to SystemJS\r\n\r\nProject bug fixes and changes are welcome for discussion, provided the project footprint remains minimal.\r\n\r\nTo run the tests:\r\n\r\n```\r\nnpm run build && npm run test\r\n```\r\n\r\n## License\r\n\r\nMIT\r\n\r\n[travis-url]: https://travis-ci.org/systemjs/systemjs\r\n[travis-image]: https://travis-ci.org/systemjs/systemjs.svg?branch=master\r\n","gitHead":"5fb91ef9e2bd8eef332be9c8567ccafa909c279c","license":"MIT","scripts":{"min":"npm run min:systemjs && npm run min:sjs","test":"mocha -b -r esm","build":"npm run build:systemjs && npm run build:sjs && npm run min && npm run build:extras","min:sjs":"cd dist && terser s.js -c passes=2 -m --source-map --comments \"/SJS \\d/\" -o s.min.js","test:sjs":"mocha test/test-production.js -u tdd --reporter dot","build:sjs":"rollup -c --environment sjs","footprint":"npm run footprint:systemjs && npm run footprint:sjs","prepublish":"npm run build","build:extras":"bash minify-extras.sh","min:systemjs":"cd dist && terser system.js -c passes=2 -m --source-map --comments \"/SystemJS \\d/\" -o system.min.js","test:rebuild":"babel test/fixtures/es-modules --plugins=@babel/plugin-syntax-import-meta,@babel/plugin-transform-modules-systemjs --out-dir test/fixtures/register-modules","footprint:sjs":"terser dist/s.js -c passes=2 -m | gzip -9f | wc -c","test:systemjs":"mocha test/test-traceur.js -u tdd --reporter dot","build:systemjs":"rollup -c","footprint:systemjs":"terser dist/system.js -c passes=2 -m | gzip -9f | wc -c"},"_npmUser":{"name":"guybedford","email":"guybedford@gmail.com"},"homepage":"https://github.com/systemjs/systemjs#readme","repository":{"url":"git://github.com/systemjs/systemjs.git","type":"git"},"_npmVersion":"5.6.0","description":"Dynamic ES module loader","directories":{},"maintainers":[{"name":"guybedford","email":"guybedford@gmail.com"}],"_nodeVersion":"8.11.4","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"esm":"^3.0.77","mocha":"^5.2.0","rollup":"^0.64.1","terser":"^3.8.1","bluebird":"^3.5.1","@babel/cli":"^7.0.0-rc.1","@babel/core":"^7.0.0-rc.1","whatwg-fetch":"^2.0.4","rollup-plugin-replace":"^2.0.0","@babel/plugin-syntax-import-meta":"^7.0.0-rc.1","@babel/plugin-transform-modules-systemjs":"^7.0.0-rc.1"},"_npmOperationalInternal":{"tmp":"tmp/systemjs_2.0.0-alpha.1_1535730637300_0.38303676952826216","host":"s3://npm-registry-packages"},"_id":"systemjs@2.0.0-alpha.1","version":"2.0.0-alpha.1"}