├── .gitignore ├── .travis.yml ├── README.md ├── package.json ├── polyfill.js ├── rollup.config.js ├── src ├── msg.js ├── vendor │ ├── acorn.js │ └── escodegen.browser.js ├── window │ ├── cluster.js │ ├── dom.js │ ├── eval.js │ ├── execute.js │ ├── index.js │ ├── module-tools.js │ ├── modules.js │ ├── registry.js │ ├── spawn.js │ └── utils.js └── worker │ ├── acorn.js │ ├── assignment-expression.js │ ├── call-expression.js │ ├── export-all-declaration.js │ ├── export-default-declaration.js │ ├── export-named-declaration.js │ ├── export-set.js │ ├── identifier.js │ ├── import-call-identifier.js │ ├── import-declaration.js │ ├── index.js │ ├── module-tools.js │ ├── property.js │ ├── source-maps.js │ ├── utils.js │ └── visitors.js ├── test ├── all.html ├── circular.html ├── errors.html ├── everything.html ├── export-syntax.html ├── import-dynamic.html ├── import-syntax.html ├── inline-everything.html ├── perf │ └── app │ │ ├── config.js │ │ ├── generate.js │ │ ├── package.json │ │ ├── polyfill.html │ │ ├── steal.html │ │ ├── steal.js │ │ └── systemjs.html ├── scope.html └── tests │ ├── circular │ ├── basics.js │ ├── src │ │ ├── a.js │ │ ├── b.js │ │ ├── one.js │ │ ├── three.js │ │ └── two.js │ └── threeway.js │ ├── errors │ ├── ref │ │ ├── bad.js │ │ └── index.js │ └── sloppy │ │ └── index.js │ ├── everything │ ├── bar.js │ ├── folder │ │ ├── thing.js │ │ └── yet-another.js │ ├── foo.js │ ├── index.html │ └── other.js │ ├── exports │ ├── default.js │ ├── from.js │ ├── let.js │ ├── object.js │ └── src │ │ ├── default-expr.js │ │ ├── default-fn.js │ │ ├── default-obj-alias.js │ │ ├── default-object.js │ │ ├── from-as.js │ │ ├── from-name.js │ │ ├── from-source.js │ │ ├── from-source2.js │ │ ├── from-star.js │ │ ├── let-equal.js │ │ ├── let-use-export.js │ │ ├── let-var.js │ │ └── object-as.js │ ├── import-fn │ ├── dynamic.js │ ├── multi-arg.js │ ├── spread.js │ └── src │ │ ├── bar.js │ │ ├── baz.js │ │ ├── foo.js │ │ └── qux.js │ ├── imports │ ├── default-and-member.js │ ├── default-and-star.js │ ├── default.js │ ├── member-alias.js │ ├── members.js │ ├── side-effect.js │ ├── src │ │ ├── default-and-member.js │ │ ├── default-and-star.js │ │ ├── default.js │ │ ├── members.js │ │ ├── side-effect.js │ │ └── star.js │ └── star.js │ └── scope │ ├── main.js │ ├── src │ └── foo.js │ └── var.js └── worker.js /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/.travis.yml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/README.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/package.json -------------------------------------------------------------------------------- /polyfill.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/polyfill.js -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/rollup.config.js -------------------------------------------------------------------------------- /src/msg.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/msg.js -------------------------------------------------------------------------------- /src/vendor/acorn.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/vendor/acorn.js -------------------------------------------------------------------------------- /src/vendor/escodegen.browser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/vendor/escodegen.browser.js -------------------------------------------------------------------------------- /src/window/cluster.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/window/cluster.js -------------------------------------------------------------------------------- /src/window/dom.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/window/dom.js -------------------------------------------------------------------------------- /src/window/eval.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/window/eval.js -------------------------------------------------------------------------------- /src/window/execute.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/window/execute.js -------------------------------------------------------------------------------- /src/window/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/window/index.js -------------------------------------------------------------------------------- /src/window/module-tools.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/window/module-tools.js -------------------------------------------------------------------------------- /src/window/modules.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/window/modules.js -------------------------------------------------------------------------------- /src/window/registry.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/window/registry.js -------------------------------------------------------------------------------- /src/window/spawn.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/window/spawn.js -------------------------------------------------------------------------------- /src/window/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/window/utils.js -------------------------------------------------------------------------------- /src/worker/acorn.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/acorn.js -------------------------------------------------------------------------------- /src/worker/assignment-expression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/assignment-expression.js -------------------------------------------------------------------------------- /src/worker/call-expression.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/call-expression.js -------------------------------------------------------------------------------- /src/worker/export-all-declaration.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/export-all-declaration.js -------------------------------------------------------------------------------- /src/worker/export-default-declaration.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/export-default-declaration.js -------------------------------------------------------------------------------- /src/worker/export-named-declaration.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/export-named-declaration.js -------------------------------------------------------------------------------- /src/worker/export-set.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/export-set.js -------------------------------------------------------------------------------- /src/worker/identifier.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/identifier.js -------------------------------------------------------------------------------- /src/worker/import-call-identifier.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/import-call-identifier.js -------------------------------------------------------------------------------- /src/worker/import-declaration.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/import-declaration.js -------------------------------------------------------------------------------- /src/worker/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/index.js -------------------------------------------------------------------------------- /src/worker/module-tools.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/module-tools.js -------------------------------------------------------------------------------- /src/worker/property.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/property.js -------------------------------------------------------------------------------- /src/worker/source-maps.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/source-maps.js -------------------------------------------------------------------------------- /src/worker/utils.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/utils.js -------------------------------------------------------------------------------- /src/worker/visitors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/src/worker/visitors.js -------------------------------------------------------------------------------- /test/all.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/all.html -------------------------------------------------------------------------------- /test/circular.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/circular.html -------------------------------------------------------------------------------- /test/errors.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/errors.html -------------------------------------------------------------------------------- /test/everything.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/everything.html -------------------------------------------------------------------------------- /test/export-syntax.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/export-syntax.html -------------------------------------------------------------------------------- /test/import-dynamic.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/import-dynamic.html -------------------------------------------------------------------------------- /test/import-syntax.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/import-syntax.html -------------------------------------------------------------------------------- /test/inline-everything.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/inline-everything.html -------------------------------------------------------------------------------- /test/perf/app/config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/perf/app/config.js -------------------------------------------------------------------------------- /test/perf/app/generate.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/perf/app/generate.js -------------------------------------------------------------------------------- /test/perf/app/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/perf/app/package.json -------------------------------------------------------------------------------- /test/perf/app/polyfill.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/perf/app/polyfill.html -------------------------------------------------------------------------------- /test/perf/app/steal.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/perf/app/steal.html -------------------------------------------------------------------------------- /test/perf/app/steal.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/perf/app/steal.js -------------------------------------------------------------------------------- /test/perf/app/systemjs.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/perf/app/systemjs.html -------------------------------------------------------------------------------- /test/scope.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/scope.html -------------------------------------------------------------------------------- /test/tests/circular/basics.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/circular/basics.js -------------------------------------------------------------------------------- /test/tests/circular/src/a.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/circular/src/a.js -------------------------------------------------------------------------------- /test/tests/circular/src/b.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/circular/src/b.js -------------------------------------------------------------------------------- /test/tests/circular/src/one.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/circular/src/one.js -------------------------------------------------------------------------------- /test/tests/circular/src/three.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/circular/src/three.js -------------------------------------------------------------------------------- /test/tests/circular/src/two.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/circular/src/two.js -------------------------------------------------------------------------------- /test/tests/circular/threeway.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/circular/threeway.js -------------------------------------------------------------------------------- /test/tests/errors/ref/bad.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/errors/ref/bad.js -------------------------------------------------------------------------------- /test/tests/errors/ref/index.js: -------------------------------------------------------------------------------- 1 | import './bad.js'; 2 | -------------------------------------------------------------------------------- /test/tests/errors/sloppy/index.js: -------------------------------------------------------------------------------- 1 | someGlobal = true; 2 | -------------------------------------------------------------------------------- /test/tests/everything/bar.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/everything/bar.js -------------------------------------------------------------------------------- /test/tests/everything/folder/thing.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/everything/folder/thing.js -------------------------------------------------------------------------------- /test/tests/everything/folder/yet-another.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/everything/folder/yet-another.js -------------------------------------------------------------------------------- /test/tests/everything/foo.js: -------------------------------------------------------------------------------- 1 | import { bar } from './other.js'; 2 | 3 | host.innerHTML = 'foo' + bar(); 4 | -------------------------------------------------------------------------------- /test/tests/everything/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/everything/index.html -------------------------------------------------------------------------------- /test/tests/everything/other.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/everything/other.js -------------------------------------------------------------------------------- /test/tests/exports/default.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/exports/default.js -------------------------------------------------------------------------------- /test/tests/exports/from.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/exports/from.js -------------------------------------------------------------------------------- /test/tests/exports/let.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/exports/let.js -------------------------------------------------------------------------------- /test/tests/exports/object.js: -------------------------------------------------------------------------------- 1 | import { b } from './src/object-as.js'; 2 | 3 | self.RESULT = { 4 | b: b 5 | }; 6 | -------------------------------------------------------------------------------- /test/tests/exports/src/default-expr.js: -------------------------------------------------------------------------------- 1 | export default 'b'; 2 | -------------------------------------------------------------------------------- /test/tests/exports/src/default-fn.js: -------------------------------------------------------------------------------- 1 | export default function(){ 2 | return 'a'; 3 | }; 4 | -------------------------------------------------------------------------------- /test/tests/exports/src/default-obj-alias.js: -------------------------------------------------------------------------------- 1 | const c = 'c'; 2 | 3 | export { c as default }; 4 | -------------------------------------------------------------------------------- /test/tests/exports/src/default-object.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/exports/src/default-object.js -------------------------------------------------------------------------------- /test/tests/exports/src/from-as.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/exports/src/from-as.js -------------------------------------------------------------------------------- /test/tests/exports/src/from-name.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/exports/src/from-name.js -------------------------------------------------------------------------------- /test/tests/exports/src/from-source.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/exports/src/from-source.js -------------------------------------------------------------------------------- /test/tests/exports/src/from-source2.js: -------------------------------------------------------------------------------- 1 | export let a = 'a'; 2 | -------------------------------------------------------------------------------- /test/tests/exports/src/from-star.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/exports/src/from-star.js -------------------------------------------------------------------------------- /test/tests/exports/src/let-equal.js: -------------------------------------------------------------------------------- 1 | export let a = 'a'; 2 | -------------------------------------------------------------------------------- /test/tests/exports/src/let-use-export.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/exports/src/let-use-export.js -------------------------------------------------------------------------------- /test/tests/exports/src/let-var.js: -------------------------------------------------------------------------------- 1 | export let b; 2 | 3 | b = 'b'; 4 | -------------------------------------------------------------------------------- /test/tests/exports/src/object-as.js: -------------------------------------------------------------------------------- 1 | let a = 'a'; 2 | 3 | export { a as b }; 4 | -------------------------------------------------------------------------------- /test/tests/import-fn/dynamic.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/import-fn/dynamic.js -------------------------------------------------------------------------------- /test/tests/import-fn/multi-arg.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/import-fn/multi-arg.js -------------------------------------------------------------------------------- /test/tests/import-fn/spread.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/import-fn/spread.js -------------------------------------------------------------------------------- /test/tests/import-fn/src/bar.js: -------------------------------------------------------------------------------- 1 | export default 'bar'; 2 | -------------------------------------------------------------------------------- /test/tests/import-fn/src/baz.js: -------------------------------------------------------------------------------- 1 | export default 'baz'; 2 | -------------------------------------------------------------------------------- /test/tests/import-fn/src/foo.js: -------------------------------------------------------------------------------- 1 | export default 'foo'; 2 | -------------------------------------------------------------------------------- /test/tests/import-fn/src/qux.js: -------------------------------------------------------------------------------- 1 | export default 'qux'; 2 | -------------------------------------------------------------------------------- /test/tests/imports/default-and-member.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/imports/default-and-member.js -------------------------------------------------------------------------------- /test/tests/imports/default-and-star.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/imports/default-and-star.js -------------------------------------------------------------------------------- /test/tests/imports/default.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/imports/default.js -------------------------------------------------------------------------------- /test/tests/imports/member-alias.js: -------------------------------------------------------------------------------- 1 | import {a as b} from './src/members.js'; 2 | 3 | self.RESULT = { 4 | a: b 5 | }; 6 | -------------------------------------------------------------------------------- /test/tests/imports/members.js: -------------------------------------------------------------------------------- 1 | import {a, b} from './src/members.js'; 2 | 3 | self.RESULT = { 4 | a: a, 5 | b: b 6 | }; 7 | -------------------------------------------------------------------------------- /test/tests/imports/side-effect.js: -------------------------------------------------------------------------------- 1 | import './src/side-effect.js'; 2 | -------------------------------------------------------------------------------- /test/tests/imports/src/default-and-member.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/imports/src/default-and-member.js -------------------------------------------------------------------------------- /test/tests/imports/src/default-and-star.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/imports/src/default-and-star.js -------------------------------------------------------------------------------- /test/tests/imports/src/default.js: -------------------------------------------------------------------------------- 1 | export default function(){ 2 | return 'bar'; 3 | }; 4 | -------------------------------------------------------------------------------- /test/tests/imports/src/members.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/imports/src/members.js -------------------------------------------------------------------------------- /test/tests/imports/src/side-effect.js: -------------------------------------------------------------------------------- 1 | self.RESULT = 'it worked'; 2 | -------------------------------------------------------------------------------- /test/tests/imports/src/star.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/imports/src/star.js -------------------------------------------------------------------------------- /test/tests/imports/star.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/imports/star.js -------------------------------------------------------------------------------- /test/tests/scope/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/scope/main.js -------------------------------------------------------------------------------- /test/tests/scope/src/foo.js: -------------------------------------------------------------------------------- 1 | export function foo(){ 2 | return 'foo'; 3 | }; 4 | -------------------------------------------------------------------------------- /test/tests/scope/var.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/test/tests/scope/var.js -------------------------------------------------------------------------------- /worker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/matthewp/script-type-module/HEAD/worker.js --------------------------------------------------------------------------------