@embroider/compat 0.49.0 → 1.0.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.
- package/package.json +4 -4
- package/src/build-compat-addon.js +2 -2
- package/src/build-compat-addon.js.map +1 -1
- package/src/compat-addons.js +4 -4
- package/src/compat-addons.js.map +1 -1
- package/src/compat-app.js +3 -2
- package/src/compat-app.js.map +1 -1
- package/src/moved-package-cache.d.ts +2 -3
- package/src/moved-package-cache.js +10 -8
- package/src/moved-package-cache.js.map +1 -1
- package/src/one-shot.d.ts +2 -1
- package/src/one-shot.js +9 -0
- package/src/one-shot.js.map +1 -1
- package/src/prebuilt-addons.js +2 -3
- package/src/prebuilt-addons.js.map +1 -1
- package/src/resolver.js +4 -4
- package/src/resolver.js.map +1 -1
- package/src/v1-app.d.ts +5 -4
- package/src/v1-app.js +9 -8
- package/src/v1-app.js.map +1 -1
- package/src/v1-instance-cache.d.ts +0 -2
- package/src/v1-instance-cache.js +2 -5
- package/src/v1-instance-cache.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v1-instance-cache.js","sourceRoot":"","sources":["v1-instance-cache.ts"],"names":[],"mappings":";AAAA,4EAA4E;AAC5E,6EAA6E;AAC7E,iCAAiC;;;;;AAEjC,sDAA6B;AAC7B,0DAAyD;AACzD,uCAA0C;AAC1C,0CAA6D;
|
|
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"]}
|