@embroider/vite 0.2.1-unstable.cb8efec → 0.2.1-unstable.ccbb0a6
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/index.d.ts +1 -0
- package/index.mjs +1 -0
- package/package.json +4 -4
- package/src/assets.js +31 -20
- package/src/assets.js.map +1 -1
- package/src/build.js.map +1 -1
- package/src/content-for.d.ts +2 -0
- package/src/content-for.js +21 -0
- package/src/content-for.js.map +1 -0
- package/src/esbuild-request.js.map +1 -1
- package/src/esbuild-resolver.js.map +1 -1
- package/src/hbs.js.map +1 -1
- package/src/request.js.map +1 -1
- package/src/resolver.js +5 -0
- package/src/resolver.js.map +1 -1
- package/src/scripts.js.map +1 -1
- package/src/template-tag.js.map +1 -1
package/index.d.ts
CHANGED
package/index.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@embroider/vite",
|
|
3
|
-
"version": "0.2.1-unstable.
|
|
3
|
+
"version": "0.2.1-unstable.ccbb0a6",
|
|
4
4
|
"main": "index.mjs",
|
|
5
5
|
"peerDependencies": {
|
|
6
|
-
"@embroider/core": "3.4.
|
|
6
|
+
"@embroider/core": "3.4.10-unstable.ccbb0a6",
|
|
7
7
|
"vite": "^4.3.9 || ^5.0.0"
|
|
8
8
|
},
|
|
9
9
|
"scripts": {
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@babel/core": "^7.22.9",
|
|
14
|
-
"@embroider/macros": "1.
|
|
14
|
+
"@embroider/macros": "1.16.2-unstable.ccbb0a6",
|
|
15
15
|
"@rollup/pluginutils": "^4.1.1",
|
|
16
16
|
"assert-never": "^1.2.1",
|
|
17
17
|
"content-tag": "^2.0.1",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"send": "^0.18.0"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@embroider/core": "3.4.
|
|
28
|
+
"@embroider/core": "3.4.10-unstable.ccbb0a6",
|
|
29
29
|
"@types/babel__core": "^7.20.1",
|
|
30
30
|
"@types/send": "^0.17.4",
|
|
31
31
|
"@types/debug": "^4.1.5",
|
package/src/assets.js
CHANGED
|
@@ -74,29 +74,40 @@ function assets() {
|
|
|
74
74
|
});
|
|
75
75
|
};
|
|
76
76
|
},
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
if (
|
|
77
|
+
buildStart: {
|
|
78
|
+
// we need to wait for the compatBuild plugin's buildStart hook to finish
|
|
79
|
+
// so that the resolver config exists before we try to read it.
|
|
80
|
+
sequential: true,
|
|
81
|
+
order: 'post',
|
|
82
|
+
async handler() {
|
|
83
|
+
if (mode !== 'build')
|
|
84
|
+
return;
|
|
85
|
+
const engines = resolverLoader.resolver.options.engines;
|
|
86
|
+
for (const engine of engines) {
|
|
87
|
+
const packages = engine.activeAddons.map(a => resolverLoader.resolver.packageCache.ownerOfFile(a.root));
|
|
88
|
+
packages.forEach(pkg => {
|
|
89
|
+
if (!pkg || !pkg.isV2Addon())
|
|
90
90
|
return;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
91
|
+
const assets = pkg.meta['public-assets'] || {};
|
|
92
|
+
Object.entries(assets).forEach(([path, dest]) => {
|
|
93
|
+
// do not override app public assets
|
|
94
|
+
if ((0, fs_extra_1.existsSync)((0, path_1.join)(publicDir, dest))) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const filePath = (0, path_1.join)(pkg.root, path);
|
|
98
|
+
if (!(0, fs_extra_1.lstatSync)(filePath).isFile()) {
|
|
99
|
+
console.log(`Invalid package definition, ${pkg.name} has defined a file "${path}" that is not a file`);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
this.emitFile({
|
|
103
|
+
type: 'asset',
|
|
104
|
+
source: (0, fs_extra_1.readFileSync)(filePath),
|
|
105
|
+
fileName: path_1.posix.resolve('/', dest).slice(1),
|
|
106
|
+
});
|
|
96
107
|
});
|
|
97
108
|
});
|
|
98
|
-
}
|
|
99
|
-
}
|
|
109
|
+
}
|
|
110
|
+
},
|
|
100
111
|
},
|
|
101
112
|
};
|
|
102
113
|
}
|
package/src/assets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assets.js","sourceRoot":"","sources":["assets.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAAiD;AAEjD,iDAAmC;AACnC,+BAAmC;AACnC,
|
|
1
|
+
{"version":3,"file":"assets.js","sourceRoot":"","sources":["assets.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Resolver } from '@embroider/core';\nimport { ResolverLoader } from '@embroider/core';\nimport type { Plugin } from 'vite';\nimport * as process from 'process';\nimport { join, posix } from 'path';\nimport { existsSync, readFileSync, lstatSync } from 'fs-extra';\nimport send from 'send';\nimport type { Readable } from 'stream';\n\nfunction findPublicAsset(relativePath: string, resolver: Resolver) {\n const packageCache = resolver.packageCache;\n let pkg = packageCache.ownerOfFile(relativePath);\n\n for (const engine of resolver.options.engines) {\n for (const addon of engine.activeAddons) {\n pkg = packageCache.ownerOfFile(addon.root);\n if (pkg && pkg.meta && pkg.isV2Addon() && pkg.meta['public-assets']) {\n const asset = Object.entries(pkg.meta['public-assets']).find(\n ([_key, a]) => posix.resolve('/', a) === relativePath\n )?.[0];\n let local = asset ? join(addon.root, asset) : null;\n if (local && existsSync(local)) {\n return local;\n }\n }\n }\n }\n}\n\nexport function assets(): Plugin {\n const cwd = process.cwd();\n const resolverLoader = new ResolverLoader(cwd);\n let mode: 'build' | 'serve' = 'build';\n let publicDir = 'public';\n return {\n name: 'assets',\n enforce: 'post',\n configResolved(options) {\n mode = options.command;\n publicDir = options.publicDir;\n },\n configureServer(server) {\n return () => {\n server.middlewares.use((req, res, next) => {\n if (req.originalUrl && req.originalUrl.length > 1) {\n const assetUrl = findPublicAsset(req.originalUrl.split('?')[0], resolverLoader.resolver);\n if (assetUrl) {\n return send(req as Readable, assetUrl).pipe(res);\n }\n }\n return next();\n });\n };\n },\n buildStart: {\n // we need to wait for the compatBuild plugin's buildStart hook to finish\n // so that the resolver config exists before we try to read it.\n sequential: true,\n order: 'post',\n async handler() {\n if (mode !== 'build') return;\n const engines = resolverLoader.resolver.options.engines;\n for (const engine of engines) {\n const packages = engine.activeAddons.map(a => resolverLoader.resolver.packageCache.ownerOfFile(a.root));\n packages.forEach(pkg => {\n if (!pkg || !pkg.isV2Addon()) return;\n const assets = pkg.meta['public-assets'] || {};\n Object.entries(assets).forEach(([path, dest]) => {\n // do not override app public assets\n if (existsSync(join(publicDir, dest))) {\n return;\n }\n\n const filePath = join(pkg.root, path);\n if (!lstatSync(filePath).isFile()) {\n console.log(`Invalid package definition, ${pkg.name} has defined a file \"${path}\" that is not a file`);\n return;\n }\n\n this.emitFile({\n type: 'asset',\n source: readFileSync(filePath),\n fileName: posix.resolve('/', dest).slice(1),\n });\n });\n });\n }\n },\n },\n };\n}\n"]}
|
package/src/build.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.js","sourceRoot":"","sources":["build.ts"],"names":[],"mappings":";;;AAAA,iDAAqC;AAGrC,SAAgB,UAAU,CAAC,OAAe,EAAE,IAAY;IACtD,IAAI,OAAO,KAAK,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"build.js","sourceRoot":"","sources":["build.ts"],"names":[],"mappings":";;;AAAA,iDAAqC;AAGrC,SAAgB,UAAU,CAAC,OAAe,EAAE,IAAY;IACtD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,KAAK,GAAG,IAAA,oBAAI,EAAC,oCAAoC,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE;gBACzF,GAAG,EAAE;oBACH,GAAG,OAAO,CAAC,GAAG;oBACd,kBAAkB,EAAE,MAAM;iBAC3B;aACF,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,IAAA,oBAAI,EAAC,oCAAoC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE;YACpG,MAAM,EAAE,IAAI;YACZ,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,kBAAkB,EAAE,MAAM;aAC3B;SACF,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC;QACrG,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;;YACrB,MAAA,KAAK,CAAC,MAAM,0CAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBAC9B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;gBAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC7B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBACjD,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAjCD,gCAiCC;AAED,SAAgB,cAAc;IAC5B,IAAI,WAA+B,CAAC;IACpC,IAAI,QAA4B,CAAC;IAEjC,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,KAAK;QACd,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC/B,WAAW,GAAG,OAAO,CAAC;YACtB,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,KAAK,CAAC,UAAU;YACd,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;KACF,CAAC;AACJ,CAAC;AArBD,wCAqBC","sourcesContent":["import { fork } from 'child_process';\nimport type { Plugin } from 'vite';\n\nexport function emberBuild(command: string, mode: string): Promise<void> {\n if (command === 'build') {\n return new Promise((resolve, reject) => {\n const child = fork('./node_modules/ember-cli/bin/ember', ['build', '--environment', mode], {\n env: {\n ...process.env,\n EMBROIDER_PREBUILD: 'true',\n },\n });\n child.on('exit', code => (code === 0 ? resolve() : reject()));\n });\n }\n return new Promise((resolve, reject) => {\n const child = fork('./node_modules/ember-cli/bin/ember', ['build', '--watch', '--environment', mode], {\n silent: true,\n env: {\n ...process.env,\n EMBROIDER_PREBUILD: 'true',\n },\n });\n child.on('exit', code => (code === 0 ? resolve() : reject(new Error('ember build --watch failed'))));\n child.on('spawn', () => {\n child.stderr?.on('data', data => {\n console.error(data.toString());\n });\n child.stdout!.on('data', data => {\n console.log(data.toString());\n if (data.toString().includes('Build successful')) {\n resolve();\n }\n });\n });\n });\n}\n\nexport function compatPrebuild(): Plugin {\n let viteCommand: string | undefined;\n let viteMode: string | undefined;\n\n return {\n name: 'embroider-builder',\n enforce: 'pre',\n config(_config, { mode, command }) {\n viteCommand = command;\n viteMode = mode;\n },\n async buildStart() {\n if (!viteCommand) {\n throw new Error(`bug: embroider compatPrebuild did not detect Vite's command`);\n }\n if (!viteMode) {\n throw new Error(`bug: embroider compatPrebuild did not detect Vite's mode`);\n }\n await emberBuild(viteCommand, viteMode);\n },\n };\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.contentFor = void 0;
|
|
4
|
+
const fs_extra_1 = require("fs-extra");
|
|
5
|
+
const path_1 = require("path");
|
|
6
|
+
const core_1 = require("@embroider/core");
|
|
7
|
+
function contentFor() {
|
|
8
|
+
return {
|
|
9
|
+
name: 'embroider-content-for',
|
|
10
|
+
transformIndexHtml(html, { path }) {
|
|
11
|
+
let config = (0, fs_extra_1.readJSONSync)((0, path_1.join)((0, core_1.locateEmbroiderWorkingDir)(process.cwd()), 'content-for.json'));
|
|
12
|
+
let contentsForConfig = config[path];
|
|
13
|
+
for (const [contentType, htmlContent] of Object.entries(contentsForConfig)) {
|
|
14
|
+
html = html.replace(`{{content-for "${contentType}"}}`, `${htmlContent}`);
|
|
15
|
+
}
|
|
16
|
+
return html;
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
exports.contentFor = contentFor;
|
|
21
|
+
//# sourceMappingURL=content-for.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-for.js","sourceRoot":"","sources":["content-for.ts"],"names":[],"mappings":";;;AACA,uCAAwC;AACxC,+BAA4B;AAC5B,0CAA4D;AAE5D,SAAgB,UAAU;IACxB,OAAO;QACL,IAAI,EAAE,uBAAuB;QAE7B,kBAAkB,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE;YAC/B,IAAI,MAAM,GAAQ,IAAA,uBAAY,EAAC,IAAA,WAAI,EAAC,IAAA,gCAAyB,EAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC;YACnG,IAAI,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,KAAK,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC3E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,WAAW,KAAK,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC;YAC5E,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KACF,CAAC;AACJ,CAAC;AAbD,gCAaC","sourcesContent":["import type { Plugin } from 'vite';\nimport { readJSONSync } from 'fs-extra';\nimport { join } from 'path';\nimport { locateEmbroiderWorkingDir } from '@embroider/core';\n\nexport function contentFor(): Plugin {\n return {\n name: 'embroider-content-for',\n\n transformIndexHtml(html, { path }) {\n let config: any = readJSONSync(join(locateEmbroiderWorkingDir(process.cwd()), 'content-for.json'));\n let contentsForConfig = config[path];\n for (const [contentType, htmlContent] of Object.entries(contentsForConfig)) {\n html = html.replace(`{{content-for \"${contentType}\"}}`, `${htmlContent}`);\n }\n return html;\n },\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esbuild-request.js","sourceRoot":"","sources":["esbuild-request.ts"],"names":[],"mappings":";;;AAAA,0CAA+D;AAE/D,+BAA+B;AAI/B,MAAa,oBAAoB;IAC/B,MAAM,CAAC,IAAI,CACT,OAAoB,EACpB,IAAgB,EAChB,MAAc,EACd,QAA4B,EAC5B,UAA2C;;QAE3C,IAAI,CAAC,CAAC,MAAA,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,0CAAE,oBAAoB,mCAAI,IAAI,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"esbuild-request.js","sourceRoot":"","sources":["esbuild-request.ts"],"names":[],"mappings":"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","sourcesContent":["import { type ModuleRequest, cleanUrl } from '@embroider/core';\nimport type { ImportKind, OnResolveResult, PluginBuild } from 'esbuild';\nimport { dirname } from 'path';\n\nimport type { Resolution } from '@embroider/core';\n\nexport class EsBuildModuleRequest implements ModuleRequest {\n static from(\n context: PluginBuild,\n kind: ImportKind,\n source: string,\n importer: string | undefined,\n pluginData: Record<string, any> | undefined\n ): EsBuildModuleRequest | undefined {\n if (!(pluginData?.embroider?.enableCustomResolver ?? true)) {\n return;\n }\n\n if (source && importer && source[0] !== '\\0') {\n let fromFile = cleanUrl(importer);\n return new EsBuildModuleRequest(\n context,\n kind,\n source,\n fromFile,\n pluginData?.embroider?.meta,\n false,\n false,\n undefined\n );\n }\n }\n\n private constructor(\n private context: PluginBuild,\n private kind: ImportKind,\n readonly specifier: string,\n readonly fromFile: string,\n readonly meta: Record<string, any> | undefined,\n readonly isVirtual: boolean,\n readonly isNotFound: boolean,\n readonly resolvedTo: Resolution<OnResolveResult, OnResolveResult> | undefined\n ) {}\n\n get debugType() {\n return 'esbuild';\n }\n\n alias(newSpecifier: string) {\n return new EsBuildModuleRequest(\n this.context,\n this.kind,\n newSpecifier,\n this.fromFile,\n this.meta,\n this.isVirtual,\n false,\n undefined\n ) as this;\n }\n rehome(newFromFile: string) {\n if (this.fromFile === newFromFile) {\n return this;\n } else {\n return new EsBuildModuleRequest(\n this.context,\n this.kind,\n this.specifier,\n newFromFile,\n this.meta,\n this.isVirtual,\n false,\n undefined\n ) as this;\n }\n }\n virtualize(filename: string) {\n return new EsBuildModuleRequest(\n this.context,\n this.kind,\n filename,\n this.fromFile,\n this.meta,\n true,\n false,\n undefined\n ) as this;\n }\n withMeta(meta: Record<string, any> | undefined): this {\n return new EsBuildModuleRequest(\n this.context,\n this.kind,\n this.specifier,\n this.fromFile,\n meta,\n this.isVirtual,\n this.isNotFound,\n this.resolvedTo\n ) as this;\n }\n notFound(): this {\n return new EsBuildModuleRequest(\n this.context,\n this.kind,\n this.specifier,\n this.fromFile,\n this.meta,\n this.isVirtual,\n true,\n undefined\n ) as this;\n }\n\n resolveTo(resolution: Resolution<OnResolveResult, OnResolveResult>): this {\n return new EsBuildModuleRequest(\n this.context,\n this.kind,\n this.specifier,\n this.fromFile,\n this.meta,\n this.isVirtual,\n this.isNotFound,\n resolution\n ) as this;\n }\n\n async defaultResolve(): Promise<Resolution<OnResolveResult, OnResolveResult>> {\n const request = this;\n if (request.isVirtual) {\n return {\n type: 'found',\n filename: request.specifier,\n result: { path: request.specifier, namespace: 'embroider' },\n isVirtual: this.isVirtual,\n };\n }\n if (request.isNotFound) {\n // todo: make sure this looks correct to users\n return {\n type: 'not_found',\n err: {\n errors: [{ text: `module not found ${request.specifier}` }],\n },\n };\n }\n\n let result = await this.context.resolve(request.specifier, {\n importer: request.fromFile,\n resolveDir: dirname(request.fromFile),\n kind: this.kind,\n pluginData: {\n embroider: {\n enableCustomResolver: false,\n meta: request.meta,\n },\n },\n });\n if (result.errors.length > 0) {\n return { type: 'not_found', err: result };\n } else if (result.external) {\n return { type: 'ignored', result };\n } else {\n return { type: 'found', filename: result.path, result, isVirtual: this.isVirtual };\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esbuild-resolver.js","sourceRoot":"","sources":["esbuild-resolver.ts"],"names":[],"mappings":";;;;;;AACA,sCAAyD;AACzD,0CAA4F;AAC5F,uCAAsD;AACtD,uDAAyD;AACzD,gEAAuC;AACvC,+BAA+B;AAC/B,0CAA0C;AAC1C,6CAA2C;AAE3C,QAAQ,CAAC,CAAC,UAAU,CAAC,IAAY;IAC/B,MAAM,IAAI,CAAC;IACX,MAAM,IAAI,GAAG,MAAM,CAAC;IACpB,MAAM,IAAI,GAAG,MAAM,CAAC;IACpB,MAAM,IAAI,GAAG,MAAM,CAAC;AACtB,CAAC;AAED,SAAgB,eAAe,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE;IAClD,IAAI,cAAc,GAAG,IAAI,qBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,IAAI,YAAoC,CAAC;IACzC,IAAI,YAAY,GAAG,IAAI,0BAAY,EAAE,CAAC;IAEtC,OAAO;QACL,IAAI,EAAE,4BAA4B;QAClC,KAAK,CAAC,KAAK;YACT,gIAAgI;YAChI,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE;gBACrG,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,wBAAwB,EAAE;
|
|
1
|
+
{"version":3,"file":"esbuild-resolver.js","sourceRoot":"","sources":["esbuild-resolver.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Plugin as EsBuildPlugin } from 'esbuild';\nimport { type PluginItem, transform } from '@babel/core';\nimport { ResolverLoader, virtualContent, locateEmbroiderWorkingDir } from '@embroider/core';\nimport { readFileSync, readJSONSync } from 'fs-extra';\nimport { EsBuildModuleRequest } from './esbuild-request';\nimport assertNever from 'assert-never';\nimport { resolve } from 'path';\nimport { hbsToJS } from '@embroider/core';\nimport { Preprocessor } from 'content-tag';\n\nfunction* candidates(path: string) {\n yield path;\n yield path + '.hbs';\n yield path + '.gjs';\n yield path + '.gts';\n}\n\nexport function esBuildResolver(root = process.cwd()): EsBuildPlugin {\n let resolverLoader = new ResolverLoader(process.cwd());\n let macrosConfig: PluginItem | undefined;\n let preprocessor = new Preprocessor();\n\n return {\n name: 'embroider-esbuild-resolver',\n setup(build) {\n // This resolver plugin is designed to test candidates for extensions and interoperates with our other embroider specific plugin\n build.onResolve({ filter: /./ }, async ({ path, importer, namespace, resolveDir, pluginData, kind }) => {\n if (pluginData?.embroiderExtensionSearch) {\n return null;\n }\n\n let firstFailure;\n\n for (let candidate of candidates(path)) {\n let result = await build.resolve(candidate, {\n namespace,\n resolveDir,\n importer,\n kind,\n pluginData: { ...pluginData, embroiderExtensionSearch: true },\n });\n\n if (result.errors.length === 0) {\n return result;\n }\n\n if (!firstFailure) {\n firstFailure = result;\n }\n }\n\n return firstFailure;\n });\n build.onResolve({ filter: /./ }, async ({ path, importer, pluginData, kind }) => {\n let request = EsBuildModuleRequest.from(build, kind, path, importer, pluginData);\n if (!request) {\n return null;\n }\n let resolution = await resolverLoader.resolver.resolve(request);\n switch (resolution.type) {\n case 'found':\n case 'ignored':\n return resolution.result;\n case 'not_found':\n return resolution.err;\n default:\n throw assertNever(resolution);\n }\n });\n\n build.onLoad({ namespace: 'embroider', filter: /./ }, ({ path }) => {\n // We don't want esbuild to try loading virtual CSS files\n if (path.endsWith('.css')) {\n return { contents: '' };\n }\n let { src } = virtualContent(path, resolverLoader.resolver);\n if (!macrosConfig) {\n macrosConfig = readJSONSync(\n resolve(locateEmbroiderWorkingDir(root), 'rewritten-app', 'macros-config.json')\n ) as PluginItem;\n }\n return { contents: runMacros(src, path, macrosConfig) };\n });\n\n build.onLoad({ filter: /\\.g[jt]s$/ }, async ({ path: filename }) => {\n const code = readFileSync(filename, 'utf8');\n\n const result = transform(preprocessor.process(code, { filename }), {\n filename,\n });\n\n if (!result || !result.code) {\n throw new Error(`Failed to load file ${filename} in esbuild-hbs-loader`);\n }\n\n const contents = result.code;\n\n return { contents };\n });\n\n build.onLoad({ filter: /\\.hbs$/ }, async ({ path: filename }) => {\n const code = readFileSync(filename, 'utf8');\n\n const result = transform(hbsToJS(code), { filename });\n\n if (!result || !result.code) {\n throw new Error(`Failed to load file ${filename} in esbuild-hbs-loader`);\n }\n\n const contents = result.code;\n\n return { contents };\n });\n\n build.onLoad({ filter: /\\.[jt]s$/ }, ({ path, namespace }) => {\n let src: string;\n if (namespace === 'embroider') {\n src = virtualContent(path, resolverLoader.resolver).src;\n } else {\n src = readFileSync(path, 'utf8');\n }\n if (!macrosConfig) {\n macrosConfig = readJSONSync(\n resolve(locateEmbroiderWorkingDir(root), 'rewritten-app', 'macros-config.json')\n ) as PluginItem;\n }\n return { contents: runMacros(src, path, macrosConfig) };\n });\n },\n };\n}\n\nfunction runMacros(src: string, filename: string, macrosConfig: PluginItem): string {\n return transform(src, {\n filename,\n plugins: [macrosConfig],\n })!.code!;\n}\n"]}
|
package/src/hbs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hbs.js","sourceRoot":"","sources":["hbs.ts"],"names":[],"mappings":";;;;;;AAAA,gFAAgF;AAChF,sCAAsC;AACtC,qDAAmD;AAGnD,0CAA0D;AAC1D,gEAAuC;AACvC,+BAA0C;AAC1C,kDAA8B;AAE9B,MAAM,KAAK,GAAG,IAAA,eAAS,EAAC,sBAAsB,CAAC,CAAC;AAChD,MAAM,cAAc,GAAG,IAAI,qBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAEzD,SAAgB,GAAG;IACjB,OAAO;QACL,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,KAAK;QACd,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,QAA4B,EAAE,OAAO;;YACnE,IAAI,MAAA,MAAA,OAAO,CAAC,MAAM,0CAAE,SAAS,0CAAE,iBAAiB,EAAE;
|
|
1
|
+
{"version":3,"file":"hbs.js","sourceRoot":"","sources":["hbs.ts"],"names":[],"mappings":"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","sourcesContent":["// TODO: I copied this from @embroider/addon-dev, it needs to be its own package\n// (or be in shared-internals or core)\nimport { createFilter } from '@rollup/pluginutils';\nimport type { PluginContext, ResolvedId } from 'rollup';\nimport type { Plugin } from 'vite';\nimport { hbsToJS, ResolverLoader } from '@embroider/core';\nimport assertNever from 'assert-never';\nimport { parse as pathParse } from 'path';\nimport makeDebug from 'debug';\n\nconst debug = makeDebug('embroider:hbs-plugin');\nconst resolverLoader = new ResolverLoader(process.cwd());\n\nexport function hbs(): Plugin {\n return {\n name: 'rollup-hbs-plugin',\n enforce: 'pre',\n async resolveId(source: string, importer: string | undefined, options) {\n if (options.custom?.embroider?.isExtensionSearch) {\n return null;\n }\n let resolution = await this.resolve(source, importer, {\n skipSelf: true,\n });\n\n if (!resolution) {\n return maybeSynthesizeComponentJS(this, source, importer);\n } else {\n return maybeRewriteHBS(resolution);\n }\n },\n\n transform(source: string, id: string) {\n const meta = getMeta(this, id);\n if (!meta) {\n return;\n }\n\n switch (meta.type) {\n case 'template':\n let code = hbsToJS(source);\n return {\n code,\n };\n case 'template-only-component-js':\n return {\n code: templateOnlyComponent,\n };\n default:\n assertNever(meta);\n }\n },\n };\n}\n\nconst templateOnlyComponent =\n `import templateOnly from '@ember/component/template-only';\\n` + `export default templateOnly();\\n`;\n\ntype Meta =\n | {\n type: 'template';\n }\n | {\n type: 'template-only-component-js';\n };\n\nfunction getMeta(context: PluginContext, id: string): Meta | null {\n const meta = context.getModuleInfo(id)?.meta?.['rollup-hbs-plugin'];\n if (meta) {\n return meta as Meta;\n } else {\n return null;\n }\n}\n\nfunction correspondingTemplate(filename: string): string {\n let { ext } = pathParse(filename);\n return filename.slice(0, filename.length - ext.length) + '.hbs';\n}\n\nasync function maybeSynthesizeComponentJS(context: PluginContext, source: string, importer: string | undefined) {\n debug(`checking for template-only component: %s`, source);\n let templateResolution = await context.resolve(correspondingTemplate(source), importer, {\n skipSelf: true,\n custom: {\n embroider: {\n // we don't want to recurse into the whole embroider compatbility\n // resolver here. It has presumably already steered our request to the\n // correct place. All we want to do is slightly modify the request we\n // were given (changing the extension) and check if that would resolve\n // instead.\n //\n // Currently this guard is only actually exercised in rollup, not in\n // vite, due to https://github.com/vitejs/vite/issues/13852\n enableCustomResolver: false,\n isExtensionSearch: true,\n },\n },\n });\n if (!templateResolution) {\n return null;\n }\n\n const resolvedId = templateResolution.id.split('?')[0];\n templateResolution.id = resolvedId;\n\n const pkg = resolverLoader.resolver.packageCache.ownerOfFile(resolvedId);\n const isInComponents = pkg?.isV2App() && resolvedId.slice(pkg?.root.length).startsWith('/components');\n\n if (resolvedId.endsWith('/template.hbs') || !isInComponents) {\n return {\n ...templateResolution,\n meta: {\n 'rollup-hbs-plugin': {\n type: 'template',\n },\n },\n };\n }\n\n debug(`emitting template only component: %s`, templateResolution.id);\n\n // we're trying to resolve a JS module but only the corresponding HBS\n // file exists. Synthesize the template-only component JS.\n return {\n id: templateResolution.id.replace(/\\.hbs$/, '.js'),\n meta: {\n 'rollup-hbs-plugin': {\n type: 'template-only-component-js',\n },\n },\n };\n}\n\nconst hbsFilter = createFilter('**/*.hbs?([?]*)');\n\nfunction maybeRewriteHBS(resolution: ResolvedId) {\n if (!hbsFilter(resolution.id)) {\n return null;\n }\n debug('emitting hbs rewrite: %s', resolution.id);\n return {\n ...resolution,\n meta: {\n 'rollup-hbs-plugin': {\n type: 'template',\n },\n },\n };\n}\n"]}
|
package/src/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["request.ts"],"names":[],"mappings":";;;AACA,0CAA8D;AAGjD,QAAA,aAAa,GAAG,oBAAoB,CAAC;AAElD,MAAa,mBAAmB;IAC9B,MAAM,CAAC,IAAI,CACT,OAAsB,EACtB,MAAc,EACd,QAA4B,EAC5B,MAAuC;;QAEvC,IAAI,CAAC,CAAC,MAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,0CAAE,oBAAoB,mCAAI,IAAI,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["request.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ModuleRequest, Resolution } from '@embroider/core';\nimport { cleanUrl, getUrlQueryParams } from '@embroider/core';\nimport type { PluginContext, ResolveIdResult } from 'rollup';\n\nexport const virtualPrefix = 'embroider_virtual:';\n\nexport class RollupModuleRequest implements ModuleRequest {\n static from(\n context: PluginContext,\n source: string,\n importer: string | undefined,\n custom: Record<string, any> | undefined\n ): RollupModuleRequest | undefined {\n if (!(custom?.embroider?.enableCustomResolver ?? true)) {\n return;\n }\n if (custom?.depScan) {\n return;\n }\n\n if (source && importer && source[0] !== '\\0') {\n let nonVirtual: string;\n if (importer.startsWith(virtualPrefix)) {\n nonVirtual = importer.slice(virtualPrefix.length);\n } else {\n nonVirtual = importer;\n }\n\n // strip query params off the importer\n let fromFile = cleanUrl(nonVirtual);\n let importerQueryParams = getUrlQueryParams(nonVirtual);\n\n // strip query params off the source but keep track of them\n // we use regexp-based methods over a URL object because the\n // source can be a relative path.\n let cleanSource = cleanUrl(source, true);\n let queryParams = getUrlQueryParams(source, true);\n\n return new RollupModuleRequest(\n context,\n cleanSource,\n fromFile,\n custom?.embroider?.meta,\n false,\n undefined,\n queryParams,\n importerQueryParams\n );\n }\n }\n\n private constructor(\n private context: PluginContext,\n readonly specifier: string,\n readonly fromFile: string,\n readonly meta: Record<string, any> | undefined,\n readonly isNotFound: boolean,\n readonly resolvedTo: Resolution<ResolveIdResult> | undefined,\n private queryParams: string,\n private importerQueryParams: string\n ) {}\n\n get debugType() {\n return 'rollup';\n }\n\n get isVirtual(): boolean {\n return this.specifier.startsWith(virtualPrefix);\n }\n\n private get specifierWithQueryParams(): string {\n return `${this.specifier}${this.queryParams}`;\n }\n\n private get fromFileWithQueryParams(): string {\n return `${this.fromFile}${this.importerQueryParams}`;\n }\n\n alias(newSpecifier: string) {\n return new RollupModuleRequest(\n this.context,\n newSpecifier,\n this.fromFile,\n this.meta,\n false,\n undefined,\n this.queryParams,\n this.importerQueryParams\n ) as this;\n }\n rehome(newFromFile: string) {\n if (this.fromFile === newFromFile) {\n return this;\n } else {\n return new RollupModuleRequest(\n this.context,\n this.specifier,\n newFromFile,\n this.meta,\n false,\n undefined,\n this.queryParams,\n this.importerQueryParams\n ) as this;\n }\n }\n virtualize(filename: string) {\n return new RollupModuleRequest(\n this.context,\n virtualPrefix + filename,\n this.fromFile,\n this.meta,\n false,\n undefined,\n this.queryParams,\n this.importerQueryParams\n ) as this;\n }\n withMeta(meta: Record<string, any> | undefined): this {\n return new RollupModuleRequest(\n this.context,\n this.specifier,\n this.fromFile,\n meta,\n this.isNotFound,\n this.resolvedTo,\n this.queryParams,\n this.importerQueryParams\n ) as this;\n }\n notFound(): this {\n return new RollupModuleRequest(\n this.context,\n this.specifier,\n this.fromFile,\n this.meta,\n true,\n undefined,\n this.queryParams,\n this.importerQueryParams\n ) as this;\n }\n async defaultResolve(): Promise<Resolution<ResolveIdResult>> {\n if (this.isVirtual) {\n return {\n type: 'found',\n filename: this.specifier,\n result: { id: this.specifierWithQueryParams, resolvedBy: this.fromFileWithQueryParams },\n isVirtual: this.isVirtual,\n };\n }\n if (this.isNotFound) {\n // TODO: we can make sure this looks correct in rollup & vite output when a\n // user encounters it\n let err = new Error(`module not found ${this.specifierWithQueryParams}`);\n (err as any).code = 'MODULE_NOT_FOUND';\n return { type: 'not_found', err };\n }\n let result = await this.context.resolve(this.specifierWithQueryParams, this.fromFileWithQueryParams, {\n skipSelf: true,\n custom: {\n embroider: {\n enableCustomResolver: false,\n meta: this.meta,\n },\n },\n });\n if (result) {\n let { pathname } = new URL(result.id, 'http://example.com');\n return { type: 'found', filename: pathname, result, isVirtual: this.isVirtual };\n } else {\n return { type: 'not_found', err: undefined };\n }\n }\n\n resolveTo(resolution: Resolution<ResolveIdResult>): this {\n return new RollupModuleRequest(\n this.context,\n this.specifier,\n this.fromFile,\n this.meta,\n this.isNotFound,\n resolution,\n this.queryParams,\n this.importerQueryParams\n ) as this;\n }\n}\n"]}
|
package/src/resolver.js
CHANGED
|
@@ -61,6 +61,11 @@ function resolver() {
|
|
|
61
61
|
}
|
|
62
62
|
},
|
|
63
63
|
buildEnd() {
|
|
64
|
+
this.emitFile({
|
|
65
|
+
type: 'asset',
|
|
66
|
+
fileName: '@embroider/core/vendor.js',
|
|
67
|
+
source: (0, core_1.virtualContent)((0, path_1.resolve)(resolverLoader.resolver.options.engines[0].root, '-embroider-vendor.js'), resolverLoader.resolver).src,
|
|
68
|
+
});
|
|
64
69
|
this.emitFile({
|
|
65
70
|
type: 'asset',
|
|
66
71
|
fileName: '@embroider/core/test-support.js',
|
package/src/resolver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["resolver.ts"],"names":[],"mappings":";;;;;;AACA,0CAAiE;AACjE,uCAA+D;AAC/D,gEAAuC;AACvC,kDAA8B;AAC9B,+BAA+B;AAE/B,MAAM,KAAK,GAAG,IAAA,eAAS,EAAC,gBAAgB,CAAC,CAAC;AAE1C,SAAgB,QAAQ;IACtB,IAAI,cAAc,GAAG,IAAI,qBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,IAAI,MAAqB,CAAC;IAC1B,IAAI,WAAW,GAA0B,IAAI,GAAG,EAAE,CAAC;IAEnD,OAAO;QACL,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,KAAK;QAEd,eAAe,CAAC,CAAC;YACf,MAAM,GAAG,CAAC,CAAC;YACX,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE;gBAC5C,KAAK,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,WAAW,EAAE;
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["resolver.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Plugin, ViteDevServer } from 'vite';\nimport { virtualContent, ResolverLoader } from '@embroider/core';\nimport { RollupModuleRequest, virtualPrefix } from './request';\nimport assertNever from 'assert-never';\nimport makeDebug from 'debug';\nimport { resolve } from 'path';\n\nconst debug = makeDebug('embroider:vite');\n\nexport function resolver(): Plugin {\n let resolverLoader = new ResolverLoader(process.cwd());\n let server: ViteDevServer;\n let virtualDeps: Map<string, string[]> = new Map();\n\n return {\n name: 'embroider-resolver',\n enforce: 'pre',\n\n configureServer(s) {\n server = s;\n server.watcher.on('all', (_eventName, path) => {\n for (let [id, watches] of virtualDeps) {\n for (let watch of watches) {\n if (path.startsWith(watch)) {\n debug('Invalidate %s because %s', id, path);\n server.moduleGraph.onFileChange(id);\n let m = server.moduleGraph.getModuleById(id);\n if (m) {\n server.reloadModule(m);\n }\n }\n }\n }\n });\n },\n\n async resolveId(source, importer, options) {\n let request = RollupModuleRequest.from(this, source, importer, options.custom);\n if (!request) {\n // fallthrough to other rollup plugins\n return null;\n }\n let resolution = await resolverLoader.resolver.resolve(request);\n switch (resolution.type) {\n case 'found':\n case 'ignored':\n return resolution.result;\n case 'not_found':\n return null;\n default:\n throw assertNever(resolution);\n }\n },\n load(id) {\n if (id.startsWith(virtualPrefix)) {\n let { pathname } = new URL(id, 'http://example.com');\n let { src, watches } = virtualContent(pathname.slice(virtualPrefix.length + 1), resolverLoader.resolver);\n virtualDeps.set(id, watches);\n server?.watcher.add(watches);\n return src;\n }\n },\n buildEnd() {\n this.emitFile({\n type: 'asset',\n fileName: '@embroider/core/vendor.js',\n source: virtualContent(\n resolve(resolverLoader.resolver.options.engines[0].root, '-embroider-vendor.js'),\n resolverLoader.resolver\n ).src,\n });\n this.emitFile({\n type: 'asset',\n fileName: '@embroider/core/test-support.js',\n source: virtualContent(\n resolve(resolverLoader.resolver.options.engines[0].root, '-embroider-test-support.js'),\n resolverLoader.resolver\n ).src,\n });\n },\n };\n}\n"]}
|
package/src/scripts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["scripts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,iCAA8B;AAC9B,uCAAkE;AAClE,+BAA+C;AAO/C,MAAM,QAAQ,GAAG,CAAC,mBAAmB,EAAE,yBAAyB,CAAC,CAAC;AAElE,SAAgB,OAAO,CAAC,MAAmD;;IACzE,IAAI,SAA0B,CAAC;IAE/B,mEAAmE;IACnE,IAAI,KAAK,GAAG,CAAC,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,mCAAI,QAAQ,CAAC;SACtC,MAAM,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,CAAC,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,QAAQ,CAAC,IAAI,CAAC,CAAA,CAAA,EAAA,CAAC;SAChD,GAAG,CAAC,IAAI,CAAC,EAAE;QACV,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["scripts.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Plugin } from 'vite';\nimport type { EmittedFile } from 'rollup';\nimport { JSDOM } from 'jsdom';\nimport { readFileSync, readJSONSync, existsSync } from 'fs-extra';\nimport { dirname, posix, resolve } from 'path';\n\n// This is a type-only import, so it gets compiled away. At runtime, we load\n// terser lazily so it's only loaded for production builds that use it. Don't\n// add any non-type-only imports here.\nimport type { MinifyOptions } from 'terser';\n\nconst defaults = ['/assets/vendor.js', '/assets/test-support.js'];\n\nexport function scripts(params?: { include?: string[]; exclude?: string[] }): Plugin {\n let optimizer: ScriptOptimizer;\n\n // configured names are always interpreted as origin-absolute URLs.\n let names = (params?.include ?? defaults)\n .filter(name => !params?.exclude?.includes(name))\n .map(name => {\n if (name.startsWith('/')) {\n return name;\n } else {\n return '/' + name;\n }\n });\n\n return {\n name: 'embroider-scripts',\n enforce: 'pre',\n\n configResolved(resolvedConfig) {\n optimizer = new ScriptOptimizer(resolvedConfig.root);\n },\n\n async generateBundle() {\n // this hook only runs in `vite build`\n for (let name of names) {\n for (let file of await optimizer.optimizedScript(name)) {\n this.emitFile(file);\n }\n }\n },\n\n transformIndexHtml(htmlIn, context) {\n // we don't do anything in `vite dev`, we only need to work in `vite\n // build`\n if (!context.server) {\n return optimizer.transformHTML(htmlIn);\n }\n },\n };\n}\n\nclass ScriptOptimizer {\n private emitted = new Map<string, string>();\n private transformState:\n | {\n htmlIn: string;\n htmlOut: string;\n parsed: JSDOM;\n }\n | undefined;\n\n constructor(private rootDir: string) {}\n\n async optimizedScript(script: string): Promise<EmittedFile[]> {\n let fullName = resolve(this.rootDir, script.slice(1));\n if (!existsSync(fullName)) {\n // in prod builds, test-support.js isn't going to exist (for example)\n return [];\n }\n\n // loading these lazily here so they never load in non-production builds.\n // The node cache will ensures we only load them once.\n const [Terser, srcURL] = await Promise.all([import('terser'), import('source-map-url')]);\n\n let inCode = readFileSync(fullName, 'utf8');\n let terserOpts: MinifyOptions = {};\n let fileRelativeSourceMapURL;\n let appRelativeSourceMapURL;\n if (srcURL.default.existsIn(inCode)) {\n fileRelativeSourceMapURL = srcURL.default.getFrom(inCode)!;\n appRelativeSourceMapURL = posix.join(dirname(script.slice(1)), fileRelativeSourceMapURL);\n let content;\n try {\n content = readJSONSync(resolve(this.rootDir, appRelativeSourceMapURL));\n } catch (err) {\n // the script refers to a sourcemap that doesn't exist, so we just leave\n // the map out.\n }\n if (content) {\n terserOpts.sourceMap = { content, url: fileRelativeSourceMapURL };\n }\n }\n let { code: outCode, map: outMap } = await Terser.default.minify(inCode, terserOpts);\n let finalFilename = await this.getFingerprintedFilename(script, outCode!);\n let emit: EmittedFile[] = [];\n emit.push({\n type: 'asset',\n fileName: finalFilename.slice(1),\n source: outCode!,\n });\n this.emitted.set(script, finalFilename);\n if (appRelativeSourceMapURL && outMap) {\n emit.push({\n type: 'asset',\n fileName: appRelativeSourceMapURL,\n source: JSON.stringify(outMap, null, 2),\n });\n }\n return emit;\n }\n\n async getFingerprintedFilename(filename: string, content: string): Promise<string> {\n let crypto = await import('crypto');\n let md5 = crypto.createHash('md5');\n md5.update(content);\n let hash = md5.digest('hex');\n let fileParts = filename.split('.');\n fileParts.splice(fileParts.length - 1, 0, hash);\n return fileParts.join('.');\n }\n\n transformHTML(htmlIn: string) {\n if (this.transformState?.htmlIn !== htmlIn) {\n let parsed = new JSDOM(htmlIn);\n let scriptTags = [...parsed.window.document.querySelectorAll('script')] as HTMLScriptElement[];\n for (let scriptTag of scriptTags) {\n if (scriptTag.type !== 'module') {\n let fingerprinted = this.emitted.get(scriptTag.src);\n if (fingerprinted) {\n scriptTag.src = fingerprinted;\n }\n }\n }\n let htmlOut = parsed.serialize();\n this.transformState = { htmlIn, parsed, htmlOut };\n }\n return this.transformState.htmlOut;\n }\n}\n"]}
|
package/src/template-tag.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-tag.js","sourceRoot":"","sources":["template-tag.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAEnD,6CAA2C;AAE3C,MAAM,SAAS,GAAG,IAAA,0BAAY,EAAC,uBAAuB,CAAC,CAAC;AAExD,SAAgB,WAAW,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE;IAC9E,IAAI,YAAY,GAAG,IAAI,0BAAY,EAAE,CAAC;IAEtC,SAAS,UAAU,CAAC,EAAU;QAC5B,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,KAAK;QAEd,KAAK,CAAC,SAAS,CAAC,EAAU,EAAE,QAA4B,EAAE,OAAO;;YAC/D,IAAI,MAAA,MAAA,OAAO,CAAC,MAAM,0CAAE,SAAS,0CAAE,iBAAiB,EAAE;
|
|
1
|
+
{"version":3,"file":"template-tag.js","sourceRoot":"","sources":["template-tag.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAEnD,6CAA2C;AAE3C,MAAM,SAAS,GAAG,IAAA,0BAAY,EAAC,uBAAuB,CAAC,CAAC;AAExD,SAAgB,WAAW,CAAC,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,EAAE,KAAK,EAAE;IAC9E,IAAI,YAAY,GAAG,IAAI,0BAAY,EAAE,CAAC;IAEtC,SAAS,UAAU,CAAC,EAAU;QAC5B,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,OAAO;QACL,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,KAAK;QAEd,KAAK,CAAC,SAAS,CAAC,EAAU,EAAE,QAA4B,EAAE,OAAO;;YAC/D,IAAI,MAAA,MAAA,OAAO,CAAC,MAAM,0CAAE,SAAS,0CAAE,iBAAiB,EAAE,CAAC;gBACjD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE;gBAChD,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;YACH,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,KAAK,IAAI,SAAS,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrC,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE;oBACnD,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE;wBACN,SAAS,EAAE;4BACT,iBAAiB,EAAE,IAAI;4BACvB,oBAAoB,EAAE,KAAK;yBAC5B;qBACF;iBACF,CAAC,CAAC;gBACH,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO;wBACL,EAAE,EAAE,UAAU,CAAC,EAAE;qBAClB,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,SAAS,CAAC,IAAY,EAAE,EAAU;YAChC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE;gBAChC,QAAQ,EAAE,EAAE;gBACZ,iBAAiB,EAAE,iBAAiB;aACrC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC;AAjDD,kCAiDC","sourcesContent":["import { createFilter } from '@rollup/pluginutils';\nimport type { Plugin } from 'vite';\nimport { Preprocessor } from 'content-tag';\n\nconst gjsFilter = createFilter('**/*.{gjs,gts}?(\\\\?)*');\n\nexport function templateTag({ inline_source_map } = { inline_source_map: false }): Plugin {\n let preprocessor = new Preprocessor();\n\n function candidates(id: string) {\n return [id + '.gjs', id + '.gts'];\n }\n\n return {\n name: 'embroider-template-tag',\n enforce: 'pre',\n\n async resolveId(id: string, importer: string | undefined, options) {\n if (options.custom?.embroider?.isExtensionSearch) {\n return null;\n }\n let resolution = await this.resolve(id, importer, {\n skipSelf: true,\n });\n if (resolution) {\n return resolution;\n }\n for (let candidate of candidates(id)) {\n resolution = await this.resolve(candidate, importer, {\n skipSelf: true,\n custom: {\n embroider: {\n isExtensionSearch: true,\n enableCustomResolver: false,\n },\n },\n });\n if (resolution) {\n return {\n id: resolution.id,\n };\n }\n }\n },\n\n transform(code: string, id: string) {\n if (!gjsFilter(id)) {\n return null;\n }\n return preprocessor.process(code, {\n filename: id,\n inline_source_map: inline_source_map,\n });\n },\n };\n}\n"]}
|