@embroider/compat 3.8.0 → 3.8.1-unstable.06606b1

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 (97) hide show
  1. package/babel.js +1 -0
  2. package/package.json +15 -17
  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 -64
  42. package/src/compat-app-builder.js +110 -1272
  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 +75 -218
  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 +3 -3
  69. package/src/options.js +3 -2
  70. package/src/options.js.map +1 -1
  71. package/src/resolver-transform.js +56 -15
  72. package/src/resolver-transform.js.map +1 -1
  73. package/src/standalone-addon-build.js +6 -15
  74. package/src/standalone-addon-build.js.map +1 -1
  75. package/src/v1-config.d.ts +0 -8
  76. package/src/v1-config.js +1 -51
  77. package/src/v1-config.js.map +1 -1
  78. package/src/audit-cli.d.ts +0 -2
  79. package/src/audit-cli.js +0 -150
  80. package/src/audit-cli.js.map +0 -1
  81. package/src/compat-adapters/@ember-data/debug.d.ts +0 -6
  82. package/src/compat-adapters/@ember-data/debug.js +0 -22
  83. package/src/compat-adapters/@ember-data/debug.js.map +0 -1
  84. package/src/compat-adapters/ember-macro-helpers.d.ts +0 -4
  85. package/src/compat-adapters/ember-macro-helpers.js.map +0 -1
  86. package/src/rename-require-plugin.d.ts +0 -1
  87. package/src/rename-require-plugin.js +0 -15
  88. package/src/rename-require-plugin.js.map +0 -1
  89. package/src/sync-dir.d.ts +0 -8
  90. package/src/sync-dir.js +0 -68
  91. package/src/sync-dir.js.map +0 -1
  92. package/src/template-tag-codemod.d.ts +0 -13
  93. package/src/template-tag-codemod.js +0 -302
  94. package/src/template-tag-codemod.js.map +0 -1
  95. package/src/v1-appboot.d.ts +0 -14
  96. package/src/v1-appboot.js +0 -47
  97. package/src/v1-appboot.js.map +0 -1
@@ -16,7 +16,7 @@ function convertLegacyAddons(compatApp) {
16
16
  let packageCache = core_1.PackageCache.shared('embroider', compatApp.root);
17
17
  let instanceCache = new v1_instance_cache_1.default(compatApp, packageCache);
18
18
  let appPackage = compatApp.appPackage();
19
- let violations = (0, core_1.validatePeerDependencies)(appPackage).filter(({ dep }) => dep.isEmberPackage() && !dep.isV2Ember());
19
+ let violations = (0, core_1.validatePeerDependencies)(appPackage).filter(({ dep }) => dep.isEmberAddon() && !dep.isV2Ember());
20
20
  if (violations.length > 0) {
21
21
  if (process.env.I_HAVE_BAD_PEER_DEPS_AND_WANT_A_BROKEN_BUILD) {
22
22
  console.warn(`You have set process.env.I_HAVE_BAD_PEER_DEPS_AND_WANT_A_BROKEN_BUILD, so we're ignoring your broken peer deps. Please don't bother reporting any Embroider bugs until you unset it.\n${(0, core_1.summarizePeerDepViolations)(violations)}`);
@@ -36,7 +36,7 @@ ${(0, core_1.summarizePeerDepViolations)(violations)}
36
36
  }
37
37
  }
38
38
  let v1Addons = findV1Addons(appPackage);
39
- let index = buildAddonIndex(compatApp, appPackage, v1Addons);
39
+ let index = buildAddonIndex(appPackage, v1Addons);
40
40
  let interiorTrees = [];
41
41
  let exteriorTrees = [...v1Addons].map(pkg => {
42
42
  let interior = (0, build_compat_addon_1.default)(pkg, instanceCache);
@@ -63,7 +63,7 @@ ${(0, core_1.summarizePeerDepViolations)(violations)}
63
63
  ...fakeTargets,
64
64
  ]);
65
65
  }
