@embroider/core 0.44.0-alpha.2 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/package.json +5 -6
  2. package/src/app-differ.js +20 -20
  3. package/src/app-differ.js.map +1 -1
  4. package/src/app-files.js.map +1 -1
  5. package/src/app.js +81 -109
  6. package/src/app.js.map +1 -1
  7. package/src/asset.js.map +1 -1
  8. package/src/babel-import-adder.d.ts +11 -0
  9. package/src/babel-import-adder.js +75 -0
  10. package/src/babel-import-adder.js.map +1 -0
  11. package/src/babel-plugin-adjust-imports.d.ts +5 -6
  12. package/src/babel-plugin-adjust-imports.js +25 -24
  13. package/src/babel-plugin-adjust-imports.js.map +1 -1
  14. package/src/babel-plugin-inline-hbs-node.d.ts +9 -3
  15. package/src/babel-plugin-inline-hbs-node.js +1 -1
  16. package/src/babel-plugin-inline-hbs-node.js.map +1 -1
  17. package/src/babel-plugin-inline-hbs.d.ts +9 -7
  18. package/src/babel-plugin-inline-hbs.js +77 -39
  19. package/src/babel-plugin-inline-hbs.js.map +1 -1
  20. package/src/browser-index.js.map +1 -1
  21. package/src/build-stage.js +2 -2
  22. package/src/build-stage.js.map +1 -1
  23. package/src/describe-exports.js +6 -6
  24. package/src/describe-exports.js.map +1 -1
  25. package/src/ember-html.js +1 -1
  26. package/src/ember-html.js.map +1 -1
  27. package/src/ember-template-compiler-types.js.map +1 -1
  28. package/src/engine-mangler.js.map +1 -1
  29. package/src/html-entrypoint.js +6 -6
  30. package/src/html-entrypoint.js.map +1 -1
  31. package/src/html-placeholder.js.map +1 -1
  32. package/src/index.js.map +1 -1
  33. package/src/js-handlebars.d.ts +2 -2
  34. package/src/js-handlebars.js +5 -5
  35. package/src/js-handlebars.js.map +1 -1
  36. package/src/load-ember-template-compiler.js +6 -6
  37. package/src/load-ember-template-compiler.js.map +1 -1
  38. package/src/measure-concat.js +2 -2
  39. package/src/measure-concat.js.map +1 -1
  40. package/src/messages.js +6 -6
  41. package/src/messages.js.map +1 -1
  42. package/src/mini-modules-polyfill.d.ts +1 -1
  43. package/src/mini-modules-polyfill.js.map +1 -1
  44. package/src/multi-tree-diff.js +1 -1
  45. package/src/multi-tree-diff.js.map +1 -1
  46. package/src/options.js.map +1 -1
  47. package/src/packager.js +2 -2
  48. package/src/packager.js.map +1 -1
  49. package/src/patch-template-compiler.js +6 -5
  50. package/src/patch-template-compiler.js.map +1 -1
  51. package/src/portable-babel-config.js +1 -1
  52. package/src/portable-babel-config.js.map +1 -1
  53. package/src/portable-babel-launcher.js.map +1 -1
  54. package/src/portable.js +4 -4
  55. package/src/portable.js.map +1 -1
  56. package/src/rename-require-plugin.js.map +1 -1
  57. package/src/resolver.js.map +1 -1
  58. package/src/stage.js.map +1 -1
  59. package/src/template-colocation-plugin.d.ts +8 -9
  60. package/src/template-colocation-plugin.js +11 -5
  61. package/src/template-colocation-plugin.js.map +1 -1
  62. package/src/template-compiler-common.d.ts +1 -3
  63. package/src/template-compiler-common.js +16 -12
  64. package/src/template-compiler-common.js.map +1 -1
  65. package/src/template-compiler-node.js +10 -10
  66. package/src/template-compiler-node.js.map +1 -1
  67. package/src/to-broccoli-plugin.js.map +1 -1
  68. package/src/wait-for-trees.js.map +1 -1
  69. package/src/write-template-compiler.js +2 -2
  70. package/src/write-template-compiler.js.map +1 -1
  71. package/src/babel-plugin-inline-hbs-deps-node.d.ts +0 -14
  72. package/src/babel-plugin-inline-hbs-deps-node.js +0 -27
  73. package/src/babel-plugin-inline-hbs-deps-node.js.map +0 -1
  74. package/src/babel-plugin-inline-hbs-deps.d.ts +0 -10
  75. package/src/babel-plugin-inline-hbs-deps.js +0 -118
  76. package/src/babel-plugin-inline-hbs-deps.js.map +0 -1
  77. package/src/babel-plugin-stage1-inline-hbs-node.d.ts +0 -12
  78. package/src/babel-plugin-stage1-inline-hbs-node.js +0 -9
  79. package/src/babel-plugin-stage1-inline-hbs-node.js.map +0 -1
  80. package/src/babel-plugin-stage1-inline-hbs.d.ts +0 -9
  81. package/src/babel-plugin-stage1-inline-hbs.js +0 -96
  82. package/src/babel-plugin-stage1-inline-hbs.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"html-entrypoint.js","sourceRoot":"","sources":["html-entrypoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html-entrypoint.js","sourceRoot":"","sources":["html-entrypoint.ts"],"names":[],"mappings":"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","sourcesContent":["import { getOrCreate } from '@embroider/shared-internals';\nimport { readFileSync } from 'fs-extra';\nimport { join } from 'path';\nimport { JSDOM } from 'jsdom';\nimport partition from 'lodash/partition';\nimport zip from 'lodash/zip';\nimport Placeholder from './html-placeholder';\nimport { Variant } from './packager';\n\nexport class HTMLEntrypoint {\n private dom: JSDOM;\n private placeholders: Map<string, Placeholder[]> = new Map();\n modules: string[] = [];\n scripts: string[] = [];\n styles: string[] = [];\n\n constructor(\n private pathToVanillaApp: string,\n private rootURL: string,\n private publicAssetURL: string,\n public filename: string\n ) {\n this.dom = new JSDOM(readFileSync(join(this.pathToVanillaApp, this.filename), 'utf8'));\n\n for (let tag of this.handledStyles()) {\n let styleTag = tag as HTMLLinkElement;\n let href = styleTag.href;\n if (!isAbsoluteURL(href)) {\n let url = this.relativeToApp(href);\n this.styles.push(url);\n let placeholder = new Placeholder(styleTag);\n let list = getOrCreate(this.placeholders, url, () => []);\n list.push(placeholder);\n }\n }\n\n for (let scriptTag of this.handledScripts()) {\n // scriptTag.src include rootURL. Convert it to be relative to the app.\n let src = this.relativeToApp(scriptTag.src);\n\n if (scriptTag.type === 'module') {\n this.modules.push(src);\n } else {\n this.scripts.push(src);\n }\n\n let placeholder = new Placeholder(scriptTag);\n let list = getOrCreate(this.placeholders, src, () => []);\n list.push(placeholder);\n }\n }\n\n private relativeToApp(rootRelativeURL: string) {\n return rootRelativeURL.replace(this.rootURL, '');\n }\n\n private handledScripts() {\n let scriptTags = [...this.dom.window.document.querySelectorAll('script')] as HTMLScriptElement[];\n let [ignoredScriptTags, handledScriptTags] = partition(scriptTags, scriptTag => {\n return !scriptTag.src || scriptTag.hasAttribute('data-embroider-ignore') || isAbsoluteURL(scriptTag.src);\n });\n for (let scriptTag of ignoredScriptTags) {\n scriptTag.removeAttribute('data-embroider-ignore');\n }\n return handledScriptTags;\n }\n\n private handledStyles() {\n let styleTags = [...this.dom.window.document.querySelectorAll('link[rel=\"stylesheet\"]')] as HTMLLinkElement[];\n let [ignoredStyleTags, handledStyleTags] = partition(styleTags, styleTag => {\n return !styleTag.href || styleTag.hasAttribute('data-embroider-ignore') || isAbsoluteURL(styleTag.href);\n });\n for (let styleTag of ignoredStyleTags) {\n styleTag.removeAttribute('data-embroider-ignore');\n }\n return handledStyleTags;\n }\n\n // bundles maps from input asset to a per-variant map of output assets\n render(stats: BundleSummary): string {\n let insertedLazy = false;\n let fastbootVariant = stats.variants.findIndex(v => Boolean(v.runtime === 'fastboot'));\n let supportsFastboot = stats.variants.some(v => v.runtime === 'fastboot' || v.runtime === 'all');\n\n for (let [src, placeholders] of this.placeholders) {\n let match = stats.entrypoints.get(src);\n if (match) {\n let firstVariant = stats.variants.findIndex((_, index) => Boolean(match!.get(index)));\n let matchingBundles = match.get(firstVariant)!;\n let matchingFastbootBundles = fastbootVariant >= 0 ? match.get(fastbootVariant) || [] : [];\n\n for (let placeholder of placeholders) {\n if (supportsFastboot) {\n // if there is any fastboot involved, we will emit the lazy bundles\n // right before our first script.\n insertedLazy = maybeInsertLazyBundles(insertedLazy, stats.lazyBundles, placeholder, this.publicAssetURL);\n }\n for (let [base, fastboot] of zip(matchingBundles, matchingFastbootBundles)) {\n if (!base) {\n // this bundle only exists in the fastboot variant\n let element = placeholder.start.ownerDocument.createElement('fastboot-script');\n element.setAttribute('src', this.publicAssetURL + fastboot);\n placeholder.insert(element);\n placeholder.insertNewline();\n } else if (!fastboot || base === fastboot) {\n // no specialized fastboot variant\n let src = this.publicAssetURL + base;\n placeholder.insertURL(src);\n } else {\n // we have both and they differ\n let src = this.publicAssetURL + base;\n let element = placeholder.insertURL(src);\n if (element) {\n element.setAttribute('data-fastboot-src', this.publicAssetURL + fastboot);\n }\n }\n }\n }\n } else {\n // no match means keep the original HTML content for this placeholder.\n // (If we really wanted it empty instead, there would be matchingBundles\n // and it would be an empty list.)\n for (let placeholder of placeholders) {\n placeholder.reset();\n }\n }\n }\n return this.dom.serialize();\n }\n}\n\nexport interface BundleSummary {\n // entrypoints.get(inputAsset).get(variantIndex) === outputAssets\n entrypoints: Map<string, Map<number, string[]>>;\n\n // lazyBundles are tracked specifically for fastboot, so these always come\n // from the fastboot variant, if any\n lazyBundles: Set<string>;\n\n variants: Variant[];\n}\n\nfunction isAbsoluteURL(url: string) {\n return /^(?:[a-z]+:)?\\/\\//i.test(url);\n}\n\n// we (somewhat arbitrarily) decide to put the lazy bundles before the very\n// first <script> that we have rewritten\nfunction maybeInsertLazyBundles(\n insertedLazy: boolean,\n lazyBundles: Set<string>,\n placeholder: Placeholder,\n publicAssetURL: string\n): boolean {\n if (!insertedLazy && placeholder.isScript()) {\n for (let bundle of lazyBundles) {\n let element = placeholder.start.ownerDocument.createElement('fastboot-script');\n element.setAttribute('src', publicAssetURL + bundle);\n placeholder.insert(element);\n placeholder.insertNewline();\n }\n return true;\n }\n return insertedLazy;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"html-placeholder.js","sourceRoot":"","sources":["html-placeholder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"html-placeholder.js","sourceRoot":"","sources":["html-placeholder.ts"],"names":[],"mappings":"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","sourcesContent":["export default class Placeholder {\n end: InDOMNode;\n start: StartNode;\n\n // remove the target Element from the DOM, and track where it was so we can\n // update that location later.\n constructor(private target: HTMLElement) {\n if (!target.ownerDocument || !target.parentElement) {\n throw new Error('can only construct a placeholder for an element that is in DOM');\n }\n let start = target.ownerDocument.createTextNode('');\n target.parentElement.insertBefore(start, target);\n let endNode = target.ownerDocument.createTextNode('');\n target.replaceWith(endNode);\n\n // Type cast is justified because start always has a nextSibling (it's\n // \"end\") and because we know we already inserted the node.\n this.start = start as StartNode;\n\n // Type cast is justified because we know we already inserted the node.\n this.end = endNode as InDOMNode;\n }\n\n reset() {\n this.clear();\n this.insert(this.target);\n }\n\n clear() {\n while (this.start.nextSibling !== this.end) {\n this.start.parentElement.removeChild(this.start.nextSibling);\n }\n }\n\n insert(node: Node) {\n this.end.parentElement.insertBefore(node, this.end);\n }\n\n isScript(): boolean {\n return this.target.tagName === 'SCRIPT';\n }\n\n insertURL(url: string) {\n if (url.endsWith('.js')) {\n return this.insertScriptTag(url);\n }\n if (url.endsWith('.css')) {\n return this.insertStyleLink(url);\n }\n throw new Error(`don't know how to insertURL ${url}`);\n }\n\n insertScriptTag(src: string) {\n let newTag = this.end.ownerDocument.createElement('script');\n for (let { name, value } of [...this.target.attributes]) {\n if (name === 'type' && value === 'module') {\n // we always convert modules to scripts\n continue;\n }\n // all other attributes are copied forward unchanged\n newTag.setAttribute(name, value);\n }\n newTag.src = src;\n this.insert(newTag);\n this.insertNewline();\n return newTag;\n }\n\n insertStyleLink(href: string) {\n let newTag = this.end.ownerDocument.createElement('link');\n newTag.href = href;\n newTag.rel = 'stylesheet';\n this.insert(newTag);\n this.insertNewline();\n }\n\n insertNewline() {\n this.end.parentElement.insertBefore(this.end.ownerDocument.createTextNode('\\n'), this.end);\n }\n}\n\n// an html node that's definitely inserted into the DOM\ninterface InDOMNode extends Node {\n parentElement: HTMLElement;\n ownerDocument: Document;\n}\n\n// an html node that definitely has a next sibling.\ninterface StartNode extends InDOMNode {\n nextSibling: InDOMNode & ChildNode;\n}\n"]}
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAQoB;AAJlB,qHAAA,yBAAyB,OAAA;AACzB,0HAAA,8BAA8B,OAAA;AAC9B,sGAAA,UAAU,OAAA;AACV,+GAAA,mBAAmB,OAAA;AAErB,qDAAkE;AAAzD,iHAAA,cAAc,OAAA;AAGvB,mEAA4F;AAAnF,8HAAA,oBAAoB,OAAA;AAC7B,uEAAsF;AAA7E,4HAAA,gBAAgB,OAAA;AACzB,qEAAmE;AAA1D,iIAAA,sBAAsB,OAAA;AAG/B,qCAAoE;AAAvC,8GAAA,mBAAmB,OAAA;AAChD,2DAAmE;AAA1D,uIAAA,OAAO,OAAoB;AACpC,mDAAwE;AAA/D,+HAAA,OAAO,OAAgB;AAChC,6CAAsD;AAA7C,0HAAA,OAAO,OAAc;AAC9B,iDAAiE;AAAxD,oHAAA,OAAO,OAAuB;AACvC,6BAAyD;AAApC,iGAAA,UAAU,OAAA;AAC/B,uCAA4F;AAAnF,gGAAA,IAAI,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,iGAAA,KAAK,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,2GAAA,eAAe,OAAA;AACvE,mDAAqD;AAA5C,mHAAA,iBAAiB,OAAA;AAE1B,8EAA8E;AAC9E,yDAAyD;AACzD,8DAA4C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAQoB;AAJlB,qHAAA,yBAAyB,OAAA;AACzB,0HAAA,8BAA8B,OAAA;AAC9B,sGAAA,UAAU,OAAA;AACV,+GAAA,mBAAmB,OAAA;AAErB,qDAAkE;AAAzD,iHAAA,cAAc,OAAA;AAGvB,mEAA4F;AAAnF,8HAAA,oBAAoB,OAAA;AAC7B,uEAAsF;AAA7E,4HAAA,gBAAgB,OAAA;AACzB,qEAAmE;AAA1D,iIAAA,sBAAsB,OAAA;AAG/B,qCAAoE;AAAvC,8GAAA,mBAAmB,OAAA;AAChD,2DAAmE;AAA1D,uIAAA,OAAO,OAAoB;AACpC,mDAAwE;AAA/D,+HAAA,OAAO,OAAgB;AAChC,6CAAsD;AAA7C,0HAAA,OAAO,OAAc;AAC9B,iDAAiE;AAAxD,oHAAA,OAAO,OAAuB;AACvC,6BAAyD;AAApC,iGAAA,UAAU,OAAA;AAC/B,uCAA4F;AAAnF,gGAAA,IAAI,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,gGAAA,IAAI,OAAA;AAAE,iGAAA,KAAK,OAAA;AAAE,yGAAA,aAAa,OAAA;AAAE,2GAAA,eAAe,OAAA;AACvE,mDAAqD;AAA5C,mHAAA,iBAAiB,OAAA;AAE1B,8EAA8E;AAC9E,yDAAyD;AACzD,8DAA4C","sourcesContent":["export {\n Packager,\n PackagerConstructor,\n Variant,\n applyVariantToBabelConfig,\n applyVariantToTemplateCompiler,\n getAppMeta,\n getPackagerCacheDir,\n} from './packager';\nexport { HTMLEntrypoint, BundleSummary } from './html-entrypoint';\nexport { Resolver } from './resolver';\nexport { default as Stage } from './stage';\nexport { NodeTemplateCompiler, NodeTemplateCompilerParams } from './template-compiler-node';\nexport { TemplateCompiler, TemplateCompilerParams } from './template-compiler-common';\nexport { templateCompilerModule } from './write-template-compiler';\nexport { Plugins as TemplateCompilerPlugins } from './ember-template-compiler-types';\nexport { Asset, EmberAsset, ImplicitAssetPaths } from './asset';\nexport { default as Options, optionsWithDefaults } from './options';\nexport { default as toBroccoliPlugin } from './to-broccoli-plugin';\nexport { default as WaitForTrees, OutputPaths } from './wait-for-trees';\nexport { default as BuildStage } from './build-stage';\nexport { compile as jsHandlebarsCompile } from './js-handlebars';\nexport { AppAdapter, AppBuilder, EmberENV } from './app';\nexport { todo, unsupported, warn, debug, expectWarning, throwOnWarnings } from './messages';\nexport { mangledEngineRoot } from './engine-mangler';\n\n// this is reexported because we already make users manage a peerDep from some\n// other packages (like embroider/webpack and @embroider/\nexport * from '@embroider/shared-internals';\n"]}
@@ -1,2 +1,2 @@
1
- import { compile } from 'handlebars';
2
- export { compile };
1
+ import handlebars from 'handlebars';
2
+ export declare const compile: typeof handlebars.compile;
@@ -5,14 +5,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.compile = void 0;
7
7
  // This is handlebars plus helpers specifically for generating Javascript.
8
- const handlebars_1 = require("handlebars");
9
- Object.defineProperty(exports, "compile", { enumerable: true, get: function () { return handlebars_1.compile; } });
8
+ const handlebars_1 = __importDefault(require("handlebars"));
10
9
  const js_string_escape_1 = __importDefault(require("js-string-escape"));
11
- handlebars_1.registerHelper('js-string-escape', js_string_escape_1.default);
12
- handlebars_1.registerHelper('json-stringify', function (input, indent) {
10
+ handlebars_1.default.registerHelper('js-string-escape', js_string_escape_1.default);
11
+ handlebars_1.default.registerHelper('json-stringify', function (input, indent) {
13
12
  return JSON.stringify(input, null, indent);
14
13
  });
15
- handlebars_1.registerHelper('eq', function (a, b) {
14
+ handlebars_1.default.registerHelper('eq', function (a, b) {
16
15
  return a === b;
17
16
  });
17
+ exports.compile = handlebars_1.default.compile;
18
18
  //# sourceMappingURL=js-handlebars.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"js-handlebars.js","sourceRoot":"","sources":["js-handlebars.ts"],"names":[],"mappings":";;;;;;AAAA,0EAA0E;AAC1E,2CAAqD;AAa5C,wFAbA,oBAAO,OAaA;AAZhB,wEAA8C;AAE9C,2BAAc,CAAC,kBAAkB,EAAE,0BAAc,CAAC,CAAC;AAEnD,2BAAc,CAAC,gBAAgB,EAAE,UAAU,KAAU,EAAE,MAAe;IACpE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,2BAAc,CAAC,IAAI,EAAE,UAAU,CAAM,EAAE,CAAM;IAC3C,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"js-handlebars.js","sourceRoot":"","sources":["js-handlebars.ts"],"names":[],"mappings":";;;;;;AAAA,0EAA0E;AAC1E,4DAAoC;AACpC,wEAA8C;AAE9C,oBAAU,CAAC,cAAc,CAAC,kBAAkB,EAAE,0BAAc,CAAC,CAAC;AAE9D,oBAAU,CAAC,cAAc,CAAC,gBAAgB,EAAE,UAAU,KAAU,EAAE,MAAe;IAC/E,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,oBAAU,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAM,EAAE,CAAM;IACtD,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC;AACU,QAAA,OAAO,GAAG,oBAAU,CAAC,OAAO,CAAC","sourcesContent":["// This is handlebars plus helpers specifically for generating Javascript.\nimport handlebars from 'handlebars';\nimport jsStringEscape from 'js-string-escape';\n\nhandlebars.registerHelper('js-string-escape', jsStringEscape);\n\nhandlebars.registerHelper('json-stringify', function (input: any, indent?: number) {\n return JSON.stringify(input, null, indent);\n});\n\nhandlebars.registerHelper('eq', function (a: any, b: any) {\n return a === b;\n});\nexport const compile = handlebars.compile;\n"]}
@@ -9,7 +9,7 @@ const CACHE = new Map();
9
9
  function getEmberExports(templateCompilerPath) {
10
10
  let entry = CACHE.get(templateCompilerPath);
11
11
  if (entry) {
12
- let currentStat = fs_1.statSync(templateCompilerPath);
12
+ let currentStat = (0, fs_1.statSync)(templateCompilerPath);
13
13
  // Let's ensure the template is still what we cached
14
14
  if (currentStat.mode === entry.stat.mode &&
15
15
  currentStat.size === entry.stat.size &&
@@ -17,11 +17,11 @@ function getEmberExports(templateCompilerPath) {
17
17
  return entry.value;
18
18
  }
19
19
  }
20
- let stat = fs_1.statSync(templateCompilerPath);
21
- let source = patch_template_compiler_1.patch(fs_1.readFileSync(templateCompilerPath, 'utf8'), templateCompilerPath);
20
+ let stat = (0, fs_1.statSync)(templateCompilerPath);
21
+ let source = (0, patch_template_compiler_1.patch)((0, fs_1.readFileSync)(templateCompilerPath, 'utf8'), templateCompilerPath);
22
22
  let theExports = undefined;
23
23
  // cacheKey, theExports
24
- let cacheKey = crypto_1.createHash('md5').update(source).digest('hex');
24
+ let cacheKey = (0, crypto_1.createHash)('md5').update(source).digest('hex');
25
25
  entry = Object.freeze({
26
26
  value: {
27
27
  cacheKey,
@@ -42,13 +42,13 @@ function getEmberExports(templateCompilerPath) {
42
42
  }
43
43
  // using vm.createContext / vm.Script to ensure we evaluate in a fresh sandbox context
44
44
  // so that any global mutation done within ember-template-compiler.js does not leak out
45
- let context = vm_1.createContext(sandbox);
45
+ let context = (0, vm_1.createContext)(sandbox);
46
46
  let script = new vm_1.Script(source, { filename: templateCompilerPath });
47
47
  script.runInContext(context);
48
48
  return (theExports = context.module.exports);
49
49
  },
50
50
  },
51
- stat,
51
+ stat, // This is stored, so we can reload the templateCompiler if it changes mid-build.
52
52
  });
53
53
  CACHE.set(templateCompilerPath, entry);
54
54
  return entry.value;
@@ -1 +1 @@
1
- {"version":3,"file":"load-ember-template-compiler.js","sourceRoot":"","sources":["load-ember-template-compiler.ts"],"names":[],"mappings":";;;AAAA,2BAAgD;AAChD,2BAA2C;AAC3C,mCAAoC;AACpC,uEAAkD;AAYlD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsC,CAAC;AAE5D,SAAgB,eAAe,CAAC,oBAA4B;IAC1D,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAE5C,IAAI,KAAK,EAAE;QACT,IAAI,WAAW,GAAG,aAAQ,CAAC,oBAAoB,CAAC,CAAC;QAEjD,oDAAoD;QACpD,IACE,WAAW,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI;YACpC,WAAW,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI;YACpC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAC1D;YACA,OAAO,KAAK,CAAC,KAAK,CAAC;SACpB;KACF;IAED,IAAI,IAAI,GAAG,aAAQ,CAAC,oBAAoB,CAAC,CAAC;IAE1C,IAAI,MAAM,GAAG,+BAAK,CAAC,iBAAY,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACrF,IAAI,UAAU,GAAQ,SAAS,CAAC;IAEhC,uBAAuB;IACvB,IAAI,QAAQ,GAAG,mBAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE9D,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE;YACL,QAAQ;YACR,IAAI,UAAU;gBACZ,IAAI,UAAU,EAAE;oBACd,OAAO,UAAU,CAAC;iBACnB;gBAED,6EAA6E;gBAC7E,IAAI,OAAO,GAAG;oBACZ,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;oBAChC,OAAO;iBACR,CAAC;gBAEF,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;oBACrC,2EAA2E;oBAC3E,+DAA+D;oBAC/D,uCAAuC;oBACtC,OAAe,CAAC,MAAM,GAAG,OAAO,CAAC;iBACnC;gBACD,sFAAsF;gBACtF,uFAAuF;gBACvF,IAAI,OAAO,GAAG,kBAAa,CAAC,OAAO,CAAC,CAAC;gBACrC,IAAI,MAAM,GAAG,IAAI,WAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBAEpE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;SACF;QACD,IAAI;KACL,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,KAAK,CAAC;AACrB,CAAC;AA1DD,0CA0DC"}
1
+ {"version":3,"file":"load-ember-template-compiler.js","sourceRoot":"","sources":["load-ember-template-compiler.ts"],"names":[],"mappings":";;;AAAA,2BAAgD;AAChD,2BAA2C;AAC3C,mCAAoC;AACpC,uEAAkD;AAYlD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsC,CAAC;AAE5D,SAAgB,eAAe,CAAC,oBAA4B;IAC1D,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAE5C,IAAI,KAAK,EAAE;QACT,IAAI,WAAW,GAAG,IAAA,aAAQ,EAAC,oBAAoB,CAAC,CAAC;QAEjD,oDAAoD;QACpD,IACE,WAAW,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI;YACpC,WAAW,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI;YACpC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAC1D;YACA,OAAO,KAAK,CAAC,KAAK,CAAC;SACpB;KACF;IAED,IAAI,IAAI,GAAG,IAAA,aAAQ,EAAC,oBAAoB,CAAC,CAAC;IAE1C,IAAI,MAAM,GAAG,IAAA,+BAAK,EAAC,IAAA,iBAAY,EAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACrF,IAAI,UAAU,GAAQ,SAAS,CAAC;IAEhC,uBAAuB;IACvB,IAAI,QAAQ,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE9D,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE;YACL,QAAQ;YACR,IAAI,UAAU;gBACZ,IAAI,UAAU,EAAE;oBACd,OAAO,UAAU,CAAC;iBACnB;gBAED,6EAA6E;gBAC7E,IAAI,OAAO,GAAG;oBACZ,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE;oBAChC,OAAO;iBACR,CAAC;gBAEF,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;oBACrC,2EAA2E;oBAC3E,+DAA+D;oBAC/D,uCAAuC;oBACtC,OAAe,CAAC,MAAM,GAAG,OAAO,CAAC;iBACnC;gBACD,sFAAsF;gBACtF,uFAAuF;gBACvF,IAAI,OAAO,GAAG,IAAA,kBAAa,EAAC,OAAO,CAAC,CAAC;gBACrC,IAAI,MAAM,GAAG,IAAI,WAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,oBAAoB,EAAE,CAAC,CAAC;gBAEpE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;SACF;QACD,IAAI,EAAE,iFAAiF;KACxF,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACvC,OAAO,KAAK,CAAC,KAAK,CAAC;AACrB,CAAC;AA1DD,0CA0DC","sourcesContent":["import fs, { readFileSync, statSync } from 'fs';\nimport { createContext, Script } from 'vm';\nimport { createHash } from 'crypto';\nimport { patch } from './patch-template-compiler';\n\ntype TemplateCompilerCacheEntry = {\n value: EmbersExports;\n stat: fs.Stats;\n};\n\ntype EmbersExports = {\n cacheKey: string;\n theExports: any;\n};\n\nconst CACHE = new Map<string, TemplateCompilerCacheEntry>();\n\nexport function getEmberExports(templateCompilerPath: string): EmbersExports {\n let entry = CACHE.get(templateCompilerPath);\n\n if (entry) {\n let currentStat = statSync(templateCompilerPath);\n\n // Let's ensure the template is still what we cached\n if (\n currentStat.mode === entry.stat.mode &&\n currentStat.size === entry.stat.size &&\n currentStat.mtime.getTime() === entry.stat.mtime.getTime()\n ) {\n return entry.value;\n }\n }\n\n let stat = statSync(templateCompilerPath);\n\n let source = patch(readFileSync(templateCompilerPath, 'utf8'), templateCompilerPath);\n let theExports: any = undefined;\n\n // cacheKey, theExports\n let cacheKey = createHash('md5').update(source).digest('hex');\n\n entry = Object.freeze({\n value: {\n cacheKey,\n get theExports() {\n if (theExports) {\n return theExports;\n }\n\n // matches (essentially) what ember-cli-htmlbars does in https://git.io/Jtbpj\n let sandbox = {\n module: { require, exports: {} },\n require,\n };\n\n if (typeof globalThis === 'undefined') {\n // for Node 10 usage with Ember 3.27+ we have to define the `global` global\n // in order for ember-template-compiler.js to evaluate properly\n // due to this code https://git.io/Jtb7\n (sandbox as any).global = sandbox;\n }\n // using vm.createContext / vm.Script to ensure we evaluate in a fresh sandbox context\n // so that any global mutation done within ember-template-compiler.js does not leak out\n let context = createContext(sandbox);\n let script = new Script(source, { filename: templateCompilerPath });\n\n script.runInContext(context);\n return (theExports = context.module.exports);\n },\n },\n stat, // This is stored, so we can reload the templateCompiler if it changes mid-build.\n });\n\n CACHE.set(templateCompilerPath, entry);\n return entry.value;\n}\n"]}
@@ -14,7 +14,7 @@ class MeasureConcat {
14
14
  this.stats = {};
15
15
  }
16
16
  addFile(filename) {
17
- this.stats[filename] = fs_1.statSync(path_1.join(this.baseDir, filename)).size;
17
+ this.stats[filename] = (0, fs_1.statSync)((0, path_1.join)(this.baseDir, filename)).size;
18
18
  return this.concat.addFile(filename);
19
19
  }
20
20
  addSpace(contents) {
@@ -25,7 +25,7 @@ class MeasureConcat {
25
25
  console.log(`Concatenated ${this.name}:`);
26
26
  console.log(Object.entries(this.stats)
27
27
  .sort((a, b) => b[1] - a[1])
28
- .map(([name, bytes]) => ` ${name}: ${filesize_1.default(bytes)}`)
28
+ .map(([name, bytes]) => ` ${name}: ${(0, filesize_1.default)(bytes)}`)
29
29
  .join('\n'));
30
30
  return await this.concat.end();
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"measure-concat.js","sourceRoot":"","sources":["measure-concat.ts"],"names":[],"mappings":";;;;;AACA,+BAA4B;AAC5B,2BAA8B;AAC9B,wDAAgC;AAEhC,MAAqB,aAAa;IAEhC,YAAoB,IAAY,EAAU,MAAuB,EAAU,OAAe;QAAtE,SAAI,GAAJ,IAAI,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAiB;QAAU,YAAO,GAAP,OAAO,CAAQ;QAD1F,UAAK,GAAmC,EAAE,CAAC;IACkD,CAAC;IAC9F,OAAO,CAAC,QAAgB;QACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,aAAQ,CAAC,WAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IACD,QAAQ,CAAC,QAAgB;QACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC3E,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IACD,KAAK,CAAC,GAAG;QACP,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;aACvB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,kBAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;aACvD,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IACjC,CAAC;CACF;AArBD,gCAqBC"}
1
+ {"version":3,"file":"measure-concat.js","sourceRoot":"","sources":["measure-concat.ts"],"names":[],"mappings":";;;;;AACA,+BAA4B;AAC5B,2BAA8B;AAC9B,wDAAgC;AAEhC,MAAqB,aAAa;IAEhC,YAAoB,IAAY,EAAU,MAAuB,EAAU,OAAe;QAAtE,SAAI,GAAJ,IAAI,CAAQ;QAAU,WAAM,GAAN,MAAM,CAAiB;QAAU,YAAO,GAAP,OAAO,CAAQ;QAD1F,UAAK,GAAmC,EAAE,CAAC;IACkD,CAAC;IAC9F,OAAO,CAAC,QAAgB;QACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAA,aAAQ,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IACD,QAAQ,CAAC,QAAgB;QACvB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC3E,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IACD,KAAK,CAAC,GAAG;QACP,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;aACvB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,IAAA,kBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;aACvD,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IACjC,CAAC;CACF;AArBD,gCAqBC","sourcesContent":["import SourceMapConcat from 'fast-sourcemap-concat';\nimport { join } from 'path';\nimport { statSync } from 'fs';\nimport filesize from 'filesize';\n\nexport default class MeasureConcat {\n stats: { [filename: string]: number } = {};\n constructor(private name: string, private concat: SourceMapConcat, private baseDir: string) {}\n addFile(filename: string) {\n this.stats[filename] = statSync(join(this.baseDir, filename)).size;\n return this.concat.addFile(filename);\n }\n addSpace(contents: string) {\n this.stats['in-memory'] = (this.stats['in-memory'] || 0) + contents.length;\n return this.concat.addSpace(contents);\n }\n async end() {\n console.log(`Concatenated ${this.name}:`);\n console.log(\n Object.entries(this.stats)\n .sort((a, b) => b[1] - a[1])\n .map(([name, bytes]) => ` ${name}: ${filesize(bytes)}`)\n .join('\\n')\n );\n return await this.concat.end();\n }\n}\n"]}
package/src/messages.js CHANGED
@@ -6,24 +6,24 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.debug = exports.unsupported = exports.todo = exports.expectWarning = exports.throwOnWarnings = exports.warn = void 0;
7
7
  const debug_1 = __importDefault(require("debug"));
8
8
  const util_1 = require("util");
9
- const todo = debug_1.default('embroider:todo');
9
+ const todo = (0, debug_1.default)('embroider:todo');
10
10
  exports.todo = todo;
11
- const unsupported = debug_1.default('embroider:unsupported');
11
+ const unsupported = (0, debug_1.default)('embroider:unsupported');
12
12
  exports.unsupported = unsupported;
13
- const debug = debug_1.default('embroider:debug');
13
+ const debug = (0, debug_1.default)('embroider:debug');
14
14
  exports.debug = debug;
15
15
  function realWarn(message, params) {
16
16
  if (hardFailMode > 0) {
17
- throw new Error(`Unexpected warning in test suite: ${util_1.format(message, ...params)}`);
17
+ throw new Error(`Unexpected warning in test suite: ${(0, util_1.format)(message, ...params)}`);
18
18
  }
19
19
  else {
20
- console.log('WARNING: ' + util_1.format(message, ...params));
20
+ console.log('WARNING: ' + (0, util_1.format)(message, ...params));
21
21
  }
22
22
  }
23
23
  let expectStack = [];
24
24
  let handled = new WeakSet();
25
25
  function expectedWarn(message, params) {
26
- let formattedMessage = util_1.format(message, ...params);
26
+ let formattedMessage = (0, util_1.format)(message, ...params);
27
27
  for (let pattern of expectStack) {
28
28
  if (pattern.test(formattedMessage)) {
29
29
  handled.add(pattern);
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["messages.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA8B;AAC9B,+BAA8B;AAE9B,MAAM,IAAI,GAAG,eAAS,CAAC,gBAAgB,CAAC,CAAC;AAoDhC,oBAAI;AAnDb,MAAM,WAAW,GAAG,eAAS,CAAC,uBAAuB,CAAC,CAAC;AAmDxC,kCAAW;AAlD1B,MAAM,KAAK,GAAG,eAAS,CAAC,iBAAiB,CAAC,CAAC;AAkDf,sBAAK;AAhDjC,SAAS,QAAQ,CAAC,OAAe,EAAE,MAAa;IAC9C,IAAI,YAAY,GAAG,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,aAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;KACpF;SAAM;QACL,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,aAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;KACvD;AACH,CAAC;AAED,IAAI,WAAW,GAAG,EAAc,CAAC;AACjC,IAAI,OAAO,GAAoB,IAAI,OAAO,EAAE,CAAC;AAE7C,SAAS,YAAY,CAAC,OAAe,EAAE,MAAa;IAClD,IAAI,gBAAgB,GAAG,aAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;IAClD,KAAK,IAAI,OAAO,IAAI,WAAW,EAAE;QAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO;SACR;KACF;IACD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,IAAI,CAAC,OAAe,EAAE,GAAG,MAAa;IACpD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAC3B;SAAM;QACL,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAC/B;AACH,CAAC;AAND,oBAMC;AAED,6BAA6B;AAC7B,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,SAAgB,eAAe;IAC7B,YAAY;IACZ,SAAS,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;AACjC,CAAC;AAJD,0CAIC;AAED,SAAgB,aAAa,CAAC,OAAe,EAAE,EAAc;IAC3D,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,IAAI;QACF,EAAE,EAAE,CAAC;KACN;YAAS;QACR,WAAW,CAAC,GAAG,EAAE,CAAC;KACnB;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AARD,sCAQC"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["messages.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA8B;AAC9B,+BAA8B;AAE9B,MAAM,IAAI,GAAG,IAAA,eAAS,EAAC,gBAAgB,CAAC,CAAC;AAoDhC,oBAAI;AAnDb,MAAM,WAAW,GAAG,IAAA,eAAS,EAAC,uBAAuB,CAAC,CAAC;AAmDxC,kCAAW;AAlD1B,MAAM,KAAK,GAAG,IAAA,eAAS,EAAC,iBAAiB,CAAC,CAAC;AAkDf,sBAAK;AAhDjC,SAAS,QAAQ,CAAC,OAAe,EAAE,MAAa;IAC9C,IAAI,YAAY,GAAG,CAAC,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAA,aAAM,EAAC,OAAO,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;KACpF;SAAM;QACL,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,IAAA,aAAM,EAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;KACvD;AACH,CAAC;AAED,IAAI,WAAW,GAAG,EAAc,CAAC;AACjC,IAAI,OAAO,GAAoB,IAAI,OAAO,EAAE,CAAC;AAE7C,SAAS,YAAY,CAAC,OAAe,EAAE,MAAa;IAClD,IAAI,gBAAgB,GAAG,IAAA,aAAM,EAAC,OAAO,EAAE,GAAG,MAAM,CAAC,CAAC;IAClD,KAAK,IAAI,OAAO,IAAI,WAAW,EAAE;QAC/B,IAAI,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAClC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO;SACR;KACF;IACD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,IAAI,CAAC,OAAe,EAAE,GAAG,MAAa;IACpD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAC3B;SAAM;QACL,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;KAC/B;AACH,CAAC;AAND,oBAMC;AAED,6BAA6B;AAC7B,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,SAAgB,eAAe;IAC7B,YAAY;IACZ,SAAS,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;IAChC,QAAQ,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;AACjC,CAAC;AAJD,0CAIC;AAED,SAAgB,aAAa,CAAC,OAAe,EAAE,EAAc;IAC3D,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1B,IAAI;QACF,EAAE,EAAE,CAAC;KACN;YAAS;QACR,WAAW,CAAC,GAAG,EAAE,CAAC;KACnB;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AARD,sCAQC","sourcesContent":["import makeDebug from 'debug';\nimport { format } from 'util';\n\nconst todo = makeDebug('embroider:todo');\nconst unsupported = makeDebug('embroider:unsupported');\nconst debug = makeDebug('embroider:debug');\n\nfunction realWarn(message: string, params: any[]) {\n if (hardFailMode > 0) {\n throw new Error(`Unexpected warning in test suite: ${format(message, ...params)}`);\n } else {\n console.log('WARNING: ' + format(message, ...params));\n }\n}\n\nlet expectStack = [] as RegExp[];\nlet handled: WeakSet<RegExp> = new WeakSet();\n\nfunction expectedWarn(message: string, params: any[]) {\n let formattedMessage = format(message, ...params);\n for (let pattern of expectStack) {\n if (pattern.test(formattedMessage)) {\n handled.add(pattern);\n return;\n }\n }\n realWarn(message, params);\n}\n\nexport function warn(message: string, ...params: any[]) {\n if (expectStack.length === 0) {\n realWarn(message, params);\n } else {\n expectedWarn(message, params);\n }\n}\n\n// for use in our test suites\nlet hardFailMode = 0;\nexport function throwOnWarnings() {\n // Jest mode\n beforeAll(() => hardFailMode++);\n afterAll(() => hardFailMode--);\n}\n\nexport function expectWarning(pattern: RegExp, fn: () => void) {\n expectStack.push(pattern);\n try {\n fn();\n } finally {\n expectStack.pop();\n }\n return handled.has(pattern);\n}\n\nexport { todo, unsupported, debug };\n"]}
@@ -1,4 +1,4 @@
1
- import type { types as t } from '@babel/core';
1
+ import type * as t from '@babel/types';
2
2
  import type { NodePath } from '@babel/traverse';
3
3
  declare type BabelTypes = typeof t;
4
4
  export default function miniModulesPolyfill(babel: unknown): {
@@ -1 +1 @@
1
- {"version":3,"file":"mini-modules-polyfill.js","sourceRoot":"","sources":["mini-modules-polyfill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mini-modules-polyfill.js","sourceRoot":"","sources":["mini-modules-polyfill.ts"],"names":[],"mappings":"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","sourcesContent":["import type * as t from '@babel/types';\nimport type { NodePath } from '@babel/traverse';\n\ntype BabelTypes = typeof t;\n\n// this is intentionally not the whole babel-plugin-ember-modules-api-polyfill.\n// That runs very early, so any usage of polyfilled imports that gets emitted by\n// our other babel plugins can't take advantage of it.\n//\n// If I was going to try to do this properly, I would change\n// babel-plugin-ember-modules-api-polyfill to run very late in the game, like\n// this code does, so that other plugins could always not worry about it. But\n// seeing as modules-api-polyfill is already on the way out, it's simpler to\n// just handle the small piece of its functionality that matter to us:\n//\n// - all our usage (emitted by our babel plugins) is static imports, not dynamic\n// ones, so it's OK to just walk the top level, saving us the cost of a full\n// traverse\n// - we only emit a handful of specific imports that are easy to just list here\n//\n//\nlet replacements: { [moduleSpecifier: string]: { [name: string]: ((t: BabelTypes) => t.Expression) | undefined } } = {\n '@ember/component/template-only': {\n default(t: BabelTypes) {\n return t.memberExpression(t.identifier('Ember'), t.identifier('_templateOnlyComponent'));\n },\n },\n '@ember/template-factory': {\n createTemplateFactory(t) {\n return t.memberExpression(\n t.memberExpression(t.identifier('Ember'), t.identifier('HTMLBars')),\n t.identifier('template')\n );\n },\n },\n '@ember/component': {\n default(t: BabelTypes) {\n return t.memberExpression(t.identifier('Ember'), t.identifier('Component'));\n },\n setComponentTemplate(t: BabelTypes) {\n return t.memberExpression(t.identifier('Ember'), t.identifier('_setComponentTemplate'));\n },\n },\n};\n\nexport default function miniModulesPolyfill(babel: unknown) {\n let t = (babel as any).types as BabelTypes;\n return {\n visitor: {\n Program: {\n exit(path: NodePath<t.Program>) {\n for (let child of path.get('body')) {\n if (child.isImportDeclaration()) {\n let replacement = handleImportDeclaration(t, child);\n if (replacement) {\n path.replaceWith(replacement);\n }\n }\n }\n },\n },\n },\n };\n}\n\nexport function handleImportDeclaration(t: BabelTypes, path: NodePath<t.ImportDeclaration>) {\n let match = replacements[path.node.source.value];\n if (match) {\n let specifiers = path.get('specifiers');\n let replacers = specifiers.map(specifier => ({ replacer: match[specifier.node.local.name], specifier }));\n if (replacers.every(r => Boolean(r.replacer))) {\n path.replaceWith(\n t.variableDeclaration(\n 'const',\n replacers.map(r => t.variableDeclarator(r.specifier.node.local, r.replacer!(t)))\n )\n );\n } else {\n for (let { specifier, replacer } of replacers) {\n if (replacer) {\n path.insertAfter(t.variableDeclaration('const', [t.variableDeclarator(specifier.node.local, replacer(t))]));\n specifier.remove();\n }\n }\n }\n }\n return undefined;\n}\n"]}
@@ -119,7 +119,7 @@ function compareByRelativePath(entryA, entryB) {
119
119
  }
120
120
  function isEqual(owners) {
121
121
  return function (a, b) {
122
- return fs_tree_diff_1.default.defaultIsEqual(a, b) && isEqual_1.default(owners.get(a), owners.get(b));
122
+ return fs_tree_diff_1.default.defaultIsEqual(a, b) && (0, isEqual_1.default)(owners.get(a), owners.get(b));
123
123
  };
124
124
  }
125
125
  function latest(a, b) {
@@ -1 +1 @@
1
- {"version":3,"file":"multi-tree-diff.js","sourceRoot":"","sources":["multi-tree-diff.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAwD;AACxD,6DAA2C;AAO3C,+EAA+E;AAC/E,MAAa,OAAO;IAClB,YACU,eAA6D,EAC7D,cAA+C;QAD/C,oBAAe,GAAf,eAAe,CAA8C;QAC7D,mBAAc,GAAd,cAAc,CAAiC;IACtD,CAAC;IACJ,GAAG,CAAC,YAAoB;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAE,CAAE,CAAC;IAC3E,CAAC;CACF;AARD,0BAQC;AAQD,MAAqB,aAAa;IAWhC,YAAoB,OAAoB,EAAU,MAAc;QAA5C,YAAO,GAAP,OAAO,CAAa;QAAU,WAAM,GAAN,MAAM,CAAQ;QATxD,iBAAY,GAAW,IAAI,sBAAM,EAAE,CAAC;QAE5C,wDAAwD;QAChD,WAAM,GAA2B,IAAI,OAAO,EAAE,CAAC;QAEvD,0EAA0E;QAC1E,uDAAuD;QAC/C,mBAAc,GAA6B,IAAI,OAAO,EAAE,CAAC;IAEE,CAAC;IAE5D,UAAU;QAChB,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC5C,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;gBAClE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;aAChC;YACD,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,UAAU,CAAC,OAAkB;QACnC,IAAI,MAAM,GAAyB,IAAI,GAAG,EAAE,CAAC;QAC7C,KAAK,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;YACtD,KAAK,IAAI,KAAK,IAAI,WAAW,EAAE;gBAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC1C,IAAI,CAAC,IAAI,EAAE;oBACT,IAAI,GAAG,EAAE,CAAC;oBACV,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;iBACtC;gBACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;aACnC;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,eAAe,CAAC,UAAgC;QACtD,IAAI,MAAM,GAAuB,IAAI,GAAG,EAAE,CAAC;QAC3C,KAAK,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE;YACxD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxB,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC;gBACtB,6BAA6B;gBAC7B,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;gBAChC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC;aAC3D;iBAAM;gBACL,+BAA+B;gBAC/B,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;gBACjE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;oBACxB,4BAA4B;oBAC5B,IAAI,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAE,CAAC;oBACnE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;oBACjC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;iBAC1C;qBAAM;oBACL,qDAAqD;oBACrD,IAAI,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC;oBAChF,IAAI,aAAa,GAAU;wBACzB,YAAY;wBACZ,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;4BAC3C,OAAO,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;wBACnC,CAAC,EAAE,CAAC,CAAC;wBACL,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,KAAgC,EAAE,KAAK,EAAE,EAAE;4BACvE,OAAO,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;wBACpC,CAAC,EAAE,SAAS,CAAC;wBACb,WAAW;4BACT,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,KAAc,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;wBAC/F,CAAC;qBACF,CAAC;oBACF,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;oBACxC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;iBACjD;aACF;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM;QACJ,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAE/E,qEAAqE;QACrE,wEAAwE;QACxE,QAAQ;QACR,IAAI,mBAAmB,GAAG,CAAC,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpF,IAAI,SAAS,GAAG,sBAAM,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC;QACxD,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;IAC7E,CAAC;CACF;AA3FD,gCA2FC;AAED,SAAS,qBAAqB,CAAC,MAAa,EAAE,MAAa;IACzD,IAAI,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC;IAChC,IAAI,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC;IAEhC,IAAI,KAAK,GAAG,KAAK,EAAE;QACjB,OAAO,CAAC,CAAC,CAAC;KACX;SAAM,IAAI,KAAK,GAAG,KAAK,EAAE;QACxB,OAAO,CAAC,CAAC;KACV;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,OAAO,CAAC,MAAgC;IAC/C,OAAO,UAAU,CAAQ,EAAE,CAAQ;QACjC,OAAO,sBAAM,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,iBAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,CAA4B,EAAE,CAA4B;IACxE,IAAI,CAAC,IAAI,IAAI,EAAE;QACb,OAAO,CAAC,CAAC;KACV;IACD,IAAI,CAAC,IAAI,IAAI,EAAE;QACb,OAAO,CAAC,CAAC;KACV;IACD,IAAI,CAAC,YAAY,IAAI,EAAE;QACrB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;KACjB;IACD,IAAI,CAAC,YAAY,IAAI,EAAE;QACrB,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;KACjB;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"multi-tree-diff.js","sourceRoot":"","sources":["multi-tree-diff.ts"],"names":[],"mappings":"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","sourcesContent":["import FSTree, { Operation, Entry } from 'fs-tree-diff';\nimport lodashIsEqual from 'lodash/isEqual';\n\nexport interface InputTree {\n walk(): Entry[];\n mayChange: boolean;\n}\n\n// tells you which of your inTrees (by index) resulted in the given output file\nexport class Sources {\n constructor(\n private combinedEntries: ReturnType<MultiTreeDiff['combinedEntries']>,\n private combinedOwners: MultiTreeDiff['combinedOwners']\n ) {}\n get(relativePath: string): number[] {\n return this.combinedOwners.get(this.combinedEntries.get(relativePath)!)!;\n }\n}\n\n// this is how you control what happens when multiple trees try to output the\n// same path. Your merger function is told which trees are trying to collide,\n// and you say which ones will be allowed to influence the output. More than one\n// winner is allowed because sometimes you will be merging their contents.\nexport type Merger = (treeIndices: number[]) => number[];\n\nexport default class MultiTreeDiff {\n private prevEntries: Entry[][] | undefined;\n private prevCombined: FSTree = new FSTree();\n\n // tracks which input Entry is owned by which input tree\n private owners: WeakMap<Entry, number> = new WeakMap();\n\n // tracks which output Entry is owned by which set of input trees. This is\n // different from `owners` because merging is possible.\n private combinedOwners: WeakMap<Entry, number[]> = new WeakMap();\n\n constructor(private inTrees: InputTree[], private merger: Merger) {}\n\n private allEntries(): Entry[][] {\n let result = this.inTrees.map((tree, index) => {\n if (!tree.mayChange && this.prevEntries && this.prevEntries[index]) {\n return this.prevEntries[index];\n }\n return tree.walk();\n });\n this.prevEntries = result;\n return result;\n }\n\n private candidates(entries: Entry[][]): Map<string, Entry[]> {\n let result: Map<string, Entry[]> = new Map();\n for (let [treeIndex, treeEntries] of entries.entries()) {\n for (let entry of treeEntries) {\n let list = result.get(entry.relativePath);\n if (!list) {\n list = [];\n result.set(entry.relativePath, list);\n }\n list.push(entry);\n this.owners.set(entry, treeIndex);\n }\n }\n return result;\n }\n\n private combinedEntries(candidates: Map<string, Entry[]>): Map<string, Entry> {\n let result: Map<string, Entry> = new Map();\n for (let [relativePath, entries] of candidates.entries()) {\n if (entries.length === 1) {\n let [entry] = entries;\n // no collision, simple case.\n result.set(relativePath, entry);\n this.combinedOwners.set(entry, [this.owners.get(entry)!]);\n } else {\n // collision, apply merge logic\n let winners = this.merger(entries.map(e => this.owners.get(e)!));\n if (winners.length === 1) {\n // single winner, no merging\n let winner = entries.find(e => this.owners.get(e) === winners[0])!;\n result.set(relativePath, winner);\n this.combinedOwners.set(winner, winners);\n } else {\n // multiple winners, must synthesize a combined entry\n let winningEntries = entries.filter(e => winners.includes(this.owners.get(e)!));\n let combinedEntry: Entry = {\n relativePath,\n size: winningEntries.reduce((accum, entry) => {\n return accum + (entry.size || 0);\n }, 0),\n mtime: winningEntries.reduce((accum: undefined | number | Date, entry) => {\n return latest(accum, entry.mtime);\n }, undefined),\n isDirectory() {\n return winningEntries.reduce((isDir: boolean, entry) => isDir || entry.isDirectory(), false);\n },\n };\n result.set(relativePath, combinedEntry);\n this.combinedOwners.set(combinedEntry, winners);\n }\n }\n }\n return result;\n }\n\n update(): { ops: Operation[]; sources: Sources } {\n let combinedEntries = this.combinedEntries(this.candidates(this.allEntries()));\n\n // FSTree requires the entries to be sorted and uniq. We already have\n // uniqueness because we're taking them out of a map. And here we do the\n // sort.\n let combinedEntriesList = [...combinedEntries.values()].sort(compareByRelativePath);\n let newFSTree = FSTree.fromEntries(combinedEntriesList);\n let ops = this.prevCombined.calculatePatch(newFSTree, isEqual(this.combinedOwners));\n this.prevCombined = newFSTree;\n return { ops, sources: new Sources(combinedEntries, this.combinedOwners) };\n }\n}\n\nfunction compareByRelativePath(entryA: Entry, entryB: Entry) {\n let pathA = entryA.relativePath;\n let pathB = entryB.relativePath;\n\n if (pathA < pathB) {\n return -1;\n } else if (pathA > pathB) {\n return 1;\n }\n return 0;\n}\n\nfunction isEqual(owners: WeakMap<Entry, number[]>) {\n return function (a: Entry, b: Entry) {\n return FSTree.defaultIsEqual(a, b) && lodashIsEqual(owners.get(a), owners.get(b));\n };\n}\n\nfunction latest(a: number | Date | undefined, b: number | Date | undefined): number | undefined | Date {\n if (a == null) {\n return b;\n }\n if (b == null) {\n return a;\n }\n if (a instanceof Date) {\n a = a.getTime();\n }\n if (b instanceof Date) {\n b = b.getTime();\n }\n return Math.max(a, b);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["options.ts"],"names":[],"mappings":";;;AAmGA,SAAgB,mBAAmB,CAAC,OAAiB;IACnD,IAAI,QAAQ,GAAG;QACb,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,KAAK;QACvB,iBAAiB,EAAE,KAAK;QACxB,cAAc,EAAE,EAAE;QAClB,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,EAAE;QACf,uBAAuB,EAAE,eAAkC;KAC5D,CAAC;IACF,IAAI,OAAO,EAAE;QACX,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;KACzC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAjBD,kDAiBC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["options.ts"],"names":[],"mappings":";;;AAmGA,SAAgB,mBAAmB,CAAC,OAAiB;IACnD,IAAI,QAAQ,GAAG;QACb,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,KAAK;QACvB,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,KAAK;QACvB,iBAAiB,EAAE,KAAK;QACxB,cAAc,EAAE,EAAE;QAClB,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,EAAE;QACf,uBAAuB,EAAE,eAAkC;KAC5D,CAAC;IACF,IAAI,OAAO,EAAE;QACX,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;KACzC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAjBD,kDAiBC","sourcesContent":["export default interface Options {\n // When true, we statically resolve all template helpers at build time. This\n // causes unused helpers to be left out of the build (\"tree shaking\" of\n // helpers).\n //\n // Defaults to false, which gives you greater compatibility with classic Ember\n // apps at the cost of bigger builds.\n //\n // Enabling this is a prerequisite for route splitting.\n staticHelpers?: boolean;\n\n // When true, we statically resolve all components at build time. This causes\n // unused components to be left out of the build (\"tree shaking\" of\n // components).\n //\n // Defaults to false, which gives you greater compatibility with classic Ember\n // apps at the cost of bigger builds.\n //\n // Enabling this is a prerequisite for route splitting.\n staticComponents?: boolean;\n\n // Enables per-route code splitting. Any route names that match these patterns\n // will be split out of the initial app payload. If you use this, you must\n // also add @embroider/router to your app. See [@embroider/router's\n // README](https://github.com/embroider-build/embroider/blob/master/packages/router/README.md)\n splitAtRoutes?: (RegExp | string)[];\n\n // Every file within your application's `app` directory is categorized as a\n // component, helper, route, route template, controller, or \"other\".\n //\n // This option lets you decide which \"other\" files should be loaded\n // statically. By default, all \"other\" files will be included in the build and\n // registered with Ember's runtime loader, because we can't know if somebody\n // is going to try to access them dynamically via Ember's resolver or AMD\n // runtime `require`.\n //\n // If you know that your files are only ever imported, you can list them here\n // and then they will only be included exactly where they're needed.\n //\n // Provide a list of directories or files relative to `/app`. For example\n //\n // staticAppPaths: ['lib']\n //\n // means that everything under your-project/app/lib will be loaded statically.\n //\n // This option has no effect on components (which are governed by\n // staticComponents), helpers (which are governed by staticHelpers), or the\n // route-specific files (routes, route templates, and controllers which are\n // governed by splitAtRoutes).\n staticAppPaths?: string[];\n\n // By default, all modules that get imported into the app go through Babel, so\n // that all code will conform with your Babel targets. This option allows you\n // to turn Babel off for a particular package. You might need this to work\n // around a transpiler bug or you might use this as a build-performance\n // optimization if you've manually verified that a particular package doesn't\n // need transpilation to be safe in your target browsers.\n skipBabel?: { package: string; semverRange?: string }[];\n\n // This is a performance optimization that can help you avoid the \"Your build\n // is slower because some babel plugins are non-serializable\" penalty. If you\n // provide the locations of known non-serializable objects, we can discover\n // them and make them serializable.\n //\n // resolve is a list of paths to resolve, in a chain. This lets you resolve\n // your dependencies' dependencies, like: resolve: ['your-dependency',\n // 'inner-dependency/lib/transform']\n //\n // useMethod optionally lets you pick which property within the module to use.\n // If not provided, we use the module.exports itself.\n pluginHints?: { resolve: string[]; useMethod?: string }[];\n\n // Our addons' implicit-modules and implicit-test-modules are not necessarily\n // resolvable directly from the app, but the meaning of those\n // backward-compatibility features is \"the app should import this module\". So\n // we need some strategy for making them importable by the app. We can either\n // turn those imports into complete relative paths, or leave them as package\n // names:\n //\n // relativePaths:\n //\n // import('./node_modules/intermediate/node_modules/some-addon/thing.js')\n //\n // packageNames:\n //\n // import('some-addon/thing.js')\n //\n // When building under a tool like webpack, the relativePaths are safe and\n // always work, although they can be uglier to look at when debugging in\n // development.\n //\n // When building under a tool like snowpack, the package names can be easier\n // to work with because you already have web-bundles per package, and can't\n // necessarily address arbitrary places on the filesystem.\n //\n // Defaults to \"relativePaths\".\n implicitModulesStrategy?: 'packageNames' | 'relativePaths';\n}\n\nexport function optionsWithDefaults(options?: Options): Required<Options> {\n let defaults = {\n staticHelpers: false,\n staticComponents: false,\n packageRules: [],\n splitAtRoutes: [],\n splitControllers: false,\n splitRouteClasses: false,\n staticAppPaths: [],\n skipBabel: [],\n pluginHints: [],\n implicitModulesStrategy: 'relativePaths' as 'relativePaths',\n };\n if (options) {\n return Object.assign(defaults, options);\n }\n return defaults;\n}\n"]}
package/src/packager.js CHANGED
@@ -31,7 +31,7 @@ exports.applyVariantToTemplateCompiler = applyVariantToTemplateCompiler;
31
31
  * Get the app meta-data for a package
32
32
  */
33
33
  function getAppMeta(pathToVanillaApp) {
34
- return JSON.parse(fs_extra_1.readFileSync(path_1.join(pathToVanillaApp, 'package.json'), 'utf8'))['ember-addon'];
34
+ return JSON.parse((0, fs_extra_1.readFileSync)((0, path_1.join)(pathToVanillaApp, 'package.json'), 'utf8'))['ember-addon'];
35
35
  }
36
36
  exports.getAppMeta = getAppMeta;
37
37
  /**
@@ -40,7 +40,7 @@ exports.getAppMeta = getAppMeta;
40
40
  * This ensures they have exactly the same lifetime as some of embroider's own caches.
41
41
  */
42
42
  function getPackagerCacheDir(name) {
43
- return path_1.join(shared_internals_1.tmpdir, 'embroider', name);
43
+ return (0, path_1.join)(shared_internals_1.tmpdir, 'embroider', name);
44
44
  }
45
45
  exports.getPackagerCacheDir = getPackagerCacheDir;
46
46
  //# sourceMappingURL=packager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packager.js","sourceRoot":"","sources":["packager.ts"],"names":[],"mappings":";;;AAAA,kEAA8D;AAC9D,uCAAwC;AACxC,+BAA4B;AAoE5B,SAAgB,yBAAyB,CAAC,OAAgB,EAAE,WAAgB;IAC1E,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE;QAClC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC7C,IAAI,WAAW,CAAC,OAAO,EAAE;YACvB,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SACnD;aAAM;YACL,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;SAC1B;QACD,IAAI,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CACxC,CAAC,CAAM,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CACzE,CAAC;QACF,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SAC5D;KACF;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAhBD,8DAgBC;AAED,SAAgB,8BAA8B,CAAC,QAAiB,EAAE,gBAAqB;IACrF,8EAA8E;IAC9E,4DAA4D;IAC5D,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAJD,wEAIC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,gBAAwB;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,uBAAY,CAAC,WAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAY,CAAC;AAC5G,CAAC;AAFD,gCAEC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,OAAO,WAAI,CAAC,yBAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAFD,kDAEC"}
1
+ {"version":3,"file":"packager.js","sourceRoot":"","sources":["packager.ts"],"names":[],"mappings":";;;AAAA,kEAA8D;AAC9D,uCAAwC;AACxC,+BAA4B;AAoE5B,SAAgB,yBAAyB,CAAC,OAAgB,EAAE,WAAgB;IAC1E,IAAI,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE;QAClC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC7C,IAAI,WAAW,CAAC,OAAO,EAAE;YACvB,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SACnD;aAAM;YACL,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;SAC1B;QACD,IAAI,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CACxC,CAAC,CAAM,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CACzE,CAAC;QACF,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;SAC5D;KACF;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAhBD,8DAgBC;AAED,SAAgB,8BAA8B,CAAC,QAAiB,EAAE,gBAAqB;IACrF,8EAA8E;IAC9E,4DAA4D;IAC5D,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAJD,wEAIC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,gBAAwB;IACjD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,uBAAY,EAAC,IAAA,WAAI,EAAC,gBAAgB,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAY,CAAC;AAC5G,CAAC;AAFD,gCAEC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAA,WAAI,EAAC,yBAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAFD,kDAEC","sourcesContent":["import { AppMeta, tmpdir } from '@embroider/shared-internals';\nimport { readFileSync } from 'fs-extra';\nimport { join } from 'path';\n\n// This is a collection of flags that convey what kind of build you want. They\n// are intended to be generic across Packagers, and it's up to Packager authors\n// to support each option (or not).\nexport interface Variant {\n // descriptive name that can be used by the packager to label which output\n // goes with which variant.\n name: string;\n\n // Which runtime should this build work in? Dev builds will typically be \"all\"\n // because we produce a single build that works in browser and fastboot. But\n // production builds can be divided into a browser-only variant and a\n // fastboot-only variant so that each can be separately optimized.\n //\n // Note that if you build *only* a fastboot variant, you're unlikely to end up\n // with any assets that can boot and run in the browser too, so the typical\n // thing to do is to have to two variants and for the packager to use the\n // assets from the browser build to generate browser-facing <script> tags in\n // the output of the fastboot build.\n runtime: 'all' | 'browser' | 'fastboot';\n\n // true if this build should be optimized for production, at the cost of\n // slower builds and/or worse debuggability\n optimizeForProduction: boolean;\n}\n\nexport interface PackagerConstructor<Options> {\n new (\n // where on disk the packager will find the app it's supposed to build. The\n // app and its addons will necessarily already be in v2 format, which is\n // what makes a Packager a cleanly separable stage that needs only a small\n // amount of ember-specific knowledge.\n inputPath: string,\n // where the packager should write the packaged app.\n outputPath: string,\n // list of active build variants. There is always at least one variant, but\n // there can be many.\n //\n // The main requirement for correctness is that the Packager is required to\n // apply each variant to the babel and template-compiler configs that it\n // finds in the app in order to build that variant.\n //\n // It is up to each Packager to decide how to combine the output from the\n // multiple variants. It might choose to just put them in separate\n // subdirectories of `outputPath`, or it might know how to combine them\n // correctly into one build that will run each variant under the appropriate\n // conditions.\n //\n // Not all packagers will support all arbitrary combinations of variants.\n variants: Variant[],\n // if possible, the packager should direct its console output through this\n // hook.\n consoleWrite: (message: string) => void,\n // A packager can have whatever custom options type it wants here. If the\n // packager is based on a third-party tool, this is where that tool's\n // configuration can go.\n options?: Options\n ): Packager;\n\n // a description for this packager that aids debugging & profiling\n annotation: string;\n}\n\nexport interface Packager {\n build(): Promise<void>;\n}\n\nexport function applyVariantToBabelConfig(variant: Variant, babelConfig: any) {\n if (variant.runtime === 'fastboot') {\n babelConfig = Object.assign({}, babelConfig);\n if (babelConfig.plugins) {\n babelConfig.plugins = babelConfig.plugins.slice();\n } else {\n babelConfig.plugins = [];\n }\n let macroPlugin = babelConfig.plugins.find(\n (p: any) => Array.isArray(p) && p[1] && p[1].embroiderMacrosConfigMarker\n );\n if (macroPlugin) {\n macroPlugin[1].globalConfig.fastboot = { isRunning: true };\n }\n }\n return babelConfig;\n}\n\nexport function applyVariantToTemplateCompiler(_variant: Variant, templateCompiler: any) {\n // TODO: we don't actually consume the variant in the template macros yet, but\n // Packagers must call this function anyway because we will.\n return templateCompiler;\n}\n\n/**\n * Get the app meta-data for a package\n */\nexport function getAppMeta(pathToVanillaApp: string): AppMeta {\n return JSON.parse(readFileSync(join(pathToVanillaApp, 'package.json'), 'utf8'))['ember-addon'] as AppMeta;\n}\n\n/**\n * Get the path to a cache directory in the recommended location\n *\n * This ensures they have exactly the same lifetime as some of embroider's own caches.\n */\nexport function getPackagerCacheDir(name: string): string {\n return join(tmpdir, 'embroider', name);\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.patch = void 0;
4
+ const types_1 = require("@babel/types");
4
5
  const core_1 = require("@babel/core");
5
6
  function parseVersion(templateCompilerPath, source) {
6
7
  // ember-template-compiler.js contains a comment that indicates what version it is for
@@ -52,7 +53,7 @@ function patch(source, templateCompilerPath) {
52
53
  // https://github.com/glimmerjs/glimmer-vm/pull/941/files because it can
53
54
  // really bork apps under embroider, and we'd like to support at least all
54
55
  // active LTS versions of ember.
55
- patchedSource = core_1.transform(source, {
56
+ patchedSource = (0, core_1.transform)(source, {
56
57
  plugins: [
57
58
  function () {
58
59
  return {
@@ -122,9 +123,9 @@ function patch(source, templateCompilerPath) {
122
123
  // the place we want is the only if with a computed member
123
124
  // expression predicate.
124
125
  if (test.isMemberExpression() && test.node.computed) {
125
- path.node.alternate = core_1.types.ifStatement(core_1.types.memberExpression(core_1.types.identifier('ast'), core_1.types.identifier('selfClosing')), core_1.types.blockStatement([
126
- core_1.types.expressionStatement(core_1.types.callExpression(core_1.types.memberExpression(core_1.types.identifier('output'), core_1.types.identifier('push')), [
127
- core_1.types.stringLiteral(' />'),
126
+ path.node.alternate = (0, types_1.ifStatement)((0, types_1.memberExpression)((0, types_1.identifier)('ast'), (0, types_1.identifier)('selfClosing')), (0, types_1.blockStatement)([
127
+ (0, types_1.expressionStatement)((0, types_1.callExpression)((0, types_1.memberExpression)((0, types_1.identifier)('output'), (0, types_1.identifier)('push')), [
128
+ (0, types_1.stringLiteral)(' />'),
128
129
  ])),
129
130
  ]), path.node.alternate);
130
131
  }
@@ -142,7 +143,7 @@ function patch(source, templateCompilerPath) {
142
143
  // lets us crack open the file and get access to its internal loader, because
143
144
  // we can give it our own predefined `Ember` variable instead, which it will
144
145
  // use and put `Ember.__loader` onto.
145
- patchedSource = core_1.transform(source, {
146
+ patchedSource = (0, core_1.transform)(source, {
146
147
  generatorOpts: {
147
148
  compact: true,
148
149
  },
@@ -1 +1 @@
1
- {"version":3,"file":"patch-template-compiler.js","sourceRoot":"","sources":["patch-template-compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"patch-template-compiler.js","sourceRoot":"","sources":["patch-template-compiler.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CallExpression,\n FunctionDeclaration,\n VariableDeclarator,\n SwitchCase,\n IfStatement,\n ifStatement,\n memberExpression,\n identifier,\n blockStatement,\n callExpression,\n expressionStatement,\n stringLiteral,\n} from '@babel/types';\nimport { NodePath } from '@babel/traverse';\nimport { transform } from '@babel/core';\n\nfunction parseVersion(templateCompilerPath: string, source: string): { major: number; minor: number; patch: number } {\n // ember-template-compiler.js contains a comment that indicates what version it is for\n // that looks like:\n\n /*!\n * @overview Ember - JavaScript Application Framework\n * @copyright Copyright 2011-2020 Tilde Inc. and contributors\n * Portions Copyright 2006-2011 Strobe Inc.\n * Portions Copyright 2008-2011 Apple Inc. All rights reserved.\n * @license Licensed under MIT license\n * See https://raw.github.com/emberjs/ember.js/master/LICENSE\n * @version 3.25.1\n */\n\n let version = source.match(/@version\\s+([\\d\\.]+)/);\n if (!version || !version[1]) {\n throw new Error(\n `Could not find version string in \\`${templateCompilerPath}\\`. Maybe we don't support your ember-source version?`\n );\n }\n\n let numbers = version[1].split('.');\n let major = parseInt(numbers[0], 10);\n let minor = parseInt(numbers[1], 10);\n let patch = parseInt(numbers[2], 10);\n\n return { major, minor, patch };\n}\n\nfunction emberVersionGte(templateCompilerPath: string, source: string, major: number, minor: number): boolean {\n let actual = parseVersion(templateCompilerPath, source);\n\n return actual.major > major || (actual.major === major && actual.minor >= minor);\n}\n\nexport function patch(source: string, templateCompilerPath: string): string {\n let version = parseVersion(templateCompilerPath, source);\n\n if (\n emberVersionGte(templateCompilerPath, source, 3, 26) ||\n (version.major === 3 && version.minor === 25 && version.patch >= 2) ||\n (version.major === 3 && version.minor === 24 && version.patch >= 3)\n ) {\n // no modifications are needed after\n // https://github.com/emberjs/ember.js/pull/19426 and backported to\n // 3.26.0-beta.3, 3.25.2, 3.24.3\n return source;\n }\n\n let replacedVar = false;\n let patchedSource;\n\n let needsAngleBracketPrinterFix =\n emberVersionGte(templateCompilerPath, source, 3, 12) && !emberVersionGte(templateCompilerPath, source, 3, 17);\n\n if (needsAngleBracketPrinterFix) {\n // here we are stripping off the first `var Ember;`. That one small change\n // lets us crack open the file and get access to its internal loader, because\n // we can give it our own predefined `Ember` variable instead, which it will\n // use and put `Ember.__loader` onto.\n //\n // on ember 3.12 through 3.16 (which use variants of glimmer-vm 0.38.5) we\n // also apply a patch to the printer in @glimmer/syntax to fix\n // https://github.com/glimmerjs/glimmer-vm/pull/941/files because it can\n // really bork apps under embroider, and we'd like to support at least all\n // active LTS versions of ember.\n patchedSource = transform(source, {\n plugins: [\n function () {\n return {\n visitor: {\n VariableDeclarator(path: NodePath<VariableDeclarator>) {\n let id = path.node.id;\n if (id.type === 'Identifier' && id.name === 'Ember' && !replacedVar) {\n replacedVar = true;\n path.remove();\n }\n },\n CallExpression: {\n enter(path: NodePath<CallExpression>, state: BabelState) {\n let callee = path.get('callee');\n if (!callee.isIdentifier() || callee.node.name !== 'define') {\n return;\n }\n let firstArg = path.get('arguments')[0];\n if (!firstArg.isStringLiteral() || firstArg.node.value !== '@glimmer/syntax') {\n return;\n }\n state.definingGlimmerSyntax = path;\n },\n exit(path: NodePath<CallExpression>, state: BabelState) {\n if (state.definingGlimmerSyntax === path) {\n state.definingGlimmerSyntax = false;\n }\n },\n },\n FunctionDeclaration: {\n enter(path: NodePath<FunctionDeclaration>, state: BabelState) {\n if (!state.definingGlimmerSyntax) {\n return;\n }\n let id = path.get('id');\n if (id.isIdentifier() && id.node.name === 'build') {\n state.declaringBuildFunction = path;\n }\n },\n exit(path: NodePath<FunctionDeclaration>, state: BabelState) {\n if (state.declaringBuildFunction === path) {\n state.declaringBuildFunction = false;\n }\n },\n },\n SwitchCase: {\n enter(path: NodePath<SwitchCase>, state: BabelState) {\n if (!state.definingGlimmerSyntax) {\n return;\n }\n let test = path.get('test');\n if (test.isStringLiteral() && test.node.value === 'ElementNode') {\n state.caseElementNode = path;\n }\n },\n exit(path: NodePath<SwitchCase>, state: BabelState) {\n if (state.caseElementNode === path) {\n state.caseElementNode = false;\n }\n },\n },\n IfStatement(path: NodePath<IfStatement>, state: BabelState) {\n if (!state.caseElementNode) {\n return;\n }\n let test = path.get('test');\n // the place we want is the only if with a computed member\n // expression predicate.\n if (test.isMemberExpression() && test.node.computed) {\n path.node.alternate = ifStatement(\n memberExpression(identifier('ast'), identifier('selfClosing')),\n blockStatement([\n expressionStatement(\n callExpression(memberExpression(identifier('output'), identifier('push')), [\n stringLiteral(' />'),\n ])\n ),\n ]),\n path.node.alternate\n );\n }\n },\n },\n };\n },\n ],\n })!.code!;\n } else {\n // applies to < 3.12 and >= 3.17\n //\n // here we are stripping off the first `var Ember;`. That one small change\n // lets us crack open the file and get access to its internal loader, because\n // we can give it our own predefined `Ember` variable instead, which it will\n // use and put `Ember.__loader` onto.\n patchedSource = transform(source, {\n generatorOpts: {\n compact: true,\n },\n plugins: [\n function () {\n return {\n visitor: {\n VariableDeclarator(path: NodePath<VariableDeclarator>) {\n let id = path.node.id;\n if (id.type === 'Identifier' && id.name === 'Ember' && !replacedVar) {\n replacedVar = true;\n path.remove();\n }\n },\n },\n };\n },\n ],\n })!.code!;\n }\n\n if (!replacedVar) {\n throw new Error(\n `didn't find expected source in ${templateCompilerPath}. Maybe we don't support your ember-source version?`\n );\n }\n\n return `\n let Ember = {};\n ${patchedSource};\n module.exports.Ember = Ember;\n `;\n}\n\ninterface BabelState {\n definingGlimmerSyntax: NodePath | false;\n declaringBuildFunction: NodePath | false;\n caseElementNode: NodePath | false;\n}\n"]}
@@ -52,7 +52,7 @@ class PortableBabelConfig {
52
52
  // portable babel launcher
53
53
  return {
54
54
  value: [
55
- path_1.join(__dirname, 'portable-babel-launcher.js'),
55
+ (0, path_1.join)(__dirname, 'portable-babel-launcher.js'),
56
56
  { module: dehydrated.value[0], arg: dehydrated.value[1], hints: this.hints },
57
57
  dehydrated.value[2] || `portable-babel-launcher-${accessPath[1]}`,
58
58
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"portable-babel-config.js","sourceRoot":"","sources":["portable-babel-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portable-babel-config.js","sourceRoot":"","sources":["portable-babel-config.ts"],"names":[],"mappings":"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","sourcesContent":["import { TransformOptions } from '@babel/core';\nimport { join } from 'path';\nimport resolve from 'resolve';\nimport { Portable, PortableHint } from './portable';\n\nexport type ResolveOptions = { basedir: string } | { resolve: (name: string) => any };\n\nexport function makePortable(\n config: TransformOptions,\n resolveOptions: ResolveOptions,\n hints: PortableHint[]\n): { config: TransformOptions; isParallelSafe: boolean } {\n return new PortableBabelConfig(resolveOptions, hints).convert(config);\n}\n\nclass PortableBabelConfig {\n private resolve: (name: string) => any;\n private basedir: string | undefined;\n\n constructor(resolveOptions: ResolveOptions, private hints: PortableHint[]) {\n if ('resolve' in resolveOptions) {\n this.resolve = resolveOptions.resolve;\n } else {\n this.basedir = resolveOptions.basedir;\n this.resolve = (name: string) => resolve.sync(name, { basedir: resolveOptions.basedir });\n }\n }\n\n convert(config: TransformOptions): { config: TransformOptions; isParallelSafe: boolean } {\n let portable: Portable = new Portable({\n hints: this.hints,\n dehydrate: (value: any, accessPath: string[]) => {\n // this custom dehydrate hook handles babel plugins & presets. If we're\n // not looking at plugins or presets, continue with stock Portable\n // behavior\n if (accessPath.length !== 2 || (accessPath[0] !== 'plugins' && accessPath[0] !== 'presets')) {\n return undefined;\n }\n\n // standardize to always handle an array\n if (!Array.isArray(value)) {\n value = [value];\n }\n\n let [plugin, argument, asName] = value;\n\n // string plugins need to get resolved correctly into absolute paths,\n // so they will really be portable\n if (typeof plugin === 'string') {\n plugin = this.resolveBabelPlugin(plugin);\n }\n\n // next we deal with serializability. Our Portable system already\n // understands the protocol used by ember-cli-babel to identify plugin\n // classes and get back to their serializable forms, so this will\n // handle that case.\n let dehydrated = portable.dehydrate([plugin, argument, asName], accessPath.concat('_internal'));\n\n if (dehydrated.needsHydrate) {\n // we can eliminate the need for rehydration by going through our own\n // portable babel launcher\n return {\n value: [\n join(__dirname, 'portable-babel-launcher.js'),\n { module: dehydrated.value[0], arg: dehydrated.value[1], hints: this.hints },\n dehydrated.value[2] || `portable-babel-launcher-${accessPath[1]}`,\n ],\n needsHydrate: false,\n isParallelSafe: dehydrated.isParallelSafe,\n };\n } else {\n // trim back down our array, because trailing undefined will get\n // converted into null via json.stringify, and babel will complain\n // about that.\n while (dehydrated.value[dehydrated.value.length - 1] == null) {\n dehydrated.value.pop();\n }\n if (dehydrated.value.length === 1) {\n dehydrated.value = dehydrated.value[0];\n }\n return {\n value: dehydrated.value,\n needsHydrate: dehydrated.needsHydrate,\n isParallelSafe: dehydrated.isParallelSafe,\n };\n }\n },\n });\n let result = portable.dehydrate(config);\n if (result.needsHydrate) {\n throw new Error(`bug: portable babel configs aren't supposed to need hydration`);\n }\n return { config: result.value, isParallelSafe: result.isParallelSafe };\n }\n\n // babel lets you use relative paths, absolute paths, package names, and\n // package name shorthands.\n //\n // my-plugin -> my-plugin\n // my-plugin -> babel-plugin-my-plugin\n // @me/thing -> @me/thing\n // @me/thing -> @me/babel-plugin-thing\n // ./here -> /your/app/here\n // /tmp/there -> /tmp/there\n //\n private resolveBabelPlugin(name: string) {\n try {\n return this.resolve(name);\n } catch (err) {\n if (err.code !== 'MODULE_NOT_FOUND') {\n throw err;\n }\n if (name.startsWith('.') || name.startsWith('/')) {\n throw err;\n }\n try {\n let expanded;\n if (name.startsWith('@')) {\n let [space, pkg, ...rest] = name.split('/');\n expanded = [space, `babel-plugin-${pkg}`, ...rest].join('/');\n } else {\n expanded = `babel-plugin-${name}`;\n }\n return this.resolve(expanded);\n } catch (err2) {\n if (err2.code !== 'MODULE_NOT_FOUND') {\n throw err2;\n }\n if (this.basedir) {\n throw new Error(`unable to resolve babel plugin ${name} from ${this.basedir}`);\n } else {\n throw new Error(`unable to resolve babel plugin ${name}`);\n }\n }\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"portable-babel-launcher.js","sourceRoot":"","sources":["portable-babel-launcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"portable-babel-launcher.js","sourceRoot":"","sources":["portable-babel-launcher.ts"],"names":[],"mappings":"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","sourcesContent":["import { Portable, PortableHint } from './portable';\n\nexport default function babelLauncher(\n this: any,\n babel: any,\n launch: { module: any; arg: any; hints: PortableHint[] },\n key: string\n) {\n let p = new Portable({ hints: launch.hints });\n let hydrated = p.hydrate(launch);\n let module;\n if (typeof hydrated.module === 'string') {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n module = require(hydrated.module);\n if (module.__esModule) {\n module = module.default;\n }\n } else {\n module = hydrated.module;\n }\n\n let plugin = module.call(this, babel, hydrated.arg, key);\n let innerStates = new WeakMap();\n\n function convertState(state: any) {\n let innerState = innerStates.get(state);\n if (!innerState) {\n innerState = Object.assign({}, state, { opts: hydrated.arg });\n innerStates.set(state, innerState);\n }\n return innerState;\n }\n\n function wrap1(original: any) {\n if (typeof original === 'function') {\n return function (this: any, state: any) {\n return original.call(this, convertState(state));\n };\n }\n }\n\n function wrap2(original: Function) {\n return function (this: any, path: any, state: any) {\n return original.call(this, path, convertState(state));\n };\n }\n\n let visitorProxy = {\n get(target: any, prop: string) {\n let original = target[prop];\n if (typeof original === 'function') {\n return wrap2(original);\n }\n if (original && typeof original === 'object') {\n let wrapped: any = {};\n if (typeof original.exit === 'function') {\n wrapped.exit = wrap2(original.exit);\n }\n if (typeof original.enter === 'function') {\n wrapped.enter = wrap2(original.enter);\n }\n return wrapped;\n }\n return original;\n },\n };\n\n return new Proxy(plugin, {\n get(target, prop) {\n let original = target[prop];\n switch (prop) {\n case 'pre':\n case 'post':\n return wrap1(original);\n case 'visitor':\n return new Proxy(original, visitorProxy);\n default:\n return original;\n }\n },\n });\n}\n"]}
package/src/portable.js CHANGED
@@ -67,7 +67,7 @@ class Portable {
67
67
  if (Object.getPrototypeOf(value) === Object.prototype) {
68
68
  let isParallelSafe = true;
69
69
  let needsHydrate = false;
70
- let result = mapValues_1.default(value, (propertyValue, key) => {
70
+ let result = (0, mapValues_1.default)(value, (propertyValue, key) => {
71
71
  let result = this.dehydrate(propertyValue, accessPath.concat(key));
72
72
  isParallelSafe = isParallelSafe && result.isParallelSafe;
73
73
  needsHydrate = needsHydrate || result.needsHydrate;
@@ -116,11 +116,11 @@ class Portable {
116
116
  case 'htmlbars-parallel':
117
117
  return buildHTMLBars(placeholder);
118
118
  default:
119
- assert_never_1.default(placeholder);
119
+ (0, assert_never_1.default)(placeholder);
120
120
  }
121
121
  }
122
122
  else {
123
- return mapValues_1.default(input, (value, key) => this.hydrate(value, accessPath.concat(key)));
123
+ return (0, mapValues_1.default)(input, (value, key) => this.hydrate(value, accessPath.concat(key)));
124
124
  }
125
125
  }
126
126
  return input;
@@ -141,7 +141,7 @@ class Portable {
141
141
  }
142
142
  }
143
143
  __decorate([
144
- typescript_memoize_1.Memoize()
144
+ (0, typescript_memoize_1.Memoize)()
145
145
  ], Portable.prototype, "foundHints", null);
146
146
  exports.Portable = Portable;
147
147
  function setupGlobals() {