veryfront 0.1.574 → 0.1.575
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/esm/deno.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-rewriter.d.ts","sourceRoot":"","sources":["../../../src/src/discovery/import-rewriter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,eAAO,MAAM,kCAAkC,kLASrC,CAAC;AAEX,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAClD;AAiED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CA6BR;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,EACvC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"import-rewriter.d.ts","sourceRoot":"","sources":["../../../src/src/discovery/import-rewriter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG5D,eAAO,MAAM,kCAAkC,kLASrC,CAAC;AAEX,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAClD;AAiED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CA6BR;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,UAAU,CAAC,OAAO,gBAAgB,CAAC,EACvC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CAyKjB"}
|
|
@@ -143,6 +143,21 @@ export async function rewriteDiscoveryImports(code, projectDir, fs, fileDir) {
|
|
|
143
143
|
for (const pkg of externalPackages) {
|
|
144
144
|
transformed = await rewritePackageImports(transformed, pkg);
|
|
145
145
|
}
|
|
146
|
+
const resolveRuntimeSpecifierToFileUrl = (specifier) => {
|
|
147
|
+
try {
|
|
148
|
+
const resolved = globalThis[Symbol.for("import-meta-ponyfill-esmodule")](import.meta).resolve(specifier);
|
|
149
|
+
return resolved && resolved !== specifier ? resolved : null;
|
|
150
|
+
}
|
|
151
|
+
catch (_) {
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
};
|
|
155
|
+
const rewriteResolvedSpecifierImports = (input, specifier, resolvedUrl) => {
|
|
156
|
+
const escapedSpecifier = escapeRegExp(specifier);
|
|
157
|
+
return input
|
|
158
|
+
.replace(new RegExp(`from\\s*["']${escapedSpecifier}["']`, "g"), `from "${resolvedUrl}"`)
|
|
159
|
+
.replace(new RegExp(`import\\s*\\(\\s*["']${escapedSpecifier}["']\\s*\\)`, "g"), `import("${resolvedUrl}")`);
|
|
160
|
+
};
|
|
146
161
|
// Handle veryfront package imports
|
|
147
162
|
let vfPackagePath = pathHelper.join(projectDir, "node_modules", "veryfront");
|
|
148
163
|
let exportsMap = {};
|
|
@@ -178,6 +193,23 @@ export async function rewriteDiscoveryImports(code, projectDir, fs, fileDir) {
|
|
|
178
193
|
return entry;
|
|
179
194
|
return entry.import ?? null;
|
|
180
195
|
};
|
|
196
|
+
const veryfrontSpecifiers = new Set();
|
|
197
|
+
for (const match of transformed.matchAll(/from\s+["'](veryfront(?:\/[^"']+)?)["']/g)) {
|
|
198
|
+
const specifier = match[1];
|
|
199
|
+
if (specifier)
|
|
200
|
+
veryfrontSpecifiers.add(specifier);
|
|
201
|
+
}
|
|
202
|
+
for (const match of transformed.matchAll(/import\s*\(\s*["'](veryfront(?:\/[^"']+)?)["']\s*\)/g)) {
|
|
203
|
+
const specifier = match[1];
|
|
204
|
+
if (specifier)
|
|
205
|
+
veryfrontSpecifiers.add(specifier);
|
|
206
|
+
}
|
|
207
|
+
for (const specifier of veryfrontSpecifiers) {
|
|
208
|
+
const resolvedUrl = resolveRuntimeSpecifierToFileUrl(specifier);
|
|
209
|
+
if (resolvedUrl) {
|
|
210
|
+
transformed = rewriteResolvedSpecifierImports(transformed, specifier, resolvedUrl);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
181
213
|
// Rewrite veryfront subpath imports
|
|
182
214
|
transformed = transformed.replace(/from\s+["'](veryfront\/[^"']+)["']/g, (match, fullSpecifier) => {
|
|
183
215
|
const subpath = "./" + fullSpecifier.replace("veryfront/", "");
|