66
- function buildAddonIndex(compatApp, appPackage, packages) {
66
+ function buildAddonIndex(appPackage, packages) {
67
67
  let content = {
68
68
  packages: {},
69
69
  extraResolutions: {},
@@ -76,20 +76,11 @@ function buildAddonIndex(compatApp, appPackage, packages) {
76
76
  content.extraResolutions[newRoot] = [...nonResolvableDeps.values()].map(v => v.root);
77
77
  }
78
78
  }
79
- // adding an entry for the app itself to have a place in the
80
- // rewritten-packages, even though this stage hasn't actually put it there
81
- // yet. This directory lives outside our rewritten-pacakges directory because
82
- // it's produced by a separate build stage, and it's easier to have them
83
- // writing into separate directories.
84
- content.packages[compatApp.root] = (0, path_1.join)('..', 'rewritten-app');
85
79
  let nonResolvableDeps = appPackage.nonResolvableDeps;
86
80
  if (nonResolvableDeps) {
87
81
  let extraRoots = [...nonResolvableDeps.values()].map(v => v.root);
88
- // the app gets extraResolutions support just like every addon does
89
- content.extraResolutions[(0, path_1.join)('..', 'rewritten-app')] = extraRoots;
90
- // but it also gets extraResolutions registered against its *original*
91
- // location, because the app is unique because stage2 needs a Package
92
- // representing the *unmoved* app but seeing *moved* deps.
82
+ // the app gets extraResolutions registered against its *original*
83
+ // location
93
84
  content.extraResolutions[appPackage.root] = extraRoots;
94
85
  }
95
86
  return content;
@@ -100,7 +91,7 @@ function findV1Addons(pkg, seen = new Set(), output = new Set()) {
100
91
  continue;
101
92
  }
102
93
  seen.add(dep);
103
- if (dep.isEmberPackage()) {
94
+ if (dep.isEmberAddon()) {
104
95
  if (!dep.isV2Addon()) {
105
96
  output.add(dep);
106
97
  }
@@ -1 +1 @@
1
- {"version":3,"file":"standalone-addon-build.js","sourceRoot":"","sources":["standalone-addon-build.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Package, RewrittenPackageIndex } from '@embroider/core';\nimport { PackageCache, summarizePeerDepViolations, validatePeerDependencies } from '@embroider/core';\nimport V1InstanceCache from './v1-instance-cache';\nimport buildCompatAddon from './build-compat-addon';\nimport { Funnel } from 'broccoli-funnel';\nimport crypto from 'crypto';\nimport broccoliMergeTrees from 'broccoli-merge-trees';\nimport writeFile from 'broccoli-file-creator';\nimport type { Node } from 'broccoli-node-api';\nimport type CompatApp from './compat-app';\nimport { join } from 'path';\n\nexport function convertLegacyAddons(compatApp: CompatApp) {\n let packageCache = PackageCache.shared('embroider', compatApp.root);\n let instanceCache = new V1InstanceCache(compatApp, packageCache);\n\n let appPackage = compatApp.appPackage();\n\n let violations = validatePeerDependencies(appPackage).filter(({ dep }) => dep.isEmberPackage() && !dep.isV2Ember());\n if (violations.length > 0) {\n if (process.env.I_HAVE_BAD_PEER_DEPS_AND_WANT_A_BROKEN_BUILD) {\n console.warn(\n `You have set process.env.I_HAVE_BAD_PEER_DEPS_AND_WANT_A_BROKEN_BUILD, so we're ignoring your broken peer deps. Please don't bother reporting any Embroider bugs until you unset it.\\n${summarizePeerDepViolations(\n violations\n )}`\n );\n } else {\n throw new Error(\n `Some V1 ember addons are resolving as incorrect peer dependencies. This makes it impossible for us to safely convert them to v2 format.\n\n 👇 👇 👇\n👉 See https://github.com/embroider-build/embroider/blob/main/docs/peer-dependency-resolution-issues.md for an explanation of the problem and suggestions for fixing it.\n 👆 👆 👆\n\n${summarizePeerDepViolations(violations)}\n\n 👇 👇 👇\n👉 See https://github.com/embroider-build/embroider/blob/main/docs/peer-dependency-resolution-issues.md for an explanation of the problem and suggestions for fixing it.\n 👆 👆 👆`\n );\n }\n }\n\n let v1Addons = findV1Addons(appPackage);\n let index = buildAddonIndex(compatApp, appPackage, v1Addons);\n\n let interiorTrees: Node[] = [];\n let exteriorTrees = [...v1Addons].map(pkg => {\n let interior = buildCompatAddon(pkg, instanceCache);\n interiorTrees.push(interior);\n return new Funnel(interior, { destDir: index.packages[pkg.root] });\n });\n\n let fakeTargets = Object.values(index.packages).map(dir => {\n let segments = dir.split('/');\n while (segments[segments.length - 1] && segments[segments.length - 1] !== 'node_modules') {\n segments.pop();\n }\n segments.push('moved-package-target.js');\n return writeFile(join(...segments), '');\n });\n\n return broccoliMergeTrees([\n ...exteriorTrees,\n new Funnel(compatApp.synthesizeStylesPackage(interiorTrees), {\n destDir: '@embroider/synthesized-styles',\n }),\n new Funnel(compatApp.synthesizeVendorPackage(interiorTrees), {\n destDir: '@embroider/synthesized-vendor',\n }),\n writeFile('index.json', JSON.stringify(index, null, 2)),\n ...fakeTargets,\n ]);\n}\n\nfunction buildAddonIndex(compatApp: CompatApp, appPackage: Package, packages: Set<Package>): RewrittenPackageIndex {\n let content: RewrittenPackageIndex = {\n packages: {},\n extraResolutions: {},\n };\n for (let oldPkg of packages) {\n let newRoot = `${oldPkg.name}.${hashed(oldPkg.root)}/node_modules/${oldPkg.name}`;\n content.packages[oldPkg.root] = newRoot;\n let nonResolvableDeps = oldPkg.nonResolvableDeps;\n if (nonResolvableDeps) {\n content.extraResolutions[newRoot] = [...nonResolvableDeps.values()].map(v => v.root);\n }\n }\n\n // adding an entry for the app itself to have a place in the\n // rewritten-packages, even though this stage hasn't actually put it there\n // yet. This directory lives outside our rewritten-pacakges directory because\n // it's produced by a separate build stage, and it's easier to have them\n // writing into separate directories.\n content.packages[compatApp.root] = join('..', 'rewritten-app');\n\n let nonResolvableDeps = appPackage.nonResolvableDeps;\n if (nonResolvableDeps) {\n let extraRoots = [...nonResolvableDeps.values()].map(v => v.root);\n\n // the app gets extraResolutions support just like every addon does\n content.extraResolutions[join('..', 'rewritten-app')] = extraRoots;\n\n // but it also gets extraResolutions registered against its *original*\n // location, because the app is unique because stage2 needs a Package\n // representing the *unmoved* app but seeing *moved* deps.\n content.extraResolutions[appPackage.root] = extraRoots;\n }\n\n return content;\n}\n\nfunction findV1Addons(pkg: Package, seen: Set<Package> = new Set(), output: Set<Package> = new Set()): Set<Package> {\n for (let dep of pkg.dependencies) {\n if (seen.has(dep)) {\n continue;\n }\n seen.add(dep);\n if (dep.isEmberPackage()) {\n if (!dep.isV2Addon()) {\n output.add(dep);\n }\n findV1Addons(dep, seen, output);\n }\n }\n return output;\n}\n\nfunction hashed(path: string): string {\n let h = crypto.createHash('sha1');\n return h.update(path).digest('hex').slice(0, 8);\n}\n"]}
1
+ {"version":3,"file":"standalone-addon-build.js","sourceRoot":"","sources":["standalone-addon-build.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Package, RewrittenPackageIndex } from '@embroider/core';\nimport { PackageCache, summarizePeerDepViolations, validatePeerDependencies } from '@embroider/core';\nimport V1InstanceCache from './v1-instance-cache';\nimport buildCompatAddon from './build-compat-addon';\nimport { Funnel } from 'broccoli-funnel';\nimport crypto from 'crypto';\nimport broccoliMergeTrees from 'broccoli-merge-trees';\nimport writeFile from 'broccoli-file-creator';\nimport type { Node } from 'broccoli-node-api';\nimport type CompatApp from './compat-app';\nimport { join } from 'path';\n\nexport function convertLegacyAddons(compatApp: CompatApp) {\n let packageCache = PackageCache.shared('embroider', compatApp.root);\n let instanceCache = new V1InstanceCache(compatApp, packageCache);\n\n let appPackage = compatApp.appPackage();\n\n let violations = validatePeerDependencies(appPackage).filter(({ dep }) => dep.isEmberAddon() && !dep.isV2Ember());\n if (violations.length > 0) {\n if (process.env.I_HAVE_BAD_PEER_DEPS_AND_WANT_A_BROKEN_BUILD) {\n console.warn(\n `You have set process.env.I_HAVE_BAD_PEER_DEPS_AND_WANT_A_BROKEN_BUILD, so we're ignoring your broken peer deps. Please don't bother reporting any Embroider bugs until you unset it.\\n${summarizePeerDepViolations(\n violations\n )}`\n );\n } else {\n throw new Error(\n `Some V1 ember addons are resolving as incorrect peer dependencies. This makes it impossible for us to safely convert them to v2 format.\n\n 👇 👇 👇\n👉 See https://github.com/embroider-build/embroider/blob/main/docs/peer-dependency-resolution-issues.md for an explanation of the problem and suggestions for fixing it.\n 👆 👆 👆\n\n${summarizePeerDepViolations(violations)}\n\n 👇 👇 👇\n👉 See https://github.com/embroider-build/embroider/blob/main/docs/peer-dependency-resolution-issues.md for an explanation of the problem and suggestions for fixing it.\n 👆 👆 👆`\n );\n }\n }\n\n let v1Addons = findV1Addons(appPackage);\n let index = buildAddonIndex(appPackage, v1Addons);\n\n let interiorTrees: Node[] = [];\n let exteriorTrees = [...v1Addons].map(pkg => {\n let interior = buildCompatAddon(pkg, instanceCache);\n interiorTrees.push(interior);\n return new Funnel(interior, { destDir: index.packages[pkg.root] });\n });\n\n let fakeTargets = Object.values(index.packages).map(dir => {\n let segments = dir.split('/');\n while (segments[segments.length - 1] && segments[segments.length - 1] !== 'node_modules') {\n segments.pop();\n }\n segments.push('moved-package-target.js');\n return writeFile(join(...segments), '');\n });\n\n return broccoliMergeTrees([\n ...exteriorTrees,\n new Funnel(compatApp.synthesizeStylesPackage(interiorTrees), {\n destDir: '@embroider/synthesized-styles',\n }),\n new Funnel(compatApp.synthesizeVendorPackage(interiorTrees), {\n destDir: '@embroider/synthesized-vendor',\n }),\n writeFile('index.json', JSON.stringify(index, null, 2)),\n ...fakeTargets,\n ]);\n}\n\nfunction buildAddonIndex(appPackage: Package, packages: Set<Package>): RewrittenPackageIndex {\n let content: RewrittenPackageIndex = {\n packages: {},\n extraResolutions: {},\n };\n for (let oldPkg of packages) {\n let newRoot = `${oldPkg.name}.${hashed(oldPkg.root)}/node_modules/${oldPkg.name}`;\n content.packages[oldPkg.root] = newRoot;\n let nonResolvableDeps = oldPkg.nonResolvableDeps;\n if (nonResolvableDeps) {\n content.extraResolutions[newRoot] = [...nonResolvableDeps.values()].map(v => v.root);\n }\n }\n\n let nonResolvableDeps = appPackage.nonResolvableDeps;\n if (nonResolvableDeps) {\n let extraRoots = [...nonResolvableDeps.values()].map(v => v.root);\n // the app gets extraResolutions registered against its *original*\n // location\n content.extraResolutions[appPackage.root] = extraRoots;\n }\n\n return content;\n}\n\nfunction findV1Addons(pkg: Package, seen: Set<Package> = new Set(), output: Set<Package> = new Set()): Set<Package> {\n for (let dep of pkg.dependencies) {\n if (seen.has(dep)) {\n continue;\n }\n seen.add(dep);\n if (dep.isEmberAddon()) {\n if (!dep.isV2Addon()) {\n output.add(dep);\n }\n findV1Addons(dep, seen, output);\n }\n }\n return output;\n}\n\nfunction hashed(path: string): string {\n let h = crypto.createHash('sha1');\n return h.update(path).digest('hex').slice(0, 8);\n}\n"]}
@@ -14,11 +14,3 @@ export declare class V1Config extends Plugin {
14
14
  build(): void;
15
15
  readConfig(): ConfigContents;
16
16
  }
17
- export declare class WriteV1Config extends Plugin {
18
- private inputTree;
19
- private storeConfigInMeta;
20
- private testInputTree?;
21
- private lastContents;
22
- constructor(inputTree: V1Config, storeConfigInMeta: boolean, testInputTree?: V1Config | undefined);
23
- build(): void;
24
- }
package/src/v1-config.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.WriteV1Config = exports.V1Config = void 0;
6
+ exports.V1Config = void 0;
7
7
  const broccoli_plugin_1 = __importDefault(require("broccoli-plugin"));
8
8
  const path_1 = require("path");
9
9
  const fs_extra_1 = require("fs-extra");
@@ -23,54 +23,4 @@ class V1Config extends broccoli_plugin_1.default {
23
23
  }
24
24
  }
25
25
  exports.V1Config = V1Config;
26
- class WriteV1Config extends broccoli_plugin_1.default {
27
- constructor(inputTree, storeConfigInMeta, testInputTree) {
28
- super([inputTree, testInputTree].filter(Boolean), {
29
- persistentOutput: true,
30
- needsCache: false,
31
- });
32
- this.inputTree = inputTree;
33
- this.storeConfigInMeta = storeConfigInMeta;
34
- this.testInputTree = testInputTree;
35
- }
36
- build() {
37
- let filename = (0, path_1.join)(this.outputPath, 'config/environment.js');
38
- let contents;
39
- if (this.storeConfigInMeta) {
40
- contents = metaLoader();
41
- }
42
- else {
43
- if (this.testInputTree) {
44
- contents = `
45
- import { isTesting } from '@embroider/macros';
46
- let env;
47
- if (isTesting()) {
48
- env = ${JSON.stringify(this.testInputTree.readConfig())};
49
- } else {
50
- env = ${JSON.stringify(this.inputTree.readConfig())};
51
- }
52
- export default env;
53
- `;
54
- }
55
- else {
56
- contents = `export default ${JSON.stringify(this.inputTree.readConfig())};`;
57
- }
58
- }
59
- if (!this.lastContents || this.lastContents !== contents) {
60
- (0, fs_extra_1.outputFileSync)(filename, contents);
61
- }
62
- this.lastContents = contents;
63
- }
64
- }
65
- exports.WriteV1Config = WriteV1Config;
66
- function metaLoader() {
67
- // Supporting config content as JS Module.
68
- // Wrapping the content with immediate invoked function as
69
- // replaced content for config-module was meant to support AMD module.
70
- return `
71
- export default (function() {
72
- {{content-for 'config-module'}}
73
- })().default;
74
- `;
75
- }
76
26
  //# sourceMappingURL=v1-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"v1-config.js","sourceRoot":"","sources":["v1-config.ts"],"names":[],"mappings":";;;;;;AAAA,sEAAqC;AAErC,+BAA4B;AAC5B,uCAAwD;AAUxD,MAAa,QAAS,SAAQ,yBAAM;IAElC,YAAY,UAAgB,EAAU,GAAW;QAC/C,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QADY,QAAG,GAAH,GAAG,CAAQ;IAEjD,CAAC;IACD,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,uBAAY,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACnH,CAAC;IACD,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAdD,4BAcC;AAED,MAAa,aAAc,SAAQ,yBAAM;IAEvC,YAAoB,SAAmB,EAAU,iBAA0B,EAAU,aAAwB;QAC3G,KAAK,CAAC,CAAC,SAAS,EAAE,aAAyB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YAC5D,gBAAgB,EAAE,IAAI;YACtB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QAJe,cAAS,GAAT,SAAS,CAAU;QAAU,sBAAiB,GAAjB,iBAAiB,CAAS;QAAU,kBAAa,GAAb,aAAa,CAAW;IAK7G,CAAC;IACD,KAAK;QACH,IAAI,QAAQ,GAAG,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;QAC9D,IAAI,QAAQ,CAAC;QACb,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3B,QAAQ,GAAG,UAAU,EAAE,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,QAAQ,GAAG;;;;kBAID,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,CAAC;;kBAE/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;;;SAGpD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC;YAC9E,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YACzD,IAAA,yBAAc,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;IAC/B,CAAC;CACF;AAlCD,sCAkCC;AAED,SAAS,UAAU;IACjB,0CAA0C;IAC1C,0DAA0D;IAC1D,sEAAsE;IACtE,OAAO;;;;GAIN,CAAC;AACJ,CAAC","sourcesContent":["import Plugin from 'broccoli-plugin';\nimport type { Node } from 'broccoli-node-api';\nimport { join } from 'path';\nimport { readFileSync, outputFileSync } from 'fs-extra';\n\nexport interface ConfigContents {\n modulePrefix: string;\n podModulePrefix?: string;\n EmberENV: unknown;\n APP: unknown;\n rootURL: string;\n}\n\nexport class V1Config extends Plugin {\n private lastConfig: ConfigContents | undefined;\n constructor(configTree: Node, private env: string) {\n super([configTree], {});\n }\n build() {\n this.lastConfig = JSON.parse(readFileSync(join(this.inputPaths[0], 'environments', `${this.env}.json`), 'utf8'));\n }\n readConfig() {\n if (!this.lastConfig) {\n throw new Error(`V1Config not available until after the build`);\n }\n return this.lastConfig;\n }\n}\n\nexport class WriteV1Config extends Plugin {\n private lastContents: string | undefined;\n constructor(private inputTree: V1Config, private storeConfigInMeta: boolean, private testInputTree?: V1Config) {\n super([inputTree, testInputTree as V1Config].filter(Boolean), {\n persistentOutput: true,\n needsCache: false,\n });\n }\n build() {\n let filename = join(this.outputPath, 'config/environment.js');\n let contents;\n if (this.storeConfigInMeta) {\n contents = metaLoader();\n } else {\n if (this.testInputTree) {\n contents = `\n import { isTesting } from '@embroider/macros';\n let env;\n if (isTesting()) {\n env = ${JSON.stringify(this.testInputTree.readConfig())};\n } else {\n env = ${JSON.stringify(this.inputTree.readConfig())};\n }\n export default env;\n `;\n } else {\n contents = `export default ${JSON.stringify(this.inputTree.readConfig())};`;\n }\n }\n if (!this.lastContents || this.lastContents !== contents) {\n outputFileSync(filename, contents);\n }\n this.lastContents = contents;\n }\n}\n\nfunction metaLoader() {\n // Supporting config content as JS Module.\n // Wrapping the content with immediate invoked function as\n // replaced content for config-module was meant to support AMD module.\n return `\n export default (function() {\n {{content-for 'config-module'}}\n })().default;\n `;\n}\n"]}
1
+ {"version":3,"file":"v1-config.js","sourceRoot":"","sources":["v1-config.ts"],"names":[],"mappings":";;;;;;AAAA,sEAAqC;AAErC,+BAA4B;AAC5B,uCAAwC;AAUxC,MAAa,QAAS,SAAQ,yBAAM;IAElC,YAAY,UAAgB,EAAU,GAAW;QAC/C,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QADY,QAAG,GAAH,GAAG,CAAQ;IAEjD,CAAC;IACD,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,uBAAY,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACnH,CAAC;IACD,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAdD,4BAcC","sourcesContent":["import Plugin from 'broccoli-plugin';\nimport type { Node } from 'broccoli-node-api';\nimport { join } from 'path';\nimport { readFileSync } from 'fs-extra';\n\nexport interface ConfigContents {\n modulePrefix: string;\n podModulePrefix?: string;\n EmberENV: unknown;\n APP: unknown;\n rootURL: string;\n}\n\nexport class V1Config extends Plugin {\n private lastConfig: ConfigContents | undefined;\n constructor(configTree: Node, private env: string) {\n super([configTree], {});\n }\n build() {\n this.lastConfig = JSON.parse(readFileSync(join(this.inputPaths[0], 'environments', `${this.env}.json`), 'utf8'));\n }\n readConfig() {\n if (!this.lastConfig) {\n throw new Error(`V1Config not available until after the build`);\n }\n return this.lastConfig;\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
package/src/audit-cli.js DELETED
@@ -1,150 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const fs_extra_1 = require("fs-extra");
8
- const path_1 = require("path");
9
- const yargs_1 = __importDefault(require("yargs/yargs"));
10
- const audit_1 = require("./audit");
11
- // slightly wacky because yargs types don't cover this, but you can't access the
12
- // other documented place to find `hideBin` on node < 12.17
13
- const { hideBin } = yargs_1.default;
14
- function runCLI() {
15
- return (0, yargs_1.default)(hideBin(process.argv))
16
- .command('$0', 'audit your app for embroider compatibility problems', yargs => {
17
- return yargs
18
- .option('debug', {
19
- alias: 'd',
20
- type: 'boolean',
21
- description: 'Add debug logging about the audit itself',
22
- default: false,
23
- })
24
- .option('json', {
25
- alias: 'j',
26
- type: 'boolean',
27
- description: 'Print results in JSON format',
28
- default: false,
29
- })
30
- .option('reuse-build', {
31
- alias: 'r',
32
- type: 'boolean',
33
- description: 'Reuse previous build',
34
- default: false,
35
- })
36
- .option('load', {
37
- alias: 'l',
38
- type: 'string',
39
- description: 'Load previous audit results from a JSON file instead of running a new audit',
40
- })
41
- .option('save', {
42
- alias: 's',
43
- type: 'string',
44
- description: 'Save audit results as a JSON file.',
45
- })
46
- .option('app', {
47
- type: 'string',
48
- description: 'Path to your app',
49
- default: process.cwd(),
50
- })
51
- .option('filter', {
52
- type: 'string',
53
- description: 'Path to a JS file that describes which findings to silence. Generate the initial file using `--create-filter`.',
54
- })
55
- .option('create-filter', {
56
- type: 'string',
57
- description: 'Path to a JS file where we will create a filter that will silence all your current findings. Pass it back into future audits via --filter',
58
- })
59
- .fail(function (_, err, _yargs) {
60
- if ((0, audit_1.isBuildError)(err)) {
61
- process.stderr.write(err.message + '\n');
62
- }
63
- else {
64
- console.error(err);
65
- }
66
- process.exit(1);
67
- });
68
- }, async (options) => {
69
- let filter = loadFilter(options);
70
- let results;
71
- if (options.load) {
72
- results = new audit_1.AuditResults();
73
- Object.assign(results, (0, fs_extra_1.readJSONSync)(options.load));
74
- }
75
- else {
76
- results = await audit_1.Audit.run(options);
77
- }
78
- if (options.save) {
79
- (0, fs_extra_1.writeFileSync)(options.save, JSON.stringify(results, null, 2));
80
- }
81
- applyFilter(filter, results);
82
- if (options.json) {
83
- process.stdout.write(JSON.stringify(results, null, 2) + '\n');
84
- }
85
- else {
86
- process.stdout.write(results.humanReadable());
87
- }
88
- if (options['create-filter']) {
89
- createFilter(options['create-filter'], results);
90
- }
91
- process.exit(results.perfect ? 0 : 1);
92
- })
93
- .command('pretty', 'format JSON audit results as pretty human-readable results', yargs => {
94
- return yargs.option('filter', {
95
- type: 'string',
96
- description: 'Path to a JS file that describes which findings to silence. Generate the file using `embroider-compat-audit acknowledge`',
97
- });
98
- }, async (options) => {
99
- let filter = loadFilter(options);
100
- let results = new audit_1.AuditResults();
101
- // process.stdin.fd is a documented public API. The Node typings don't
102
- // seem to know about it.
103
- Object.assign(results, JSON.parse((0, fs_extra_1.readFileSync)(process.stdin.fd, 'utf8')));
104
- applyFilter(filter, results);
105
- process.stdout.write(results.humanReadable());
106
- process.exit(0);
107
- })
108
- .command('acknowledge', 'Pipe your audit JSON to this command to generate a filter file that will silence the current issues. Pass the filter file into your next audit via --filter. Delete findings out of the filter file as you address them.', yargs => yargs, async () => {
109
- let results = new audit_1.AuditResults();
110
- // process.stdin.fd is a documented public API. The Node typings don't
111
- // seem to know about it.
112
- Object.assign(results, JSON.parse((0, fs_extra_1.readFileSync)(process.stdin.fd, 'utf8')));
113
- let findings = results.findings.map(f => ({
114
- filename: f.filename,
115
- message: f.message,
116
- detail: f.detail,
117
- }));
118
- process.stdout.write(`module.exports = ${JSON.stringify({ findings }, null, 2)};\n`);
119
- process.exit(0);
120
- }).argv;
121
- }
122
- if (require.main === module) {
123
- runCLI();
124
- }
125
- function loadFilter(options) {
126
- if (options.filter) {
127
- // eslint-disable-next-line @typescript-eslint/no-require-imports
128
- return require((0, path_1.resolve)(options.filter));
129
- }
130
- }
131
- function applyFilter(filter, results) {
132
- if (filter) {
133
- results.findings = results.findings.filter(finding => {
134
- return !filter.findings.find(filtered => {
135
- return (filtered.message === finding.message &&
136
- filtered.detail === finding.detail &&
137
- filtered.filename === finding.filename);
138
- });
139
- });
140
- }
141
- }
142
- function createFilter(filename, results) {
143
- let findings = results.findings.map(f => ({
144
- filename: f.filename,
145
- message: f.message,
146
- detail: f.detail,
147
- }));
148
- (0, fs_extra_1.writeFileSync)(filename, `module.exports = ${JSON.stringify({ findings }, null, 2)};\n`);
149
- }
150
- //# sourceMappingURL=audit-cli.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"audit-cli.js","sourceRoot":"","sources":["audit-cli.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\n\nimport { readFileSync, readJSONSync, writeFileSync } from 'fs-extra';\nimport { resolve } from 'path';\nimport yargs from 'yargs/yargs';\nimport type { Finding } from './audit';\nimport { Audit, AuditResults, isBuildError } from './audit';\n\n// slightly wacky because yargs types don't cover this, but you can't access the\n// other documented place to find `hideBin` on node < 12.17\nconst { hideBin } = yargs as any as {\n hideBin(argv: readonly string[]): readonly string[];\n};\n\nfunction runCLI() {\n return yargs(hideBin(process.argv))\n .command(\n '$0',\n 'audit your app for embroider compatibility problems',\n yargs => {\n return yargs\n .option('debug', {\n alias: 'd',\n type: 'boolean',\n description: 'Add debug logging about the audit itself',\n default: false,\n })\n .option('json', {\n alias: 'j',\n type: 'boolean',\n description: 'Print results in JSON format',\n default: false,\n })\n .option('reuse-build', {\n alias: 'r',\n type: 'boolean',\n description: 'Reuse previous build',\n default: false,\n })\n .option('load', {\n alias: 'l',\n type: 'string',\n description: 'Load previous audit results from a JSON file instead of running a new audit',\n })\n .option('save', {\n alias: 's',\n type: 'string',\n description: 'Save audit results as a JSON file.',\n })\n .option('app', {\n type: 'string',\n description: 'Path to your app',\n default: process.cwd(),\n })\n .option('filter', {\n type: 'string',\n description:\n 'Path to a JS file that describes which findings to silence. Generate the initial file using `--create-filter`.',\n })\n .option('create-filter', {\n type: 'string',\n description:\n 'Path to a JS file where we will create a filter that will silence all your current findings. Pass it back into future audits via --filter',\n })\n .fail(function (_, err, _yargs) {\n if (isBuildError(err)) {\n process.stderr.write(err.message + '\\n');\n } else {\n console.error(err);\n }\n process.exit(1);\n });\n },\n async options => {\n let filter = loadFilter(options);\n let results: AuditResults;\n if (options.load) {\n results = new AuditResults();\n Object.assign(results, readJSONSync(options.load));\n } else {\n results = await Audit.run(options);\n }\n if (options.save) {\n writeFileSync(options.save, JSON.stringify(results, null, 2));\n }\n applyFilter(filter, results);\n if (options.json) {\n process.stdout.write(JSON.stringify(results, null, 2) + '\\n');\n } else {\n process.stdout.write(results.humanReadable());\n }\n if (options['create-filter']) {\n createFilter(options['create-filter'], results);\n }\n process.exit(results.perfect ? 0 : 1);\n }\n )\n .command(\n 'pretty',\n 'format JSON audit results as pretty human-readable results',\n yargs => {\n return yargs.option('filter', {\n type: 'string',\n description:\n 'Path to a JS file that describes which findings to silence. Generate the file using `embroider-compat-audit acknowledge`',\n });\n },\n async options => {\n let filter = loadFilter(options);\n let results = new AuditResults();\n // process.stdin.fd is a documented public API. The Node typings don't\n // seem to know about it.\n Object.assign(results, JSON.parse(readFileSync((process.stdin as any).fd, 'utf8')));\n applyFilter(filter, results);\n process.stdout.write(results.humanReadable());\n process.exit(0);\n }\n )\n .command(\n 'acknowledge',\n 'Pipe your audit JSON to this command to generate a filter file that will silence the current issues. Pass the filter file into your next audit via --filter. Delete findings out of the filter file as you address them.',\n yargs => yargs,\n async () => {\n let results = new AuditResults();\n // process.stdin.fd is a documented public API. The Node typings don't\n // seem to know about it.\n Object.assign(results, JSON.parse(readFileSync((process.stdin as any).fd, 'utf8')));\n let findings = results.findings.map(f => ({\n filename: f.filename,\n message: f.message,\n detail: f.detail,\n }));\n process.stdout.write(`module.exports = ${JSON.stringify({ findings }, null, 2)};\\n`);\n process.exit(0);\n }\n ).argv;\n}\n\nif (require.main === module) {\n runCLI();\n}\n\ntype Filter = { findings: Omit<Finding, 'codeFrame'>[] };\n\nfunction loadFilter(options: { filter: string | undefined }): Filter | undefined {\n if (options.filter) {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n return require(resolve(options.filter));\n }\n}\n\nfunction applyFilter(filter: Filter | undefined, results: AuditResults) {\n if (filter) {\n results.findings = results.findings.filter(finding => {\n return !filter!.findings.find(filtered => {\n return (\n filtered.message === finding.message &&\n filtered.detail === finding.detail &&\n filtered.filename === finding.filename\n );\n });\n });\n }\n}\n\nfunction createFilter(filename: string, results: AuditResults) {\n let findings = results.findings.map(f => ({\n filename: f.filename,\n message: f.message,\n detail: f.detail,\n }));\n writeFileSync(filename, `module.exports = ${JSON.stringify({ findings }, null, 2)};\\n`);\n}\n"]}
@@ -1,6 +0,0 @@
1
- import type { AddonMeta } from '@embroider/core';
2
- import V1Addon from '../../v1-addon';
3
- export default class EmberDataDebug extends V1Addon {
4
- get packageMeta(): Partial<AddonMeta>;
5
- static shouldApplyAdapter(addonInstance: any): boolean;
6
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const v1_addon_1 = __importDefault(require("../../v1-addon"));
7
- const semver_1 = __importDefault(require("semver"));
8
- class EmberDataDebug extends v1_addon_1.default {
9
- get packageMeta() {
10
- var _a;
11
- let meta = super.packageMeta;
12
- // See also the compat-adapter for @ember-data/store where we make this an
13
- // implicit-module.
14
- meta.externals = [...((_a = meta.externals) !== null && _a !== void 0 ? _a : []), '@ember-data/store'];
15
- return meta;
16
- }
17
- static shouldApplyAdapter(addonInstance) {
18
- return semver_1.default.lt(addonInstance.pkg.version, '4.11.1');
19
- }
20
- }
21
- exports.default = EmberDataDebug;
22
- //# sourceMappingURL=debug.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["debug.ts"],"names":[],"mappings":";;;;;AACA,8DAAqC;AACrC,oDAA4B;AAE5B,MAAqB,cAAe,SAAQ,kBAAO;IACjD,IAAI,WAAW;;QACb,IAAI,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;QAE7B,0EAA0E;QAC1E,mBAAmB;QACnB,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,SAAS,mCAAI,EAAE,CAAC,EAAE,mBAAmB,CAAC,CAAC;QAElE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,aAAkB;QAC1C,OAAO,gBAAM,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;CACF;AAdD,iCAcC","sourcesContent":["import type { AddonMeta } from '@embroider/core';\nimport V1Addon from '../../v1-addon';\nimport semver from 'semver';\n\nexport default class EmberDataDebug extends V1Addon {\n get packageMeta(): Partial<AddonMeta> {\n let meta = super.packageMeta;\n\n // See also the compat-adapter for @ember-data/store where we make this an\n // implicit-module.\n meta.externals = [...(meta.externals ?? []), '@ember-data/store'];\n\n return meta;\n }\n\n static shouldApplyAdapter(addonInstance: any) {\n return semver.lt(addonInstance.pkg.version, '4.11.1');\n }\n}\n"]}
@@ -1,4 +0,0 @@
1
- import V1Addon from '../v1-addon';
2
- export default class extends V1Addon {
3
- get packageMeta(): Partial<import("@embroider/core").AddonMeta>;
4
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"ember-macro-helpers.js","sourceRoot":"","sources":["ember-macro-helpers.ts"],"names":[],"mappings":";;;;;AAAA,2DAAkC;AAElC,eAAqB,SAAQ,kBAAO;IAClC,IAAI,WAAW;QACb,IAAI,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACpB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AATD,4BASC","sourcesContent":["import V1Addon from '../v1-addon';\n\nexport default class extends V1Addon {\n get packageMeta() {\n let meta = super.packageMeta;\n if (!meta.externals) {\n meta.externals = [];\n }\n meta.externals.push('./-computed-store');\n return meta;\n }\n}\n"]}
@@ -1 +0,0 @@
1
- export default function inlineHBSTransform(): unknown;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = inlineHBSTransform;
4
- function inlineHBSTransform() {
5
- return {
6
- visitor: {
7
- ImportDefaultSpecifier(path) {
8
- if (path.node.local.name === 'require') {
9
- path.scope.rename('require');
10
- }
11
- },
12
- },
13
- };
14
- }
15
- //# sourceMappingURL=rename-require-plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rename-require-plugin.js","sourceRoot":"","sources":["rename-require-plugin.ts"],"names":[],"mappings":";;AAGA,qCAUC;AAVD,SAAwB,kBAAkB;IACxC,OAAO;QACL,OAAO,EAAE;YACP,sBAAsB,CAAC,IAAwC;gBAC7D,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;SACF;KACF,CAAC;AACJ,CAAC","sourcesContent":["import type { types as t } from '@babel/core';\nimport type { NodePath } from '@babel/traverse';\n\nexport default function inlineHBSTransform(): unknown {\n return {\n visitor: {\n ImportDefaultSpecifier(path: NodePath<t.ImportDefaultSpecifier>) {\n if (path.node.local.name === 'require') {\n path.scope.rename('require');\n }\n },\n },\n };\n}\n"]}
package/src/sync-dir.d.ts DELETED
@@ -1,8 +0,0 @@
1
- export declare class SyncDir {
2
- private src;
3
- private dest;
4
- private prev;
5
- readonly files: Set<string>;
6
- constructor(src: string, dest: string | undefined);
7
- update(): void;
8
- }
package/src/sync-dir.js DELETED
@@ -1,68 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SyncDir = void 0;
7
- const assert_never_1 = __importDefault(require("assert-never"));
8
- const fs_tree_diff_1 = __importDefault(require("fs-tree-diff"));
9
- const walk_sync_1 = __importDefault(require("walk-sync"));
10
- const path_1 = require("path");
11
- const fs_extra_1 = require("fs-extra");
12
- // mirrors the changes in the src dir to the dest dir, while tracking the
13
- // current set of files present. If dest is undefined, it only tracks the set of
14
- // files without mirroring the changes to anywhere
15
- class SyncDir {
16
- constructor(src, dest) {
17
- this.src = src;
18
- this.dest = dest;
19
- this.prev = new fs_tree_diff_1.default();
20
- this.files = new Set();
21
- }
22
- update() {
23
- let next = new fs_tree_diff_1.default({
24
- entries: walk_sync_1.default.entries(this.src),
25
- });
26
- for (let [operation, relativePath] of this.prev.calculatePatch(next)) {
27
- let outputPath;
28
- if (this.dest) {
29
- outputPath = (0, path_1.resolve)(this.dest, relativePath);
30
- }
31
- switch (operation) {
32
- case 'unlink':
33
- if (outputPath) {
34
- (0, fs_extra_1.unlinkSync)(outputPath);
35
- }
36
- this.files.delete(relativePath);
37
- break;
38
- case 'rmdir':
39
- if (outputPath) {
40
- (0, fs_extra_1.rmdirSync)(outputPath);
41
- }
42
- break;
43
- case 'mkdir':
44
- if (outputPath) {
45
- (0, fs_extra_1.mkdirpSync)(outputPath);
46
- }
47
- break;
48
- case 'change':
49
- if (outputPath) {
50
- (0, fs_extra_1.removeSync)(outputPath);
51
- (0, fs_extra_1.copySync)((0, path_1.resolve)(this.src, relativePath), outputPath, { dereference: true });
52
- }
53
- break;
54
- case 'create':
55
- if (outputPath) {
56
- (0, fs_extra_1.copySync)((0, path_1.resolve)(this.src, relativePath), outputPath, { dereference: true });
57
- }
58
- this.files.add(relativePath);
59
- break;
60
- default:
61
- (0, assert_never_1.default)(operation);
62
- }
63
- this.prev = next;
64
- }
65
- }
66
- }
67
- exports.SyncDir = SyncDir;
68
- //# sourceMappingURL=sync-dir.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-dir.js","sourceRoot":"","sources":["sync-dir.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAuC;AACvC,gEAAkC;AAClC,0DAAiC;AACjC,+BAA+B;AAC/B,uCAAmF;AAEnF,yEAAyE;AACzE,gFAAgF;AAChF,kDAAkD;AAClD,MAAa,OAAO;IAIlB,YAAoB,GAAW,EAAU,IAAwB;QAA7C,QAAG,GAAH,GAAG,CAAQ;QAAU,SAAI,GAAJ,IAAI,CAAoB;QAHzD,SAAI,GAAW,IAAI,sBAAM,EAAE,CAAC;QAC3B,UAAK,GAAgB,IAAI,GAAG,EAAE,CAAC;IAE4B,CAAC;IAErE,MAAM;QACJ,IAAI,IAAI,GAAG,IAAI,sBAAM,CAAC;YACpB,OAAO,EAAE,mBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;SACpC,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,IAAI,UAA8B,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,UAAU,GAAG,IAAA,cAAO,EAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;YAChD,CAAC;YACD,QAAQ,SAAS,EAAE,CAAC;gBAClB,KAAK,QAAQ;oBACX,IAAI,UAAU,EAAE,CAAC;wBACf,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAC;oBACzB,CAAC;oBACD,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAChC,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,UAAU,EAAE,CAAC;wBACf,IAAA,oBAAS,EAAC,UAAU,CAAC,CAAC;oBACxB,CAAC;oBACD,MAAM;gBACR,KAAK,OAAO;oBACV,IAAI,UAAU,EAAE,CAAC;wBACf,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAC;oBACzB,CAAC;oBACD,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,UAAU,EAAE,CAAC;wBACf,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAC;wBACvB,IAAA,mBAAQ,EAAC,IAAA,cAAO,EAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/E,CAAC;oBACD,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,UAAU,EAAE,CAAC;wBACf,IAAA,mBAAQ,EAAC,IAAA,cAAO,EAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC/E,CAAC;oBACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC7B,MAAM;gBACR;oBACE,IAAA,sBAAW,EAAC,SAAS,CAAC,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;CACF;AAlDD,0BAkDC","sourcesContent":["import assertNever from 'assert-never';\nimport FSTree from 'fs-tree-diff';\nimport walkSync from 'walk-sync';\nimport { resolve } from 'path';\nimport { copySync, mkdirpSync, removeSync, rmdirSync, unlinkSync } from 'fs-extra';\n\n// mirrors the changes in the src dir to the dest dir, while tracking the\n// current set of files present. If dest is undefined, it only tracks the set of\n// files without mirroring the changes to anywhere\nexport class SyncDir {\n private prev: FSTree = new FSTree();\n readonly files: Set<string> = new Set();\n\n constructor(private src: string, private dest: string | undefined) {}\n\n update(): void {\n let next = new FSTree({\n entries: walkSync.entries(this.src),\n });\n for (let [operation, relativePath] of this.prev.calculatePatch(next)) {\n let outputPath: string | undefined;\n if (this.dest) {\n outputPath = resolve(this.dest, relativePath);\n }\n switch (operation) {\n case 'unlink':\n if (outputPath) {\n unlinkSync(outputPath);\n }\n this.files.delete(relativePath);\n break;\n case 'rmdir':\n if (outputPath) {\n rmdirSync(outputPath);\n }\n break;\n case 'mkdir':\n if (outputPath) {\n mkdirpSync(outputPath);\n }\n break;\n case 'change':\n if (outputPath) {\n removeSync(outputPath);\n copySync(resolve(this.src, relativePath), outputPath, { dereference: true });\n }\n break;\n case 'create':\n if (outputPath) {\n copySync(resolve(this.src, relativePath), outputPath, { dereference: true });\n }\n this.files.add(relativePath);\n break;\n default:\n assertNever(operation);\n }\n this.prev = next;\n }\n }\n}\n"]}
@@ -1,13 +0,0 @@
1
- import type { EmberAppInstance } from '@embroider/core';
2
- import type { Node } from 'broccoli-node-api';
3
- import { type ExternalNameHint } from './resolver-transform';
4
- export interface TemplateTagCodemodOptions {
5
- shouldTransformPath: (outputPath: string) => boolean;
6
- nameHint: ExternalNameHint;
7
- dryRun: boolean;
8
- }
9
- export default function templateTagCodemod(emberApp: EmberAppInstance, { shouldTransformPath, nameHint, dryRun, }?: {
10
- shouldTransformPath?: ((outputPath: string) => boolean) | undefined;
11
- nameHint?: ExternalNameHint | undefined;
12
- dryRun?: boolean | undefined;
13
- }): Node;