@embroider/compat 0.48.1 → 0.50.2

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.
@@ -10,9 +10,7 @@ const v1_app_1 = __importDefault(require("./v1-app"));
10
10
  const v1_addon_1 = __importDefault(require("./v1-addon"));
11
11
  const fs_extra_1 = require("fs-extra");
12
12
  const core_1 = require("@embroider/core");
13
- const moved_package_cache_1 = require("./moved-package-cache");
14
13
  const isEqual_1 = __importDefault(require("lodash/isEqual"));
15
- const node_1 = require("@embroider/macros/src/node");
16
14
  class V1InstanceCache {
17
15
  constructor(oldApp, options) {
18
16
  this.options = options;
@@ -20,8 +18,7 @@ class V1InstanceCache {
20
18
  // There can be many because a single copy of an addon may be consumed by many
21
19
  // other packages and each gets an instance.
22
20
  this.addons = new Map();
23
- this.packageCache = new moved_package_cache_1.MovablePackageCache(node_1.MacrosConfig.for(oldApp));
24
- this.app = v1_app_1.default.create(oldApp, this.packageCache);
21
+ this.app = v1_app_1.default.create(oldApp);
25
22
  this.orderIdx = 0;
26
23
  // no reason to do this on demand because oldApp already eagerly loaded
27
24
  // all descendants
@@ -62,7 +59,7 @@ class V1InstanceCache {
62
59
  addAddon(addonInstance) {
63
60
  this.orderIdx += 1;
64
61
  let Klass = this.adapterClass(addonInstance);
65
- let v1Addon = new Klass(addonInstance, this.options, this.app, this.packageCache, this.orderIdx);
62
+ let v1Addon = new Klass(addonInstance, this.options, this.app, this.app.packageCache, this.orderIdx);
66
63
  let pkgs = (0, core_1.getOrCreate)(this.addons, v1Addon.root, () => []);
67
64
  pkgs.push(v1Addon);
68
65
  addonInstance.addons.forEach(a => this.addAddon(a));
@@ -1 +1 @@
1
- {"version":3,"file":"v1-instance-cache.js","sourceRoot":"","sources":["v1-instance-cache.ts"],"names":[],"mappings":"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","sourcesContent":["// All access to class ember-cli-provided Addon and EmberApp instances of v1\n// packages is supposed to go through here. This lets us control the boundary\n// between the new and old words.\n\nimport V1App from './v1-app';\nimport V1Addon, { V1AddonConstructor } from './v1-addon';\nimport { pathExistsSync } from 'fs-extra';\nimport { AddonInstance, getOrCreate } from '@embroider/core';\nimport { MovablePackageCache } from './moved-package-cache';\nimport Options from './options';\nimport isEqual from 'lodash/isEqual';\nimport { MacrosConfig } from '@embroider/macros/src/node';\n\nexport default class V1InstanceCache {\n static caches: WeakMap<object, V1InstanceCache> = new WeakMap();\n\n static forApp(emberApp: object, options: Required<Options>): V1InstanceCache {\n let instance = getOrCreate(this.caches, emberApp, () => new this(emberApp, options));\n if (!isEqual(instance.options, options)) {\n throw new Error(`attempted double set of app Options`);\n }\n return instance;\n }\n\n // maps from package root directories to known V1 instances of that packages.\n // There can be many because a single copy of an addon may be consumed by many\n // other packages and each gets an instance.\n private addons: Map<string, V1Addon[]> = new Map();\n\n app: V1App;\n packageCache: MovablePackageCache;\n orderIdx: number;\n\n private constructor(oldApp: any, private options: Required<Options>) {\n this.packageCache = new MovablePackageCache(MacrosConfig.for(oldApp));\n this.app = V1App.create(oldApp, this.packageCache);\n this.orderIdx = 0;\n\n // no reason to do this on demand because oldApp already eagerly loaded\n // all descendants\n (oldApp.project.addons as AddonInstance[]).forEach(addon => {\n this.addAddon(addon);\n });\n }\n\n private adapterClass(addonInstance: AddonInstance): V1AddonConstructor {\n let packageName = addonInstance.pkg.name;\n // if the user registered something (including \"null\", which allows\n // disabling the built-in adapters), that takes precedence.\n let AdapterClass = this.options.compatAdapters.get(packageName);\n\n if (AdapterClass === null) {\n return V1Addon;\n }\n\n if (!AdapterClass) {\n let path = `${__dirname}/compat-adapters/${packageName}.js`;\n if (pathExistsSync(path)) {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n AdapterClass = require(path).default;\n }\n }\n\n if (!AdapterClass) {\n return V1Addon;\n }\n\n if (AdapterClass.shouldApplyAdapter) {\n return AdapterClass.shouldApplyAdapter(addonInstance) ? AdapterClass : V1Addon;\n }\n\n return AdapterClass;\n }\n\n private addAddon(addonInstance: AddonInstance) {\n this.orderIdx += 1;\n let Klass = this.adapterClass(addonInstance);\n let v1Addon = new Klass(addonInstance, this.options, this.app, this.packageCache, this.orderIdx);\n let pkgs = getOrCreate(this.addons, v1Addon.root, () => []);\n pkgs.push(v1Addon);\n addonInstance.addons.forEach(a => this.addAddon(a));\n }\n\n getAddons(root: string): V1Addon[] {\n return this.addons.get(root) || [];\n }\n}\n"]}
1
+ {"version":3,"file":"v1-instance-cache.js","sourceRoot":"","sources":["v1-instance-cache.ts"],"names":[],"mappings":"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","sourcesContent":["// All access to class ember-cli-provided Addon and EmberApp instances of v1\n// packages is supposed to go through here. This lets us control the boundary\n// between the new and old words.\n\nimport V1App from './v1-app';\nimport V1Addon, { V1AddonConstructor } from './v1-addon';\nimport { pathExistsSync } from 'fs-extra';\nimport { AddonInstance, getOrCreate } from '@embroider/core';\nimport Options from './options';\nimport isEqual from 'lodash/isEqual';\n\nexport default class V1InstanceCache {\n static caches: WeakMap<object, V1InstanceCache> = new WeakMap();\n\n static forApp(emberApp: object, options: Required<Options>): V1InstanceCache {\n let instance = getOrCreate(this.caches, emberApp, () => new this(emberApp, options));\n if (!isEqual(instance.options, options)) {\n throw new Error(`attempted double set of app Options`);\n }\n return instance;\n }\n\n // maps from package root directories to known V1 instances of that packages.\n // There can be many because a single copy of an addon may be consumed by many\n // other packages and each gets an instance.\n private addons: Map<string, V1Addon[]> = new Map();\n\n app: V1App;\n orderIdx: number;\n\n private constructor(oldApp: any, private options: Required<Options>) {\n this.app = V1App.create(oldApp);\n this.orderIdx = 0;\n\n // no reason to do this on demand because oldApp already eagerly loaded\n // all descendants\n (oldApp.project.addons as AddonInstance[]).forEach(addon => {\n this.addAddon(addon);\n });\n }\n\n private adapterClass(addonInstance: AddonInstance): V1AddonConstructor {\n let packageName = addonInstance.pkg.name;\n // if the user registered something (including \"null\", which allows\n // disabling the built-in adapters), that takes precedence.\n let AdapterClass = this.options.compatAdapters.get(packageName);\n\n if (AdapterClass === null) {\n return V1Addon;\n }\n\n if (!AdapterClass) {\n let path = `${__dirname}/compat-adapters/${packageName}.js`;\n if (pathExistsSync(path)) {\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n AdapterClass = require(path).default;\n }\n }\n\n if (!AdapterClass) {\n return V1Addon;\n }\n\n if (AdapterClass.shouldApplyAdapter) {\n return AdapterClass.shouldApplyAdapter(addonInstance) ? AdapterClass : V1Addon;\n }\n\n return AdapterClass;\n }\n\n private addAddon(addonInstance: AddonInstance) {\n this.orderIdx += 1;\n let Klass = this.adapterClass(addonInstance);\n let v1Addon = new Klass(addonInstance, this.options, this.app, this.app.packageCache, this.orderIdx);\n let pkgs = getOrCreate(this.addons, v1Addon.root, () => []);\n pkgs.push(v1Addon);\n addonInstance.addons.forEach(a => this.addAddon(a));\n }\n\n getAddons(root: string): V1Addon[] {\n return this.addons.get(root) || [];\n }\n}\n"]}