@embroider/compat 3.8.1 → 4.0.0-alpha.1

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 (100) hide show
  1. package/babel.js +1 -0
  2. package/package.json +20 -14
  3. package/src/audit/babel-visitor.js +7 -1
  4. package/src/audit/babel-visitor.js.map +1 -1
  5. package/src/audit/build.js.map +1 -1
  6. package/src/audit/options.d.ts +2 -1
  7. package/src/audit/options.js.map +1 -1
  8. package/src/audit.d.ts +7 -57
  9. package/src/audit.js +101 -301
  10. package/src/audit.js.map +1 -1
  11. package/src/babel-plugin-adjust-imports.js +19 -18
  12. package/src/babel-plugin-adjust-imports.js.map +1 -1
  13. package/src/babel.d.ts +17 -0
  14. package/src/babel.js +146 -0
  15. package/src/babel.js.map +1 -0
  16. package/src/compat-adapters/@ember-data/store.d.ts +1 -5
  17. package/src/compat-adapters/@ember-data/store.js +3 -15
  18. package/src/compat-adapters/@ember-data/store.js.map +1 -1
  19. package/src/compat-adapters/active-model-adapter.d.ts +1 -1
  20. package/src/compat-adapters/ember-asset-loader.d.ts +1 -1
  21. package/src/compat-adapters/ember-cli-addon-docs.d.ts +1 -1
  22. package/src/compat-adapters/ember-cli-fastboot.js +0 -1
  23. package/src/compat-adapters/ember-cli-fastboot.js.map +1 -1
  24. package/src/compat-adapters/ember-cli-mirage.js +0 -1
  25. package/src/compat-adapters/ember-cli-mirage.js.map +1 -1
  26. package/src/compat-adapters/ember-decorators.d.ts +1 -1
  27. package/src/compat-adapters/ember-fetch.d.ts +5 -0
  28. package/src/compat-adapters/{ember-macro-helpers.js → ember-fetch.js} +5 -4
  29. package/src/compat-adapters/ember-fetch.js.map +1 -0
  30. package/src/compat-adapters/ember-percy.d.ts +1 -1
  31. package/src/compat-adapters/ember-resolver.d.ts +4 -0
  32. package/src/compat-adapters/ember-resolver.js +21 -0
  33. package/src/compat-adapters/ember-resolver.js.map +1 -0
  34. package/src/compat-adapters/ember-scroll-modifiers.d.ts +1 -1
  35. package/src/compat-adapters/ember-source.d.ts +3 -6
  36. package/src/compat-adapters/ember-source.js +26 -41
  37. package/src/compat-adapters/ember-source.js.map +1 -1
  38. package/src/compat-adapters/ember-test-selectors.d.ts +1 -1
  39. package/src/compat-addons.js +1 -1
  40. package/src/compat-addons.js.map +1 -1
  41. package/src/compat-app-builder.d.ts +9 -67
  42. package/src/compat-app-builder.js +108 -1299
  43. package/src/compat-app-builder.js.map +1 -1
  44. package/src/compat-app.d.ts +4 -22
  45. package/src/compat-app.js +78 -221
  46. package/src/compat-app.js.map +1 -1
  47. package/src/content-for-config.d.ts +11 -0
  48. package/src/content-for-config.js +66 -0
  49. package/src/content-for-config.js.map +1 -0
  50. package/src/default-pipeline.d.ts +4 -5
  51. package/src/default-pipeline.js +21 -46
  52. package/src/default-pipeline.js.map +1 -1
  53. package/src/dependency-rules.d.ts +1 -0
  54. package/src/dependency-rules.js +19 -11
  55. package/src/dependency-rules.js.map +1 -1
  56. package/src/detect-babel-plugins.d.ts +1 -0
  57. package/src/detect-babel-plugins.js +14 -0
  58. package/src/detect-babel-plugins.js.map +1 -1
  59. package/src/http-audit.d.ts +13 -0
  60. package/src/http-audit.js +60 -0
  61. package/src/http-audit.js.map +1 -0
  62. package/src/index.d.ts +2 -2
  63. package/src/index.js +3 -4
  64. package/src/index.js.map +1 -1
  65. package/src/module-visitor.d.ts +52 -0
  66. package/src/module-visitor.js +285 -0
  67. package/src/module-visitor.js.map +1 -0
  68. package/src/options.d.ts +4 -43
  69. package/src/options.js +35 -12
  70. package/src/options.js.map +1 -1
  71. package/src/resolver-transform.d.ts +1 -1
  72. package/src/resolver-transform.js +71 -43
  73. package/src/resolver-transform.js.map +1 -1
  74. package/src/standalone-addon-build.js +6 -15
  75. package/src/standalone-addon-build.js.map +1 -1
  76. package/src/v1-addon.js +6 -35
  77. package/src/v1-addon.js.map +1 -1
  78. package/src/v1-config.d.ts +0 -8
  79. package/src/v1-config.js +1 -51
  80. package/src/v1-config.js.map +1 -1
  81. package/src/audit-cli.d.ts +0 -2
  82. package/src/audit-cli.js +0 -150
  83. package/src/audit-cli.js.map +0 -1
  84. package/src/compat-adapters/@ember-data/debug.d.ts +0 -6
  85. package/src/compat-adapters/@ember-data/debug.js +0 -22
  86. package/src/compat-adapters/@ember-data/debug.js.map +0 -1
  87. package/src/compat-adapters/ember-macro-helpers.d.ts +0 -4
  88. package/src/compat-adapters/ember-macro-helpers.js.map +0 -1
  89. package/src/rename-require-plugin.d.ts +0 -1
  90. package/src/rename-require-plugin.js +0 -15
  91. package/src/rename-require-plugin.js.map +0 -1
  92. package/src/sync-dir.d.ts +0 -8
  93. package/src/sync-dir.js +0 -68
  94. package/src/sync-dir.js.map +0 -1
  95. package/src/template-tag-codemod.d.ts +0 -13
  96. package/src/template-tag-codemod.js +0 -302
  97. package/src/template-tag-codemod.js.map +0 -1
  98. package/src/v1-appboot.d.ts +0 -14
  99. package/src/v1-appboot.js +0 -47
  100. package/src/v1-appboot.js.map +0 -1
