@marko/vite 2.3.6 → 2.3.8

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/dist/index.js CHANGED
@@ -102,7 +102,7 @@ function markoPlugin(opts = {}) {
102
102
  let devServer;
103
103
  let registeredTag = false;
104
104
  let serverManifest;
105
- const devEntryFileSources = /* @__PURE__ */ new Map();
105
+ const entrySources = /* @__PURE__ */ new Map();
106
106
  const transformWatchFiles = /* @__PURE__ */ new Map();
107
107
  const transformOptionalFiles = /* @__PURE__ */ new Map();
108
108
  return [
@@ -169,7 +169,7 @@ function markoPlugin(opts = {}) {
169
169
  devServer = _server;
170
170
  devServer.watcher.on("all", (type, filename) => {
171
171
  if (type === "unlink") {
172
- devEntryFileSources.delete(filename);
172
+ entrySources.delete(filename);
173
173
  }
174
174
  for (const [id, files] of transformWatchFiles) {
175
175
  if ((0, import_anymatch.default)(files, filename)) {
@@ -197,6 +197,9 @@ function markoPlugin(opts = {}) {
197
197
  try {
198
198
  serverManifest = JSON.parse(await import_fs.default.promises.readFile(serverMetaFile, "utf-8"));
199
199
  inputOptions.input = toHTMLEntries(root, serverManifest.entries);
200
+ for (const entry in serverManifest.entrySources) {
201
+ entrySources.set(import_path.default.resolve(root, entry), serverManifest.entrySources[entry]);
202
+ }
200
203
  } catch (err) {
201
204
  this.error(`You must run the "ssr" build before the "browser" build.`);
202
205
  }
@@ -227,6 +230,18 @@ function markoPlugin(opts = {}) {
227
230
  }
228
231
  return resolved;
229
232
  }
233
+ if (importer) {
234
+ const importerQuery = getMarkoQuery(importer);
235
+ if (importerQuery) {
236
+ importer = importer.slice(0, -importerQuery.length);
237
+ if (importee[0] === ".") {
238
+ const resolved = import_path.default.resolve(importer, "..", importee);
239
+ if (resolved === importer)
240
+ return resolved;
241
+ }
242
+ return this.resolve(importee, importer, resolveOpts);
243
+ }
244
+ }
230
245
  return null;
231
246
  },
232
247
  async load(id) {
@@ -234,17 +249,18 @@ function markoPlugin(opts = {}) {
234
249
  case serverEntryQuery: {
235
250
  const fileName = id.slice(0, -serverEntryQuery.length);
236
251
  let entryData;
252
+ entrySources.set(fileName, "");
237
253
  if (isBuild) {
238
254
  const relativeFileName = import_path.default.posix.relative(root, fileName);
239
255
  const entryId = toEntryId(relativeFileName);
240
256
  serverManifest ?? (serverManifest = {
241
257
  entries: {},
258
+ entrySources: {},
242
259
  chunksNeedingAssets: []
243
260
  });
244
261
  serverManifest.entries[entryId] = relativeFileName;
245
262
  entryData = JSON.stringify(entryId);
246
263
  } else {
247
- devEntryFileSources.set(fileName, "");
248
264
  entryData = JSON.stringify(await (0, import_manifest_generator.generateDocManifest)(await devServer.transformIndexHtml("/", (0, import_manifest_generator.generateInputDoc)(fileNameToURL(fileName, root)))));
249
265
  }
250
266
  return (0, import_server_entry_template.default)({
@@ -254,17 +270,7 @@ function markoPlugin(opts = {}) {
254
270
  });
255
271
  }
256
272
  case browserEntryQuery: {
257
- const realId = id.slice(0, -browserEntryQuery.length);
258
- if (isBuild) {
259
- const {
260
- meta: { source }
261
- } = await this.load({
262
- id: realId,
263
- resolveDependencies: false
264
- });
265
- return source;
266
- }
267
- return devEntryFileSources.get(realId);
273
+ return entrySources.get(id.slice(0, -browserEntryQuery.length));
268
274
  }
269
275
  }
270
276
  return virtualFiles.get(id) || null;
@@ -286,8 +292,11 @@ function markoPlugin(opts = {}) {
286
292
  if (!isMarkoFile(id)) {
287
293
  return null;
288
294
  }
289
- if (ssr && !isBuild && devEntryFileSources.has(id)) {
290
- devEntryFileSources.set(id, source);
295
+ if (ssr && entrySources.has(id)) {
296
+ entrySources.set(id, source);
297
+ if (serverManifest) {
298
+ serverManifest.entrySources[import_path.default.relative(root, id)] = source;
299
+ }
291
300
  }
292
301
  const compiled = await compiler.compile(source, id, (typeof ssr === "object" ? ssr.ssr : ssr) ? ssrConfig : query === browserEntryQuery ? hydrateConfig : domConfig);
293
302
  const { map, meta } = compiled;
package/dist/index.mjs CHANGED
@@ -85,7 +85,7 @@ function markoPlugin(opts = {}) {
85
85
  let devServer;
86
86
  let registeredTag = false;
87
87
  let serverManifest;
88
- const devEntryFileSources = /* @__PURE__ */ new Map();
88
+ const entrySources = /* @__PURE__ */ new Map();
89
89
  const transformWatchFiles = /* @__PURE__ */ new Map();
90
90
  const transformOptionalFiles = /* @__PURE__ */ new Map();
91
91
  return [
@@ -152,7 +152,7 @@ function markoPlugin(opts = {}) {
152
152
  devServer = _server;
153
153
  devServer.watcher.on("all", (type, filename) => {
154
154
  if (type === "unlink") {
155
- devEntryFileSources.delete(filename);
155
+ entrySources.delete(filename);
156
156
  }
157
157
  for (const [id, files] of transformWatchFiles) {
158
158
  if (anyMatch(files, filename)) {
@@ -180,6 +180,9 @@ function markoPlugin(opts = {}) {
180
180
  try {
181
181
  serverManifest = JSON.parse(await fs.promises.readFile(serverMetaFile, "utf-8"));
182
182
  inputOptions.input = toHTMLEntries(root, serverManifest.entries);
183
+ for (const entry in serverManifest.entrySources) {
184
+ entrySources.set(path.resolve(root, entry), serverManifest.entrySources[entry]);
185
+ }
183
186
  } catch (err) {
184
187
  this.error(`You must run the "ssr" build before the "browser" build.`);
185
188
  }
@@ -210,6 +213,18 @@ function markoPlugin(opts = {}) {
210
213
  }
211
214
  return resolved;
212
215
  }
216
+ if (importer) {
217
+ const importerQuery = getMarkoQuery(importer);
218
+ if (importerQuery) {
219
+ importer = importer.slice(0, -importerQuery.length);
220
+ if (importee[0] === ".") {
221
+ const resolved = path.resolve(importer, "..", importee);
222
+ if (resolved === importer)
223
+ return resolved;
224
+ }
225
+ return this.resolve(importee, importer, resolveOpts);
226
+ }
227
+ }
213
228
  return null;
214
229
  },
215
230
  async load(id) {
@@ -217,17 +232,18 @@ function markoPlugin(opts = {}) {
217
232
  case serverEntryQuery: {
218
233
  const fileName = id.slice(0, -serverEntryQuery.length);
219
234
  let entryData;
235
+ entrySources.set(fileName, "");
220
236
  if (isBuild) {
221
237
  const relativeFileName = path.posix.relative(root, fileName);
222
238
  const entryId = toEntryId(relativeFileName);
223
239
  serverManifest ?? (serverManifest = {
224
240
  entries: {},
241
+ entrySources: {},
225
242
  chunksNeedingAssets: []
226
243
  });
227
244
  serverManifest.entries[entryId] = relativeFileName;
228
245
  entryData = JSON.stringify(entryId);
229
246
  } else {
230
- devEntryFileSources.set(fileName, "");
231
247
  entryData = JSON.stringify(await generateDocManifest(await devServer.transformIndexHtml("/", generateInputDoc(fileNameToURL(fileName, root)))));
232
248
  }
233
249
  return server_entry_template_default({
@@ -237,17 +253,7 @@ function markoPlugin(opts = {}) {
237
253
  });
238
254
  }
239
255
  case browserEntryQuery: {
240
- const realId = id.slice(0, -browserEntryQuery.length);
241
- if (isBuild) {
242
- const {
243
- meta: { source }
244
- } = await this.load({
245
- id: realId,
246
- resolveDependencies: false
247
- });
248
- return source;
249
- }
250
- return devEntryFileSources.get(realId);
256
+ return entrySources.get(id.slice(0, -browserEntryQuery.length));
251
257
  }
252
258
  }
253
259
  return virtualFiles.get(id) || null;
@@ -269,8 +275,11 @@ function markoPlugin(opts = {}) {
269
275
  if (!isMarkoFile(id)) {
270
276
  return null;
271
277
  }
272
- if (ssr && !isBuild && devEntryFileSources.has(id)) {
273
- devEntryFileSources.set(id, source);
278
+ if (ssr && entrySources.has(id)) {
279
+ entrySources.set(id, source);
280
+ if (serverManifest) {
281
+ serverManifest.entrySources[path.relative(root, id)] = source;
282
+ }
274
283
  }
275
284
  const compiled = await compiler.compile(source, id, (typeof ssr === "object" ? ssr.ssr : ssr) ? ssrConfig : query === browserEntryQuery ? hydrateConfig : domConfig);
276
285
  const { map, meta } = compiled;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@marko/vite",
3
3
  "description": "A Marko plugin for Vite",
4
- "version": "2.3.6",
4
+ "version": "2.3.8",
5
5
  "author": "Dylan Piercey <dpiercey@ebay.com>",
6
6
  "bugs": "https://github.com/marko-js/vite/issues",
7
7
  "dependencies": {