@embroider/compat 3.7.1-unstable.aaeb674 → 3.7.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.
- package/package.json +11 -13
- package/src/audit/babel-visitor.js +1 -7
- package/src/audit/babel-visitor.js.map +1 -1
- package/src/audit/build.js.map +1 -1
- package/src/audit.d.ts +53 -6
- package/src/audit.js +285 -98
- package/src/audit.js.map +1 -1
- package/src/babel-plugin-adjust-imports.js +18 -19
- package/src/babel-plugin-adjust-imports.js.map +1 -1
- package/src/compat-adapters/@ember-data/debug.d.ts +6 -0
- package/src/compat-adapters/@ember-data/debug.js +22 -0
- package/src/compat-adapters/@ember-data/debug.js.map +1 -0
- package/src/compat-adapters/@ember-data/store.d.ts +5 -1
- package/src/compat-adapters/@ember-data/store.js +15 -3
- package/src/compat-adapters/@ember-data/store.js.map +1 -1
- package/src/compat-adapters/active-model-adapter.d.ts +1 -1
- package/src/compat-adapters/ember-asset-loader.d.ts +1 -1
- package/src/compat-adapters/ember-cli-addon-docs.d.ts +1 -1
- package/src/compat-adapters/ember-decorators.d.ts +1 -1
- package/src/compat-adapters/ember-macro-helpers.d.ts +1 -1
- package/src/compat-adapters/ember-percy.d.ts +1 -1
- package/src/compat-adapters/ember-scroll-modifiers.d.ts +1 -1
- package/src/compat-adapters/ember-source.d.ts +2 -2
- package/src/compat-adapters/ember-test-selectors.d.ts +1 -1
- package/src/compat-addons.js +1 -1
- package/src/compat-addons.js.map +1 -1
- package/src/compat-app-builder.d.ts +64 -9
- package/src/compat-app-builder.js +1275 -110
- package/src/compat-app-builder.js.map +1 -1
- package/src/compat-app.d.ts +22 -4
- package/src/compat-app.js +216 -70
- package/src/compat-app.js.map +1 -1
- package/src/default-pipeline.d.ts +2 -2
- package/src/default-pipeline.js +0 -21
- package/src/default-pipeline.js.map +1 -1
- package/src/dependency-rules.js +10 -17
- package/src/dependency-rules.js.map +1 -1
- package/src/detect-babel-plugins.d.ts +0 -1
- package/src/detect-babel-plugins.js +0 -14
- package/src/detect-babel-plugins.js.map +1 -1
- package/src/index.d.ts +2 -1
- package/src/index.js +3 -2
- package/src/index.js.map +1 -1
- package/src/options.d.ts +2 -3
- package/src/options.js +0 -3
- package/src/options.js.map +1 -1
- package/src/rename-require-plugin.d.ts +1 -0
- package/src/rename-require-plugin.js +15 -0
- package/src/rename-require-plugin.js.map +1 -0
- package/src/resolver-transform.js +6 -9
- package/src/resolver-transform.js.map +1 -1
- package/src/standalone-addon-build.js +15 -6
- package/src/standalone-addon-build.js.map +1 -1
- package/src/sync-dir.d.ts +8 -0
- package/src/sync-dir.js +68 -0
- package/src/sync-dir.js.map +1 -0
- package/src/template-tag-codemod.d.ts +13 -0
- package/src/template-tag-codemod.js +304 -0
- package/src/template-tag-codemod.js.map +1 -0
- package/src/v1-appboot.d.ts +14 -0
- package/src/v1-appboot.js +47 -0
- package/src/v1-appboot.js.map +1 -0
- package/src/v1-config.d.ts +8 -0
- package/src/v1-config.js +51 -1
- package/src/v1-config.js.map +1 -1
- package/babel.js +0 -1
- package/src/babel.d.ts +0 -19
- package/src/babel.js +0 -153
- package/src/babel.js.map +0 -1
- package/src/compat-adapters/ember-fetch.d.ts +0 -5
- package/src/compat-adapters/ember-fetch.js +0 -19
- package/src/compat-adapters/ember-fetch.js.map +0 -1
- package/src/compat-adapters/ember-resolver.d.ts +0 -4
- package/src/compat-adapters/ember-resolver.js +0 -21
- package/src/compat-adapters/ember-resolver.js.map +0 -1
- package/src/content-for-config.d.ts +0 -11
- package/src/content-for-config.js +0 -66
- package/src/content-for-config.js.map +0 -1
- package/src/http-audit.d.ts +0 -13
- package/src/http-audit.js +0 -60
- package/src/http-audit.js.map +0 -1
- package/src/module-visitor.d.ts +0 -52
- package/src/module-visitor.js +0 -285
- package/src/module-visitor.js.map +0 -1
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.default = main;
|
|
4
4
|
const path_1 = require("path");
|
|
5
5
|
const babel_import_util_1 = require("babel-import-util");
|
|
6
|
+
const fs_extra_1 = require("fs-extra");
|
|
6
7
|
const core_1 = require("@embroider/core");
|
|
7
8
|
const dasherize_component_name_1 = require("./dasherize-component-name");
|
|
8
9
|
const dependency_rules_1 = require("./dependency-rules");
|
|
@@ -13,11 +14,13 @@ function main(babel) {
|
|
|
13
14
|
if (cached) {
|
|
14
15
|
return cached;
|
|
15
16
|
}
|
|
16
|
-
let
|
|
17
|
+
let resolverOptions = (0, fs_extra_1.readJSONSync)((0, path_1.join)((0, core_1.locateEmbroiderWorkingDir)(appRoot), 'resolver.json'));
|
|
18
|
+
let resolver = new core_1.Resolver(resolverOptions);
|
|
17
19
|
cached = {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
resolverOptions,
|
|
21
|
+
resolver,
|
|
22
|
+
extraImports: preprocessExtraImports(resolverOptions, resolver),
|
|
23
|
+
componentExtraImports: preprocessComponentExtraImports(resolverOptions),
|
|
21
24
|
};
|
|
22
25
|
return cached;
|
|
23
26
|
}
|
|
@@ -35,13 +38,13 @@ main.baseDir = function () {
|
|
|
35
38
|
return (0, path_1.join)(__dirname, '..');
|
|
36
39
|
};
|
|
37
40
|
function addExtraImports(t, path, config) {
|
|
38
|
-
let filename =
|
|
41
|
+
let filename = path.hub.file.opts.filename;
|
|
39
42
|
let entry = config.extraImports[filename];
|
|
40
43
|
let adder = new babel_import_util_1.ImportUtil(t, path);
|
|
41
44
|
if (entry) {
|
|
42
45
|
applyRules(t, path, entry, adder, config, filename);
|
|
43
46
|
}
|
|
44
|
-
let componentName = config.
|
|
47
|
+
let componentName = config.resolver.reverseComponentLookup(filename);
|
|
45
48
|
if (componentName) {
|
|
46
49
|
let rules = config.componentExtraImports[componentName];
|
|
47
50
|
if (rules) {
|
|
@@ -68,7 +71,7 @@ function applyRules(t, path, rules, adder, config, filename) {
|
|
|
68
71
|
if (rules.dependsOnComponents) {
|
|
69
72
|
for (let dasherizedName of rules.dependsOnComponents) {
|
|
70
73
|
if (lookup.owningEngine) {
|
|
71
|
-
path.node.body.unshift(amdDefine(t, adder, path,
|
|
74
|
+
path.node.body.unshift(amdDefine(t, adder, path, `#embroider_compat/components/${dasherizedName}`, `${lookup.owningEngine.packageName}/components/${dasherizedName}`));
|
|
72
75
|
}
|
|
73
76
|
}
|
|
74
77
|
}
|
|
@@ -80,11 +83,9 @@ function amdDefine(t, adder, path, target, runtimeName) {
|
|
|
80
83
|
t.functionExpression(null, [], t.blockStatement([t.returnStatement(value)])),
|
|
81
84
|
]));
|
|
82
85
|
}
|
|
83
|
-
function preprocessExtraImports(
|
|
84
|
-
var _a;
|
|
86
|
+
function preprocessExtraImports(config, resolver) {
|
|
85
87
|
let extraImports = {};
|
|
86
|
-
let
|
|
87
|
-
for (let rule of (_a = config.activePackageRules) !== null && _a !== void 0 ? _a : []) {
|
|
88
|
+
for (let rule of config.activePackageRules) {
|
|
88
89
|
if (rule.addonModules) {
|
|
89
90
|
for (let [filename, moduleRules] of Object.entries(rule.addonModules)) {
|
|
90
91
|
for (let root of rule.roots) {
|
|
@@ -100,7 +101,7 @@ function preprocessExtraImports(loader) {
|
|
|
100
101
|
// But this code is only for applying packageRules to auto-upgraded v1
|
|
101
102
|
// addons, and those we always organize with their treeForApp output
|
|
102
103
|
// in _app_.
|
|
103
|
-
expandDependsOnRules((0, dependency_rules_1.appTreeRulesDir)(root,
|
|
104
|
+
expandDependsOnRules((0, dependency_rules_1.appTreeRulesDir)(root, resolver), filename, moduleRules, extraImports);
|
|
104
105
|
}
|
|
105
106
|
}
|
|
106
107
|
}
|
|
@@ -114,7 +115,7 @@ function preprocessExtraImports(loader) {
|
|
|
114
115
|
if (rule.appTemplates) {
|
|
115
116
|
for (let [filename, moduleRules] of Object.entries(rule.appTemplates)) {
|
|
116
117
|
for (let root of rule.roots) {
|
|
117
|
-
expandInvokesRules((0, dependency_rules_1.appTreeRulesDir)(root,
|
|
118
|
+
expandInvokesRules((0, dependency_rules_1.appTreeRulesDir)(root, resolver), filename, moduleRules, extraImports);
|
|
118
119
|
}
|
|
119
120
|
}
|
|
120
121
|
}
|
|
@@ -127,7 +128,7 @@ function lazyPackageLookup(config, filename) {
|
|
|
127
128
|
return {
|
|
128
129
|
get owningPackage() {
|
|
129
130
|
if (!owningPackage) {
|
|
130
|
-
owningPackage = { result: config.
|
|
131
|
+
owningPackage = { result: config.resolver.packageCache.ownerOfFile(filename) };
|
|
131
132
|
}
|
|
132
133
|
return owningPackage.result;
|
|
133
134
|
},
|
|
@@ -136,18 +137,16 @@ function lazyPackageLookup(config, filename) {
|
|
|
136
137
|
owningEngine = { result: undefined };
|
|
137
138
|
let p = this.owningPackage;
|
|
138
139
|
if (p) {
|
|
139
|
-
owningEngine.result = config.
|
|
140
|
+
owningEngine.result = config.resolver.owningEngine(p);
|
|
140
141
|
}
|
|
141
142
|
}
|
|
142
143
|
return owningEngine.result;
|
|
143
144
|
},
|
|
144
145
|
};
|
|
145
146
|
}
|
|
146
|
-
function preprocessComponentExtraImports(
|
|
147
|
-
var _a;
|
|
147
|
+
function preprocessComponentExtraImports(config) {
|
|
148
148
|
let extraImports = {};
|
|
149
|
-
let
|
|
150
|
-
for (let rule of (_a = config.activePackageRules) !== null && _a !== void 0 ? _a : []) {
|
|
149
|
+
for (let rule of config.activePackageRules) {
|
|
151
150
|
if (rule.components) {
|
|
152
151
|
for (let [componentName, rules] of Object.entries(rule.components)) {
|
|
153
152
|
if (rules.invokes) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"babel-plugin-adjust-imports.js","sourceRoot":"","sources":["babel-plugin-adjust-imports.ts"],"names":[],"mappings":"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","sourcesContent":["import { join } from 'path';\nimport type { NodePath } from '@babel/traverse';\nimport type * as Babel from '@babel/core';\nimport type { types as t } from '@babel/core';\nimport { ImportUtil } from 'babel-import-util';\nimport type { CompatResolverOptions } from './resolver-transform';\nimport type { Package } from '@embroider/core';\nimport { cleanUrl, packageName, type Resolver, ResolverLoader, unrelativize } from '@embroider/core';\nimport { snippetToDasherizedName } from './dasherize-component-name';\nimport type { ActivePackageRules, ComponentRules, ModuleRules, TemplateRules } from './dependency-rules';\nimport { appTreeRulesDir } from './dependency-rules';\n\nexport type Options = { appRoot: string };\n\ninterface State {\n opts: Options;\n}\n\ntype BabelTypes = typeof t;\n\ninterface ExtraImports {\n [key: string]: {\n dependsOnComponents?: string[]; // these are already standardized in dasherized form\n dependsOnModules?: string[];\n };\n}\n\ntype InternalConfig = {\n loader: ResolverLoader;\n\n // rule-based extra dependencies, indexed by filename\n extraImports: ExtraImports;\n\n // rule-based extra dependencies, indexed by classical component name\n componentExtraImports: ExtraImports;\n};\n\nexport default function main(babel: typeof Babel) {\n let t = babel.types;\n let cached: InternalConfig | undefined;\n function getConfig(appRoot: string) {\n if (cached) {\n return cached;\n }\n let loader = new ResolverLoader(appRoot);\n\n cached = {\n loader,\n extraImports: preprocessExtraImports(loader),\n componentExtraImports: preprocessComponentExtraImports(loader),\n };\n return cached;\n }\n\n return {\n visitor: {\n Program: {\n enter(path: NodePath<t.Program>, state: State) {\n addExtraImports(t, path, getConfig(state.opts.appRoot));\n },\n },\n },\n };\n}\n\n(main as any).baseDir = function () {\n return join(__dirname, '..');\n};\n\nfunction addExtraImports(t: BabelTypes, path: NodePath<t.Program>, config: InternalConfig) {\n let filename: string = cleanUrl((path.hub as any).file.opts.filename);\n let entry = config.extraImports[filename];\n let adder = new ImportUtil(t, path);\n if (entry) {\n applyRules(t, path, entry, adder, config, filename);\n }\n\n let componentName = config.loader.resolver.reverseComponentLookup(filename);\n if (componentName) {\n let rules = config.componentExtraImports[componentName];\n if (rules) {\n applyRules(t, path, rules, adder, config, filename);\n }\n }\n}\n\nfunction applyRules(\n t: BabelTypes,\n path: NodePath<t.Program>,\n rules: ExtraImports[string],\n adder: ImportUtil,\n config: InternalConfig,\n filename: string\n) {\n let lookup = lazyPackageLookup(config, filename);\n if (rules.dependsOnModules) {\n for (let target of rules.dependsOnModules) {\n if (lookup.owningPackage) {\n let runtimeName: string;\n if (packageName(target)) {\n runtimeName = target;\n } else {\n runtimeName = unrelativize(lookup.owningPackage, target, filename);\n }\n path.node.body.unshift(amdDefine(t, adder, path, target, runtimeName));\n }\n }\n }\n if (rules.dependsOnComponents) {\n for (let dasherizedName of rules.dependsOnComponents) {\n if (lookup.owningEngine) {\n path.node.body.unshift(\n amdDefine(\n t,\n adder,\n path,\n `@embroider/virtual/components/${dasherizedName}`,\n `${lookup.owningEngine.packageName}/components/${dasherizedName}`\n )\n );\n }\n }\n }\n}\n\nfunction amdDefine(t: BabelTypes, adder: ImportUtil, path: NodePath<t.Program>, target: string, runtimeName: string) {\n let value = t.callExpression(adder.import(path, '@embroider/macros', 'importSync'), [t.stringLiteral(target)]);\n return t.expressionStatement(\n t.callExpression(t.memberExpression(t.identifier('window'), t.identifier('define')), [\n t.stringLiteral(runtimeName),\n t.functionExpression(null, [], t.blockStatement([t.returnStatement(value)])),\n ])\n );\n}\n\nfunction preprocessExtraImports(loader: ResolverLoader): ExtraImports {\n let extraImports: ExtraImports = {};\n let config = loader.resolver.options as CompatResolverOptions;\n for (let rule of config.activePackageRules ?? []) {\n if (rule.addonModules) {\n for (let [filename, moduleRules] of Object.entries(rule.addonModules)) {\n for (let root of rule.roots) {\n expandDependsOnRules(root, filename, moduleRules, extraImports);\n }\n }\n }\n if (rule.appModules) {\n for (let [filename, moduleRules] of Object.entries(rule.appModules)) {\n for (let root of rule.roots) {\n // in general v2 addons can keep their app tree stuff in other places\n // than \"_app_\" and we would need to check their package.json to see.\n // But this code is only for applying packageRules to auto-upgraded v1\n // addons, and those we always organize with their treeForApp output\n // in _app_.\n expandDependsOnRules(appTreeRulesDir(root, loader.resolver), filename, moduleRules, extraImports);\n }\n }\n }\n if (rule.addonTemplates) {\n for (let [filename, moduleRules] of Object.entries(rule.addonTemplates)) {\n for (let root of rule.roots) {\n expandInvokesRules(root, filename, moduleRules, extraImports);\n }\n }\n }\n if (rule.appTemplates) {\n for (let [filename, moduleRules] of Object.entries(rule.appTemplates)) {\n for (let root of rule.roots) {\n expandInvokesRules(appTreeRulesDir(root, loader.resolver), filename, moduleRules, extraImports);\n }\n }\n }\n }\n return extraImports;\n}\n\nfunction lazyPackageLookup(config: InternalConfig, filename: string) {\n let owningPackage: { result: Package | undefined } | undefined;\n let owningEngine: { result: ReturnType<Resolver['owningEngine']> | undefined } | undefined;\n return {\n get owningPackage() {\n if (!owningPackage) {\n owningPackage = { result: config.loader.resolver.packageCache.ownerOfFile(filename) };\n }\n return owningPackage.result;\n },\n get owningEngine() {\n if (!owningEngine) {\n owningEngine = { result: undefined };\n let p = this.owningPackage;\n if (p) {\n owningEngine.result = config.loader.resolver.owningEngine(p);\n }\n }\n return owningEngine.result;\n },\n };\n}\n\nfunction preprocessComponentExtraImports(loader: ResolverLoader): ExtraImports {\n let extraImports: ExtraImports = {};\n let config = loader.resolver.options as CompatResolverOptions;\n for (let rule of config.activePackageRules ?? []) {\n if (rule.components) {\n for (let [componentName, rules] of Object.entries(rule.components)) {\n if (rules.invokes) {\n extraImports[dasherizeComponent(componentName, rule)] = {\n dependsOnComponents: Object.values(rules.invokes)\n .flat()\n .map(c => dasherizeComponent(c, rules)),\n };\n }\n }\n }\n }\n return extraImports;\n}\n\nfunction dasherizeComponent(\n componentSnippet: string,\n rules: ModuleRules | ComponentRules | ActivePackageRules\n): string {\n let d = snippetToDasherizedName(componentSnippet);\n if (!d) {\n throw new Error(\n `unable to parse component snippet \"${componentSnippet}\" from rule ${JSON.stringify(rules, null, 2)}`\n );\n }\n return d;\n}\n\nfunction expandDependsOnRules(\n root: string,\n filename: string,\n rules: ModuleRules,\n extraImports: InternalConfig['extraImports']\n) {\n if (rules.dependsOnModules || rules.dependsOnComponents) {\n let entry: InternalConfig['extraImports'][string] = {};\n if (rules.dependsOnModules) {\n entry.dependsOnModules = rules.dependsOnModules;\n }\n if (rules.dependsOnComponents) {\n entry.dependsOnComponents = rules.dependsOnComponents.map(c => dasherizeComponent(c, rules));\n }\n extraImports[join(root, filename)] = entry;\n }\n}\n\nfunction expandInvokesRules(\n root: string,\n filename: string,\n rules: TemplateRules,\n extraImports: InternalConfig['extraImports']\n) {\n if (rules.invokes) {\n let dependsOnComponents: string[] = [];\n for (let componentList of Object.values(rules.invokes)) {\n for (let component of componentList) {\n let d = snippetToDasherizedName(component);\n if (!d) {\n throw new Error(\n `unable to parse component snippet \"${component}\" from rule ${JSON.stringify(rules, null, 2)}`\n );\n }\n dependsOnComponents.push(d);\n }\n }\n extraImports[join(root, filename)] = { dependsOnComponents };\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"babel-plugin-adjust-imports.js","sourceRoot":"","sources":["babel-plugin-adjust-imports.ts"],"names":[],"mappings":"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","sourcesContent":["import { join } from 'path';\nimport type { NodePath } from '@babel/traverse';\nimport type * as Babel from '@babel/core';\nimport type { types as t } from '@babel/core';\nimport { ImportUtil } from 'babel-import-util';\nimport { readJSONSync } from 'fs-extra';\nimport type { CompatResolverOptions } from './resolver-transform';\nimport type { Package } from '@embroider/core';\nimport { locateEmbroiderWorkingDir, packageName, Resolver, unrelativize } from '@embroider/core';\nimport { snippetToDasherizedName } from './dasherize-component-name';\nimport type { ActivePackageRules, ComponentRules, ModuleRules, TemplateRules } from './dependency-rules';\nimport { appTreeRulesDir } from './dependency-rules';\n\nexport type Options = { appRoot: string };\n\ninterface State {\n opts: Options;\n}\n\ntype BabelTypes = typeof t;\n\ninterface ExtraImports {\n [key: string]: {\n dependsOnComponents?: string[]; // these are already standardized in dasherized form\n dependsOnModules?: string[];\n };\n}\n\ntype InternalConfig = {\n resolverOptions: CompatResolverOptions;\n resolver: Resolver;\n\n // rule-based extra dependencies, indexed by filename\n extraImports: ExtraImports;\n\n // rule-based extra dependencies, indexed by classical component name\n componentExtraImports: ExtraImports;\n};\n\nexport default function main(babel: typeof Babel) {\n let t = babel.types;\n let cached: InternalConfig | undefined;\n function getConfig(appRoot: string) {\n if (cached) {\n return cached;\n }\n let resolverOptions: CompatResolverOptions = readJSONSync(\n join(locateEmbroiderWorkingDir(appRoot), 'resolver.json')\n );\n let resolver = new Resolver(resolverOptions);\n cached = {\n resolverOptions,\n resolver,\n extraImports: preprocessExtraImports(resolverOptions, resolver),\n componentExtraImports: preprocessComponentExtraImports(resolverOptions),\n };\n return cached;\n }\n\n return {\n visitor: {\n Program: {\n enter(path: NodePath<t.Program>, state: State) {\n addExtraImports(t, path, getConfig(state.opts.appRoot));\n },\n },\n },\n };\n}\n\n(main as any).baseDir = function () {\n return join(__dirname, '..');\n};\n\nfunction addExtraImports(t: BabelTypes, path: NodePath<t.Program>, config: InternalConfig) {\n let filename: string = (path.hub as any).file.opts.filename;\n let entry = config.extraImports[filename];\n let adder = new ImportUtil(t, path);\n if (entry) {\n applyRules(t, path, entry, adder, config, filename);\n }\n\n let componentName = config.resolver.reverseComponentLookup(filename);\n if (componentName) {\n let rules = config.componentExtraImports[componentName];\n if (rules) {\n applyRules(t, path, rules, adder, config, filename);\n }\n }\n}\n\nfunction applyRules(\n t: BabelTypes,\n path: NodePath<t.Program>,\n rules: ExtraImports[string],\n adder: ImportUtil,\n config: InternalConfig,\n filename: string\n) {\n let lookup = lazyPackageLookup(config, filename);\n if (rules.dependsOnModules) {\n for (let target of rules.dependsOnModules) {\n if (lookup.owningPackage) {\n let runtimeName: string;\n if (packageName(target)) {\n runtimeName = target;\n } else {\n runtimeName = unrelativize(lookup.owningPackage, target, filename);\n }\n path.node.body.unshift(amdDefine(t, adder, path, target, runtimeName));\n }\n }\n }\n if (rules.dependsOnComponents) {\n for (let dasherizedName of rules.dependsOnComponents) {\n if (lookup.owningEngine) {\n path.node.body.unshift(\n amdDefine(\n t,\n adder,\n path,\n `#embroider_compat/components/${dasherizedName}`,\n `${lookup.owningEngine.packageName}/components/${dasherizedName}`\n )\n );\n }\n }\n }\n}\n\nfunction amdDefine(t: BabelTypes, adder: ImportUtil, path: NodePath<t.Program>, target: string, runtimeName: string) {\n let value = t.callExpression(adder.import(path, '@embroider/macros', 'importSync'), [t.stringLiteral(target)]);\n return t.expressionStatement(\n t.callExpression(t.memberExpression(t.identifier('window'), t.identifier('define')), [\n t.stringLiteral(runtimeName),\n t.functionExpression(null, [], t.blockStatement([t.returnStatement(value)])),\n ])\n );\n}\n\nfunction preprocessExtraImports(config: CompatResolverOptions, resolver: Resolver): ExtraImports {\n let extraImports: ExtraImports = {};\n for (let rule of config.activePackageRules) {\n if (rule.addonModules) {\n for (let [filename, moduleRules] of Object.entries(rule.addonModules)) {\n for (let root of rule.roots) {\n expandDependsOnRules(root, filename, moduleRules, extraImports);\n }\n }\n }\n if (rule.appModules) {\n for (let [filename, moduleRules] of Object.entries(rule.appModules)) {\n for (let root of rule.roots) {\n // in general v2 addons can keep their app tree stuff in other places\n // than \"_app_\" and we would need to check their package.json to see.\n // But this code is only for applying packageRules to auto-upgraded v1\n // addons, and those we always organize with their treeForApp output\n // in _app_.\n expandDependsOnRules(appTreeRulesDir(root, resolver), filename, moduleRules, extraImports);\n }\n }\n }\n if (rule.addonTemplates) {\n for (let [filename, moduleRules] of Object.entries(rule.addonTemplates)) {\n for (let root of rule.roots) {\n expandInvokesRules(root, filename, moduleRules, extraImports);\n }\n }\n }\n if (rule.appTemplates) {\n for (let [filename, moduleRules] of Object.entries(rule.appTemplates)) {\n for (let root of rule.roots) {\n expandInvokesRules(appTreeRulesDir(root, resolver), filename, moduleRules, extraImports);\n }\n }\n }\n }\n return extraImports;\n}\n\nfunction lazyPackageLookup(config: InternalConfig, filename: string) {\n let owningPackage: { result: Package | undefined } | undefined;\n let owningEngine: { result: ReturnType<Resolver['owningEngine']> | undefined } | undefined;\n return {\n get owningPackage() {\n if (!owningPackage) {\n owningPackage = { result: config.resolver.packageCache.ownerOfFile(filename) };\n }\n return owningPackage.result;\n },\n get owningEngine() {\n if (!owningEngine) {\n owningEngine = { result: undefined };\n let p = this.owningPackage;\n if (p) {\n owningEngine.result = config.resolver.owningEngine(p);\n }\n }\n return owningEngine.result;\n },\n };\n}\n\nfunction preprocessComponentExtraImports(config: CompatResolverOptions): ExtraImports {\n let extraImports: ExtraImports = {};\n for (let rule of config.activePackageRules) {\n if (rule.components) {\n for (let [componentName, rules] of Object.entries(rule.components)) {\n if (rules.invokes) {\n extraImports[dasherizeComponent(componentName, rule)] = {\n dependsOnComponents: Object.values(rules.invokes)\n .flat()\n .map(c => dasherizeComponent(c, rules)),\n };\n }\n }\n }\n }\n return extraImports;\n}\n\nfunction dasherizeComponent(\n componentSnippet: string,\n rules: ModuleRules | ComponentRules | ActivePackageRules\n): string {\n let d = snippetToDasherizedName(componentSnippet);\n if (!d) {\n throw new Error(\n `unable to parse component snippet \"${componentSnippet}\" from rule ${JSON.stringify(rules, null, 2)}`\n );\n }\n return d;\n}\n\nfunction expandDependsOnRules(\n root: string,\n filename: string,\n rules: ModuleRules,\n extraImports: InternalConfig['extraImports']\n) {\n if (rules.dependsOnModules || rules.dependsOnComponents) {\n let entry: InternalConfig['extraImports'][string] = {};\n if (rules.dependsOnModules) {\n entry.dependsOnModules = rules.dependsOnModules;\n }\n if (rules.dependsOnComponents) {\n entry.dependsOnComponents = rules.dependsOnComponents.map(c => dasherizeComponent(c, rules));\n }\n extraImports[join(root, filename)] = entry;\n }\n}\n\nfunction expandInvokesRules(\n root: string,\n filename: string,\n rules: TemplateRules,\n extraImports: InternalConfig['extraImports']\n) {\n if (rules.invokes) {\n let dependsOnComponents: string[] = [];\n for (let componentList of Object.values(rules.invokes)) {\n for (let component of componentList) {\n let d = snippetToDasherizedName(component);\n if (!d) {\n throw new Error(\n `unable to parse component snippet \"${component}\" from rule ${JSON.stringify(rules, null, 2)}`\n );\n }\n dependsOnComponents.push(d);\n }\n }\n extraImports[join(root, filename)] = { dependsOnComponents };\n }\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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,6 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
const ember_data_1 = require("../ember-data");
|
|
4
|
+
class EmberDataStore extends ember_data_1.EmberDataBase {
|
|
5
|
+
get packageMeta() {
|
|
6
|
+
var _a;
|
|
7
|
+
let meta = super.packageMeta;
|
|
8
|
+
// this is here because the compat-adapter for @ember-data/debug adds this
|
|
9
|
+
// to externals because it has an undeclared peerDep on us, and thus might
|
|
10
|
+
// resolve totally incorrect copies. By making it external we leave it up to
|
|
11
|
+
// runtime, where we will find this implicit-module for the actual copy of
|
|
12
|
+
// @ember-data/store that is active in app.
|
|
13
|
+
meta['implicit-modules'] = [...((_a = meta['implicit-modules']) !== null && _a !== void 0 ? _a : []), './index.js'];
|
|
14
|
+
return meta;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.default = EmberDataStore;
|
|
6
18
|
//# sourceMappingURL=store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["store.ts"],"names":[],"mappings":";;AACA,8CAA8C;AAE9C,MAAqB,cAAe,SAAQ,0BAAa;IACvD,IAAI,WAAW;;QACb,IAAI,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;QAE7B,0EAA0E;QAC1E,0EAA0E;QAC1E,4EAA4E;QAC5E,0EAA0E;QAC1E,2CAA2C;QAC3C,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,kBAAkB,CAAC,mCAAI,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;QAE/E,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAbD,iCAaC","sourcesContent":["import type { AddonMeta } from '@embroider/core';\nimport { EmberDataBase } from '../ember-data';\n\nexport default class EmberDataStore extends EmberDataBase {\n get packageMeta(): Partial<AddonMeta> {\n let meta = super.packageMeta;\n\n // this is here because the compat-adapter for @ember-data/debug adds this\n // to externals because it has an undeclared peerDep on us, and thus might\n // resolve totally incorrect copies. By making it external we leave it up to\n // runtime, where we will find this implicit-module for the actual copy of\n // @ember-data/store that is active in app.\n meta['implicit-modules'] = [...(meta['implicit-modules'] ?? []), './index.js'];\n\n return meta;\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import V1Addon from '../v1-addon';
|
|
2
2
|
export default class extends V1Addon {
|
|
3
3
|
get v2Tree(): import("broccoli-funnel").Funnel;
|
|
4
|
-
get packageMeta(): Partial<import("@embroider/
|
|
4
|
+
get packageMeta(): Partial<import("@embroider/core").AddonMeta>;
|
|
5
5
|
}
|
|
@@ -3,12 +3,12 @@ export default class extends V1Addon {
|
|
|
3
3
|
get v2Tree(): Node;
|
|
4
4
|
private get useStaticEmber();
|
|
5
5
|
private get includedDependencies();
|
|
6
|
-
get newPackageJSON(): import("@embroider/
|
|
6
|
+
get newPackageJSON(): import("@embroider/core").PackageInfo;
|
|
7
7
|
customizes(treeName: string): boolean;
|
|
8
8
|
invokeOriginalTreeFor(name: string, opts?: {
|
|
9
9
|
neuterPreprocessors: boolean;
|
|
10
10
|
}): any;
|
|
11
11
|
private customAddonTree;
|
|
12
12
|
private customVendorTree;
|
|
13
|
-
get packageMeta(): Partial<import("@embroider/
|
|
13
|
+
get packageMeta(): Partial<import("@embroider/core").AddonMeta>;
|
|
14
14
|
}
|
|
@@ -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/
|
|
4
|
+
get packageMeta(): Partial<import("@embroider/core").AddonMeta>;
|
|
5
5
|
}
|
package/src/compat-addons.js
CHANGED
|
@@ -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), '
|
|
32
|
+
outputPath: (0, path_1.resolve)((0, core_1.locateEmbroiderWorkingDir)(this.compatApp.root), 'rewritten-app'),
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
async build({ addons, }, changedMap) {
|
package/src/compat-addons.js.map
CHANGED
|
@@ -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,
|
|
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,26 +1,81 @@
|
|
|
1
|
+
import type { Node as BroccoliNode } from 'broccoli-node-api';
|
|
2
|
+
import type { OutputPaths } from '@embroider/core';
|
|
1
3
|
import type Options from './options';
|
|
2
|
-
import type ContentForConfig from './content-for-config';
|
|
3
4
|
import type { V1Config } from './v1-config';
|
|
4
5
|
import type { Package } from '@embroider/core';
|
|
5
6
|
import type CompatApp from './compat-app';
|
|
6
7
|
export declare class CompatAppBuilder {
|
|
8
|
+
private root;
|
|
7
9
|
private origAppPackage;
|
|
8
10
|
private appPackageWithMovedDeps;
|
|
9
11
|
private options;
|
|
10
12
|
private compatApp;
|
|
11
13
|
private configTree;
|
|
12
|
-
private contentForTree;
|
|
13
14
|
private synthVendor;
|
|
14
15
|
private synthStyles;
|
|
15
|
-
|
|
16
|
+
private assets;
|
|
17
|
+
constructor(root: string, origAppPackage: Package, appPackageWithMovedDeps: Package, options: Required<Options>, compatApp: CompatApp, configTree: V1Config, synthVendor: Package, synthStyles: Package);
|
|
18
|
+
private fastbootJSSrcDir;
|
|
19
|
+
private extractAssets;
|
|
20
|
+
private findTestemAsset;
|
|
21
|
+
private activeAddonChildren;
|
|
22
|
+
private get allActiveAddons();
|
|
23
|
+
private isActiveAddon;
|
|
24
|
+
private orderAddons;
|
|
25
|
+
private resolvableExtensions;
|
|
26
|
+
private emberEntrypoints;
|
|
16
27
|
private modulePrefix;
|
|
17
28
|
private podModulePrefix;
|
|
18
|
-
private
|
|
19
|
-
|
|
29
|
+
private rootURL;
|
|
30
|
+
private activeRules;
|
|
31
|
+
private resolverConfig;
|
|
32
|
+
private scriptPriority;
|
|
33
|
+
private get resolvableExtensionsPattern();
|
|
34
|
+
private impliedAssets;
|
|
35
|
+
private impliedAddonAssets;
|
|
36
|
+
private babelConfig;
|
|
37
|
+
private insertEmberApp;
|
|
38
|
+
private implicitScriptsAsset;
|
|
39
|
+
private implicitStylesAsset;
|
|
40
|
+
private implicitTestScriptsAsset;
|
|
41
|
+
private implicitTestStylesAsset;
|
|
42
|
+
private findActiveAddons;
|
|
43
|
+
private partitionEngines;
|
|
44
|
+
private get activeFastboot();
|
|
45
|
+
private emberVersion;
|
|
46
|
+
private get fastbootConfig();
|
|
47
|
+
private engines;
|
|
48
|
+
private updateAppJS;
|
|
49
|
+
private prepareAsset;
|
|
50
|
+
private prepareAssets;
|
|
51
|
+
private assetIsValid;
|
|
52
|
+
private updateOnDiskAsset;
|
|
53
|
+
private updateInMemoryAsset;
|
|
54
|
+
private updateBuiltEmberAsset;
|
|
55
|
+
private updateConcatenatedAsset;
|
|
56
|
+
private updateAssets;
|
|
57
|
+
private gatherAssets;
|
|
58
|
+
private firstBuild;
|
|
59
|
+
build(inputPaths: OutputPaths<TreeNames>): Promise<void>;
|
|
60
|
+
private combinePackageJSON;
|
|
61
|
+
private etcOptions;
|
|
20
62
|
private get portableHints();
|
|
21
|
-
private
|
|
63
|
+
private addBabelConfig;
|
|
22
64
|
private addResolverConfig;
|
|
23
|
-
private
|
|
24
|
-
private
|
|
25
|
-
private
|
|
65
|
+
private shouldSplitRoute;
|
|
66
|
+
private splitRoute;
|
|
67
|
+
private topAppJSAsset;
|
|
68
|
+
private get staticAppPathsPattern();
|
|
69
|
+
private requiredOtherFiles;
|
|
70
|
+
private appJSAsset;
|
|
71
|
+
private importPaths;
|
|
72
|
+
private routeEntrypoint;
|
|
73
|
+
private testJSEntrypoint;
|
|
26
74
|
}
|
|
75
|
+
interface TreeNames {
|
|
76
|
+
appJS: BroccoliNode;
|
|
77
|
+
htmlTree: BroccoliNode;
|
|
78
|
+
publicTree: BroccoliNode | undefined;
|
|
79
|
+
configTree: BroccoliNode;
|
|
80
|
+
}
|
|
81
|
+
export {};
|