@@ -1,14 +1,11 @@
1
1
  import V1Addon from '../v1-addon';
2
2
  export default class extends V1Addon {
3
3
  get v2Tree(): Node;
4
- private get useStaticEmber();
5
4
  private get includedDependencies();
6
- get newPackageJSON(): import("@embroider/core").PackageInfo;
5
+ get newPackageJSON(): import("@embroider/shared-internals").PackageInfo;
7
6
  customizes(treeName: string): boolean;
8
- invokeOriginalTreeFor(name: string, opts?: {
9
- neuterPreprocessors: boolean;
10
- }): any;
7
+ invokeOriginalTreeFor(name: string): any;
11
8
  private customAddonTree;
12
9
  private customVendorTree;
13
- get packageMeta(): Partial<import("@embroider/core").AddonMeta>;
10
+ get packageMeta(): Partial<import("@embroider/shared-internals").AddonMeta>;
14
11
  }
@@ -24,9 +24,6 @@ class default_1 extends v1_addon_1.default {
24
24
  get v2Tree() {
25
25
  return (0, broccoli_merge_trees_1.default)([super.v2Tree, (0, broccoli_funnel_1.default)(this.rootTree, { include: ['dist/ember-template-compiler.js'] })]);
26
26
  }
27
- get useStaticEmber() {
28
- return this.app.options.staticEmberSource;
29
- }
30
27
  // versions of ember-source prior to
31
28
  // https://github.com/emberjs/ember.js/pull/20675 ship dist/packages and
32
29
  // dist/dependencies separately and the imports between them are package-name
@@ -65,36 +62,26 @@ class default_1 extends v1_addon_1.default {
65
62
  get newPackageJSON() {
66
63
  var _a;
67
64
  let json = super.newPackageJSON;
68
- if (this.useStaticEmber) {
69
- for (let name of this.includedDependencies) {
70
- // weirdly, many of the inlined dependency are still listed as real
71
- // dependencies too. If we don't delete them here, they will take
72
- // precedence over the inlined ones, because the embroider module-resolver
73
- // tries to prioritize real deps.
74
- (_a = json.dependencies) === null || _a === void 0 ? true : delete _a[name];
75
- }
65
+ for (let name of this.includedDependencies) {
66
+ // weirdly, many of the inlined dependency are still listed as real
67
+ // dependencies too. If we don't delete them here, they will take
68
+ // precedence over the inlined ones, because the embroider module-resolver
69
+ // tries to prioritize real deps.
70
+ (_a = json.dependencies) === null || _a === void 0 ? true : delete _a[name];
76
71
  }
77
72
  return json;
78
73
  }
79
74
  customizes(treeName) {
80
- if (this.useStaticEmber) {
81
- // we are adding custom implementations of these
82
- return treeName === 'treeForAddon' || treeName === 'treeForVendor' || super.customizes(treeName);
83
- }
84
- else {
85
- return super.customizes(treeName);
86
- }
75
+ // we are adding custom implementations of these
76
+ return treeName === 'treeForAddon' || treeName === 'treeForVendor' || super.customizes(treeName);
87
77
  }
88
- invokeOriginalTreeFor(name, opts = { neuterPreprocessors: false }) {
89
- if (this.useStaticEmber) {
90
- if (name === 'addon') {
91
- return this.customAddonTree();
92
- }
93
- if (name === 'vendor') {
94
- return this.customVendorTree();
95
- }
78
+ invokeOriginalTreeFor(name) {
79
+ if (name === 'addon') {
80
+ return this.customAddonTree();
81
+ }
82
+ if (name === 'vendor') {
83
+ return this.customVendorTree();
96
84
  }
97
- return super.invokeOriginalTreeFor(name, opts);
98
85
  }
99
86
  // Our addon tree is all of the "packages" we share. @embroider/compat already
100
87
  // supports that pattern of emitting modules into other package's namespaces.
@@ -135,21 +122,19 @@ class default_1 extends v1_addon_1.default {
135
122
  }
136
123
  get packageMeta() {
137
124
  let meta = super.packageMeta;
138
- if (this.useStaticEmber) {
139
- if (!meta['implicit-modules']) {
140
- meta['implicit-modules'] = [];
141
- }
142
- meta['implicit-modules'].push('./ember/index.js');
143
- // before 5.6, Ember uses the AMD loader to decide if it's test-only parts
144
- // are present, so we must ensure they're registered. After that it's
145
- // enough to evaluate ember-testing, which @embroider/core is hard-coded
146
- // to do in the backward-compatible tests bundle.
147
- if (!(0, semver_1.satisfies)(this.packageJSON.version, '>= 5.6.0-alpha.0', { includePrerelease: true })) {
148
- if (!meta['implicit-test-modules']) {
149
- meta['implicit-test-modules'] = [];
150
- }
151
- meta['implicit-test-modules'].push('./ember-testing/index.js');
125
+ if (!meta['implicit-modules']) {
126
+ meta['implicit-modules'] = [];
127
+ }
128
+ meta['implicit-modules'].push('./ember/index.js');
129
+ // before 5.6, Ember uses the AMD loader to decide if it's test-only parts
130
+ // are present, so we must ensure they're registered. After that it's
131
+ // enough to evaluate ember-testing, which @embroider/core is hard-coded
132
+ // to do in the backward-compatible tests bundle.
133
+ if (!(0, semver_1.satisfies)(this.packageJSON.version, '>= 5.6.0-alpha.0', { includePrerelease: true })) {
134
+ if (!meta['implicit-test-modules']) {
135
+ meta['implicit-test-modules'] = [];
152
136
  }
137
+ meta['implicit-test-modules'].push('./ember-testing/index.js');
153
138
  }
154
139
  return meta;
155
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ember-source.js","sourceRoot":"","sources":["ember-source.ts"],"names":[],"mappings":"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","sourcesContent":["import V1Addon from '../v1-addon';\nimport buildFunnel from 'broccoli-funnel';\nimport mergeTrees from 'broccoli-merge-trees';\nimport AddToTree from '../add-to-tree';\nimport { outputFileSync, readFileSync, readdirSync, unlinkSync } from 'fs-extra';\nimport { join, resolve } from 'path';\nimport { Memoize } from 'typescript-memoize';\nimport { satisfies } from 'semver';\nimport { transform } from '@babel/core';\nimport type * as Babel from '@babel/core';\nimport type { NodePath } from '@babel/traverse';\nimport Plugin from 'broccoli-plugin';\nimport type { Node } from 'broccoli-node-api';\nimport { existsSync } from 'fs';\n\nexport default class extends V1Addon {\n get v2Tree() {\n return mergeTrees([super.v2Tree, buildFunnel(this.rootTree, { include: ['dist/ember-template-compiler.js'] })]);\n }\n\n private get useStaticEmber(): boolean {\n return this.app.options.staticEmberSource;\n }\n\n // versions of ember-source prior to\n // https://github.com/emberjs/ember.js/pull/20675 ship dist/packages and\n // dist/dependencies separately and the imports between them are package-name\n // imports. Since many of the dependencies are also true package.json\n // dependencies (in order to get typescript types), and our module-resolver\n // prioritizes true dependencies, it's necessary to detect and remove the\n // package.json dependencies.\n //\n // After the above linked change, ember-source ships only dist/packages and\n // the inter-package imports are all relative. Some of the things in\n // dist/packages are still the rolled-in dependencies, but now that the\n // imports are all relative we need no special handling for them (beyond the\n // normal v2 addon renamed-modules support.\n @Memoize()\n private get includedDependencies() {\n let result: string[] = [];\n let depsDir = resolve(this.root, 'dist', 'dependencies');\n if (!existsSync(depsDir)) {\n return result;\n }\n for (let name of readdirSync(depsDir)) {\n if (name[0] === '@') {\n for (let innerName of readdirSync(resolve(this.root, 'dist', 'dependencies', name))) {\n if (innerName.endsWith('.js')) {\n result.push(name + '/' + innerName.slice(0, -3));\n }\n }\n } else {\n if (name.endsWith('.js')) {\n result.push(name.slice(0, -3));\n }\n }\n }\n return result;\n }\n\n get newPackageJSON() {\n let json = super.newPackageJSON;\n if (this.useStaticEmber) {\n for (let name of this.includedDependencies) {\n // weirdly, many of the inlined dependency are still listed as real\n // dependencies too. If we don't delete them here, they will take\n // precedence over the inlined ones, because the embroider module-resolver\n // tries to prioritize real deps.\n delete json.dependencies?.[name];\n }\n }\n return json;\n }\n\n customizes(treeName: string) {\n if (this.useStaticEmber) {\n // we are adding custom implementations of these\n return treeName === 'treeForAddon' || treeName === 'treeForVendor' || super.customizes(treeName);\n } else {\n return super.customizes(treeName);\n }\n }\n\n invokeOriginalTreeFor(name: string, opts: { neuterPreprocessors: boolean } = { neuterPreprocessors: false }) {\n if (this.useStaticEmber) {\n if (name === 'addon') {\n return this.customAddonTree();\n }\n if (name === 'vendor') {\n return this.customVendorTree();\n }\n }\n return super.invokeOriginalTreeFor(name, opts);\n }\n\n // Our addon tree is all of the \"packages\" we share. @embroider/compat already\n // supports that pattern of emitting modules into other package's namespaces.\n private customAddonTree() {\n let packages = buildFunnel(this.rootTree, {\n srcDir: 'dist/packages',\n });\n\n let trees: Node[] = [\n packages,\n buildFunnel(this.rootTree, {\n srcDir: 'dist/dependencies',\n allowEmpty: true,\n }),\n ];\n\n if (satisfies(this.packageJSON.version, '>= 4.0.0-alpha.0 <4.10.0-alpha.0', { includePrerelease: true })) {\n // import { loc } from '@ember/string' was removed in 4.0. but the\n // top-level `ember` package tries to import it until 4.10. A\n // spec-compliant ES modules implementation will treat this as a parse\n // error.\n trees.push(new FixStringLoc([packages]));\n }\n\n return mergeTrees(trees, { overwrite: true });\n }\n\n // We're zeroing out these files in vendor rather than deleting them, because\n // we can't easily intercept the `app.import` that presumably exists for them,\n // so rather than error they will just be empty.\n //\n // The reason we're zeroing these out is that we're going to consume all our\n // modules directly out of treeForAddon instead, as real modules that webpack\n // can see.\n private customVendorTree() {\n return new AddToTree(this.addonInstance._treeFor('vendor'), outputPath => {\n unlinkSync(join(outputPath, 'ember', 'ember.js'));\n outputFileSync(join(outputPath, 'ember', 'ember.js'), '');\n unlinkSync(join(outputPath, 'ember', 'ember-testing.js'));\n outputFileSync(join(outputPath, 'ember', 'ember-testing.js'), '');\n });\n }\n\n get packageMeta() {\n let meta = super.packageMeta;\n if (this.useStaticEmber) {\n if (!meta['implicit-modules']) {\n meta['implicit-modules'] = [];\n }\n meta['implicit-modules'].push('./ember/index.js');\n // before 5.6, Ember uses the AMD loader to decide if it's test-only parts\n // are present, so we must ensure they're registered. After that it's\n // enough to evaluate ember-testing, which @embroider/core is hard-coded\n // to do in the backward-compatible tests bundle.\n if (!satisfies(this.packageJSON.version, '>= 5.6.0-alpha.0', { includePrerelease: true })) {\n if (!meta['implicit-test-modules']) {\n meta['implicit-test-modules'] = [];\n }\n meta['implicit-test-modules'].push('./ember-testing/index.js');\n }\n }\n return meta;\n }\n}\n\nclass FixStringLoc extends Plugin {\n build() {\n let inSource = readFileSync(resolve(this.inputPaths[0], 'ember', 'index.js'), 'utf8');\n let outSource = transform(inSource, {\n plugins: [fixStringLoc],\n configFile: false,\n })!.code!;\n outputFileSync(resolve(this.outputPath, 'ember', 'index.js'), outSource, 'utf8');\n }\n}\n\nfunction fixStringLoc(babel: typeof Babel) {\n let t = babel.types;\n return {\n visitor: {\n Program(path: NodePath<Babel.types.Program>) {\n path.node.body.unshift(\n t.variableDeclaration('const', [t.variableDeclarator(t.identifier('loc'), t.identifier('undefined'))])\n );\n },\n ImportDeclaration: {\n enter(path: NodePath<Babel.types.ImportDeclaration>, state: { inEmberString: boolean }) {\n if (path.node.source.value === '@ember/string') {\n state.inEmberString = true;\n }\n },\n exit(_path: NodePath<Babel.types.ImportDeclaration>, state: { inEmberString: boolean }) {\n state.inEmberString = false;\n },\n },\n ImportSpecifier(path: NodePath<Babel.types.ImportSpecifier>, state: { inEmberString: boolean }) {\n let name = 'value' in path.node.imported ? path.node.imported.value : path.node.imported.name;\n if (state.inEmberString && name === 'loc') {\n path.remove();\n }\n },\n },\n };\n}\n"]}
1
+ {"version":3,"file":"ember-source.js","sourceRoot":"","sources":["ember-source.ts"],"names":[],"mappings":"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","sourcesContent":["import V1Addon from '../v1-addon';\nimport buildFunnel from 'broccoli-funnel';\nimport mergeTrees from 'broccoli-merge-trees';\nimport AddToTree from '../add-to-tree';\nimport { outputFileSync, readFileSync, readdirSync, unlinkSync } from 'fs-extra';\nimport { join, resolve } from 'path';\nimport { Memoize } from 'typescript-memoize';\nimport { satisfies } from 'semver';\nimport { transform } from '@babel/core';\nimport type * as Babel from '@babel/core';\nimport type { NodePath } from '@babel/traverse';\nimport Plugin from 'broccoli-plugin';\nimport type { Node } from 'broccoli-node-api';\nimport { existsSync } from 'fs';\n\nexport default class extends V1Addon {\n get v2Tree() {\n return mergeTrees([super.v2Tree, buildFunnel(this.rootTree, { include: ['dist/ember-template-compiler.js'] })]);\n }\n\n // versions of ember-source prior to\n // https://github.com/emberjs/ember.js/pull/20675 ship dist/packages and\n // dist/dependencies separately and the imports between them are package-name\n // imports. Since many of the dependencies are also true package.json\n // dependencies (in order to get typescript types), and our module-resolver\n // prioritizes true dependencies, it's necessary to detect and remove the\n // package.json dependencies.\n //\n // After the above linked change, ember-source ships only dist/packages and\n // the inter-package imports are all relative. Some of the things in\n // dist/packages are still the rolled-in dependencies, but now that the\n // imports are all relative we need no special handling for them (beyond the\n // normal v2 addon renamed-modules support.\n @Memoize()\n private get includedDependencies() {\n let result: string[] = [];\n let depsDir = resolve(this.root, 'dist', 'dependencies');\n if (!existsSync(depsDir)) {\n return result;\n }\n for (let name of readdirSync(depsDir)) {\n if (name[0] === '@') {\n for (let innerName of readdirSync(resolve(this.root, 'dist', 'dependencies', name))) {\n if (innerName.endsWith('.js')) {\n result.push(name + '/' + innerName.slice(0, -3));\n }\n }\n } else {\n if (name.endsWith('.js')) {\n result.push(name.slice(0, -3));\n }\n }\n }\n return result;\n }\n\n get newPackageJSON() {\n let json = super.newPackageJSON;\n\n for (let name of this.includedDependencies) {\n // weirdly, many of the inlined dependency are still listed as real\n // dependencies too. If we don't delete them here, they will take\n // precedence over the inlined ones, because the embroider module-resolver\n // tries to prioritize real deps.\n delete json.dependencies?.[name];\n }\n\n return json;\n }\n\n customizes(treeName: string) {\n // we are adding custom implementations of these\n return treeName === 'treeForAddon' || treeName === 'treeForVendor' || super.customizes(treeName);\n }\n\n invokeOriginalTreeFor(name: string) {\n if (name === 'addon') {\n return this.customAddonTree();\n }\n if (name === 'vendor') {\n return this.customVendorTree();\n }\n }\n\n // Our addon tree is all of the \"packages\" we share. @embroider/compat already\n // supports that pattern of emitting modules into other package's namespaces.\n private customAddonTree() {\n let packages = buildFunnel(this.rootTree, {\n srcDir: 'dist/packages',\n });\n\n let trees: Node[] = [\n packages,\n buildFunnel(this.rootTree, {\n srcDir: 'dist/dependencies',\n allowEmpty: true,\n }),\n ];\n\n if (satisfies(this.packageJSON.version, '>= 4.0.0-alpha.0 <4.10.0-alpha.0', { includePrerelease: true })) {\n // import { loc } from '@ember/string' was removed in 4.0. but the\n // top-level `ember` package tries to import it until 4.10. A\n // spec-compliant ES modules implementation will treat this as a parse\n // error.\n trees.push(new FixStringLoc([packages]));\n }\n\n return mergeTrees(trees, { overwrite: true });\n }\n\n // We're zeroing out these files in vendor rather than deleting them, because\n // we can't easily intercept the `app.import` that presumably exists for them,\n // so rather than error they will just be empty.\n //\n // The reason we're zeroing these out is that we're going to consume all our\n // modules directly out of treeForAddon instead, as real modules that webpack\n // can see.\n private customVendorTree() {\n return new AddToTree(this.addonInstance._treeFor('vendor'), outputPath => {\n unlinkSync(join(outputPath, 'ember', 'ember.js'));\n outputFileSync(join(outputPath, 'ember', 'ember.js'), '');\n unlinkSync(join(outputPath, 'ember', 'ember-testing.js'));\n outputFileSync(join(outputPath, 'ember', 'ember-testing.js'), '');\n });\n }\n\n get packageMeta() {\n let meta = super.packageMeta;\n\n if (!meta['implicit-modules']) {\n meta['implicit-modules'] = [];\n }\n meta['implicit-modules'].push('./ember/index.js');\n // before 5.6, Ember uses the AMD loader to decide if it's test-only parts\n // are present, so we must ensure they're registered. After that it's\n // enough to evaluate ember-testing, which @embroider/core is hard-coded\n // to do in the backward-compatible tests bundle.\n if (!satisfies(this.packageJSON.version, '>= 5.6.0-alpha.0', { includePrerelease: true })) {\n if (!meta['implicit-test-modules']) {\n meta['implicit-test-modules'] = [];\n }\n meta['implicit-test-modules'].push('./ember-testing/index.js');\n }\n\n return meta;\n }\n}\n\nclass FixStringLoc extends Plugin {\n build() {\n let inSource = readFileSync(resolve(this.inputPaths[0], 'ember', 'index.js'), 'utf8');\n let outSource = transform(inSource, {\n plugins: [fixStringLoc],\n configFile: false,\n })!.code!;\n outputFileSync(resolve(this.outputPath, 'ember', 'index.js'), outSource, 'utf8');\n }\n}\n\nfunction fixStringLoc(babel: typeof Babel) {\n let t = babel.types;\n return {\n visitor: {\n Program(path: NodePath<Babel.types.Program>) {\n path.node.body.unshift(\n t.variableDeclaration('const', [t.variableDeclarator(t.identifier('loc'), t.identifier('undefined'))])\n );\n },\n ImportDeclaration: {\n enter(path: NodePath<Babel.types.ImportDeclaration>, state: { inEmberString: boolean }) {\n if (path.node.source.value === '@ember/string') {\n state.inEmberString = true;\n }\n },\n exit(_path: NodePath<Babel.types.ImportDeclaration>, state: { inEmberString: boolean }) {\n state.inEmberString = false;\n },\n },\n ImportSpecifier(path: NodePath<Babel.types.ImportSpecifier>, state: { inEmberString: boolean }) {\n let name = 'value' in path.node.imported ? path.node.imported.value : path.node.imported.name;\n if (state.inEmberString && name === 'loc') {\n path.remove();\n }\n },\n },\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import V1Addon from '../v1-addon';
2
2
  export default class extends V1Addon {
3
3
  static shouldApplyAdapter(addonInstance: any): boolean;
4
- get packageMeta(): Partial<import("@embroider/core").AddonMeta>;
4
+ get packageMeta(): Partial<import("@embroider/shared-internals").AddonMeta>;
5
5
  }
@@ -29,7 +29,7 @@ class CompatAddons {
29
29
  }
30
30
  async ready() {
31
31
  return {
32
- outputPath: (0, path_1.resolve)((0, core_1.locateEmbroiderWorkingDir)(this.compatApp.root), 'rewritten-app'),
32
+ outputPath: (0, path_1.resolve)((0, core_1.locateEmbroiderWorkingDir)(this.compatApp.root), '..', '..', 'tmp', 'rewritten-app'),
33
33
  };
34
34
  }
35
35
  async build({ addons, }, changedMap) {
@@ -1 +1 @@
1
- {"version":3,"file":"compat-addons.js","sourceRoot":"","sources":["compat-addons.ts"],"names":[],"mappings":";;;;;AACA,+BAA+B;AAE/B,0CAAiG;AACjG,0DAAiC;AAEjC,qEAA+D;AAE/D,gFAAgF;AAChF,8EAA8E;AAC9E,kEAAkE;AAClE,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,iBAAiB;AACjB,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,WAAW,EAAE,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,MAAM,CAAC;AAChD,CAAC;AAED,MAAqB,YAAY;IAO/B,YAAoB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;QANhC,aAAQ,GAAG,KAAK,CAAC;QAOvB,IAAI,CAAC,MAAM,GAAG,IAAA,4CAAmB,EAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;IAClC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,mBAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,0BAA0B,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO;YACL,UAAU,EAAE,IAAA,cAAO,EAAC,IAAA,gCAAyB,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,eAAe,CAAC;SACrF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,KAAK,CACjB,EACE,MAAM,GAGP,EACD,UAAgC;QAEhC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAC1B,MAAM,EACN,IAAA,cAAO,EAAC,IAAA,gCAAyB,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAC9E,CAAC;QACJ,CAAC;QAED,IACE,CAAC,IAAI,CAAC,QAAQ,IAAI,iCAAiC;YACnD,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EACtB,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,4BAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF;AA9CD,+BA8CC","sourcesContent":["import type { Node } from 'broccoli-node-api';\nimport { resolve } from 'path';\nimport type { Stage } from '@embroider/core';\nimport { locateEmbroiderWorkingDir, RewrittenPackageCache, WaitForTrees } from '@embroider/core';\nimport TreeSync from 'tree-sync';\nimport type CompatApp from './compat-app';\nimport { convertLegacyAddons } from './standalone-addon-build';\n\n// This build stage expects to be run with broccoli memoization enabled in order\n// to get good rebuild performance. We turn it on by default here, but you can\n// still explicitly turn it off by setting the env var to \"false\".\n//\n// As for safetly mutating process.env: broccoli doesn't read this until a Node\n// executes its build hook, so as far as I can tell there's no way we could set\n// this too late.\nif (typeof process.env.BROCCOLI_ENABLED_MEMOIZE === 'undefined') {\n process.env.BROCCOLI_ENABLED_MEMOIZE = 'true';\n}\n\nexport default class CompatAddons implements Stage {\n private didBuild = false;\n private treeSync: TreeSync | undefined;\n readonly inputPath: string;\n\n private addons: Node;\n\n constructor(private compatApp: CompatApp) {\n this.addons = convertLegacyAddons(compatApp);\n this.inputPath = compatApp.root;\n }\n\n get tree(): Node {\n return new WaitForTrees({ addons: this.addons }, '@embroider/compat/addons', this.build.bind(this));\n }\n\n async ready(): Promise<{ outputPath: string }> {\n return {\n outputPath: resolve(locateEmbroiderWorkingDir(this.compatApp.root), 'rewritten-app'),\n };\n }\n\n private async build(\n {\n addons,\n }: {\n addons: string;\n },\n changedMap: Map<string, boolean>\n ) {\n if (!this.treeSync) {\n this.treeSync = new TreeSync(\n addons,\n resolve(locateEmbroiderWorkingDir(this.compatApp.root), 'rewritten-packages')\n );\n }\n\n if (\n !this.didBuild || // always copy on the first build\n changedMap.get(addons)\n ) {\n this.treeSync.sync();\n RewrittenPackageCache.shared('embroider', this.compatApp.root).invalidateIndex();\n }\n this.didBuild = true;\n }\n}\n"]}
1
+ {"version":3,"file":"compat-addons.js","sourceRoot":"","sources":["compat-addons.ts"],"names":[],"mappings":";;;;;AACA,+BAA+B;AAE/B,0CAAiG;AACjG,0DAAiC;AAEjC,qEAA+D;AAE/D,gFAAgF;AAChF,8EAA8E;AAC9E,kEAAkE;AAClE,EAAE;AACF,+EAA+E;AAC/E,+EAA+E;AAC/E,iBAAiB;AACjB,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,WAAW,EAAE,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,MAAM,CAAC;AAChD,CAAC;AAED,MAAqB,YAAY;IAO/B,YAAoB,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;QANhC,aAAQ,GAAG,KAAK,CAAC;QAOvB,IAAI,CAAC,MAAM,GAAG,IAAA,4CAAmB,EAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;IAClC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,mBAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,0BAA0B,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,KAAK,CAAC,KAAK;QACT,OAAO;YACL,UAAU,EAAE,IAAA,cAAO,EAAC,IAAA,gCAAyB,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC;SACxG,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,KAAK,CACjB,EACE,MAAM,GAGP,EACD,UAAgC;QAEhC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAC1B,MAAM,EACN,IAAA,cAAO,EAAC,IAAA,gCAAyB,EAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAC9E,CAAC;QACJ,CAAC;QAED,IACE,CAAC,IAAI,CAAC,QAAQ,IAAI,iCAAiC;YACnD,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EACtB,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACrB,4BAAqB,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF;AA9CD,+BA8CC","sourcesContent":["import type { Node } from 'broccoli-node-api';\nimport { resolve } from 'path';\nimport type { Stage } from '@embroider/core';\nimport { locateEmbroiderWorkingDir, RewrittenPackageCache, WaitForTrees } from '@embroider/core';\nimport TreeSync from 'tree-sync';\nimport type CompatApp from './compat-app';\nimport { convertLegacyAddons } from './standalone-addon-build';\n\n// This build stage expects to be run with broccoli memoization enabled in order\n// to get good rebuild performance. We turn it on by default here, but you can\n// still explicitly turn it off by setting the env var to \"false\".\n//\n// As for safetly mutating process.env: broccoli doesn't read this until a Node\n// executes its build hook, so as far as I can tell there's no way we could set\n// this too late.\nif (typeof process.env.BROCCOLI_ENABLED_MEMOIZE === 'undefined') {\n process.env.BROCCOLI_ENABLED_MEMOIZE = 'true';\n}\n\nexport default class CompatAddons implements Stage {\n private didBuild = false;\n private treeSync: TreeSync | undefined;\n readonly inputPath: string;\n\n private addons: Node;\n\n constructor(private compatApp: CompatApp) {\n this.addons = convertLegacyAddons(compatApp);\n this.inputPath = compatApp.root;\n }\n\n get tree(): Node {\n return new WaitForTrees({ addons: this.addons }, '@embroider/compat/addons', this.build.bind(this));\n }\n\n async ready(): Promise<{ outputPath: string }> {\n return {\n outputPath: resolve(locateEmbroiderWorkingDir(this.compatApp.root), '..', '..', 'tmp', 'rewritten-app'),\n };\n }\n\n private async build(\n {\n addons,\n }: {\n addons: string;\n },\n changedMap: Map<string, boolean>\n ) {\n if (!this.treeSync) {\n this.treeSync = new TreeSync(\n addons,\n resolve(locateEmbroiderWorkingDir(this.compatApp.root), 'rewritten-packages')\n );\n }\n\n if (\n !this.didBuild || // always copy on the first build\n changedMap.get(addons)\n ) {\n this.treeSync.sync();\n RewrittenPackageCache.shared('embroider', this.compatApp.root).invalidateIndex();\n }\n this.didBuild = true;\n }\n}\n"]}
@@ -1,84 +1,26 @@
1
- import type { Node as BroccoliNode } from 'broccoli-node-api';
2
- import type { OutputPaths } from '@embroider/core';
1
+ import type ContentForConfig from './content-for-config';
3
2
  import type { V1Config } from './v1-config';
4
3
  import type { Package } from '@embroider/core';
5
4
  import type CompatApp from './compat-app';
6
5
  import type { CompatOptionsType } from './options';
7
6
  export declare class CompatAppBuilder {
8
- private root;
9
7
  private origAppPackage;
10
8
  private appPackageWithMovedDeps;
11
9
  private options;
12
10
  private compatApp;
13
11
  private configTree;
12
+ private contentForTree;
14
13
  private synthVendor;
15
14
  private synthStyles;
16
- private assets;
17
- private staticComponents;
18
- private staticHelpers;
19
- private staticModifiers;
20
- constructor(root: string, origAppPackage: Package, appPackageWithMovedDeps: Package, options: CompatOptionsType, compatApp: CompatApp, configTree: V1Config, synthVendor: Package, synthStyles: Package);
21
- private fastbootJSSrcDir;
22
- private extractAssets;
23
- private findTestemAsset;
24
- private activeAddonChildren;
25
- private get allActiveAddons();
26
- private isActiveAddon;
27
- private orderAddons;
28
- private resolvableExtensions;
29
- private emberEntrypoints;
15
+ constructor(origAppPackage: Package, appPackageWithMovedDeps: Package, options: CompatOptionsType, compatApp: CompatApp, configTree: V1Config, contentForTree: ContentForConfig, synthVendor: Package, synthStyles: Package);
30
16
  private modulePrefix;
31
17
  private podModulePrefix;
32
- private rootURL;
33
- private activeRules;
34
- private resolverConfig;
35
- private scriptPriority;
36
- private get resolvableExtensionsPattern();
37
- private impliedAssets;
38
- private impliedAddonAssets;
39
- private babelConfig;
40
- private insertEmberApp;
41
- private implicitScriptsAsset;
42
- private implicitStylesAsset;
43
- private implicitTestScriptsAsset;
44
- private implicitTestStylesAsset;
45
- private findActiveAddons;
46
- private partitionEngines;
47
- private get activeFastboot();
48
- private emberVersion;
49
- private get fastbootConfig();
50
- private engines;
51
- private updateAppJS;
52
- private prepareAsset;
53
- private prepareAssets;
54
- private assetIsValid;
55
- private updateOnDiskAsset;
56
- private updateInMemoryAsset;
57
- private updateBuiltEmberAsset;
58
- private updateConcatenatedAsset;
59
- private updateAssets;
60
- private gatherAssets;
61
- private firstBuild;
62
- build(inputPaths: OutputPaths<TreeNames>): Promise<void>;
63
- private combinePackageJSON;
64
- private etcOptions;
18
+ private get resolverConfig();
19
+ build(): Promise<void>;
65
20
  private get portableHints();
66
- private addBabelConfig;
21
+ private addBabelCompat;
67
22
  private addResolverConfig;
68
- private shouldSplitRoute;
69
- private splitRoute;
70
- private topAppJSAsset;
71
- private get staticAppPathsPattern();
72
- private requiredOtherFiles;
73
- private appJSAsset;
74
- private importPaths;
75
- private routeEntrypoint;
76
- private testJSEntrypoint;
23
+ private addContentForConfig;
24
+ private addEmberEnvConfig;
25
+ private outputAppBootError;
77
26
  }
78
- interface TreeNames {
79
- appJS: BroccoliNode;
80
- htmlTree: BroccoliNode;
81
- publicTree: BroccoliNode | undefined;
82
- configTree: BroccoliNode;
83
- }
84
- export {};