@jsenv/core 37.0.3 → 37.0.5

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.
@@ -11423,14 +11423,15 @@ const createUrlGraph = ({
11423
11423
  const referencedUrl = useGeneratedUrl
11424
11424
  ? reference.generatedUrl
11425
11425
  : reference.url;
11426
- const existingUrlInfo = getUrlInfo(referencedUrl);
11427
- if (existingUrlInfo) return existingUrlInfo;
11428
- const ownerUrlInfo = reference.ownerUrlInfo;
11429
- const ownerContext = ownerUrlInfo.context;
11430
- const context = Object.create(ownerContext);
11431
- const referencedUrlInfo = createUrlInfo(referencedUrl, context);
11432
- addUrlInfo(referencedUrlInfo);
11433
- createUrlInfoCallbackRef.current(referencedUrlInfo);
11426
+ let referencedUrlInfo = getUrlInfo(referencedUrl);
11427
+ if (!referencedUrlInfo) {
11428
+ const ownerUrlInfo = reference.ownerUrlInfo;
11429
+ const ownerContext = ownerUrlInfo.context;
11430
+ const context = Object.create(ownerContext);
11431
+ referencedUrlInfo = createUrlInfo(referencedUrl, context);
11432
+ addUrlInfo(referencedUrlInfo);
11433
+ createUrlInfoCallbackRef.current(referencedUrlInfo);
11434
+ }
11434
11435
  if (referencedUrlInfo.searchParams.size > 0 && !kitchen.context.shape) {
11435
11436
  // A resource is represented by a url.
11436
11437
  // Variations of a resource are represented by url search params
@@ -18438,6 +18439,12 @@ const jsenvPluginAutoreloadServer = ({
18438
18439
  });
18439
18440
  clientFilesPruneCallbackList.push(
18440
18441
  (prunedUrlInfo, lastReferenceFromOther) => {
18442
+ if (lastReferenceFromOther.type === "sourcemap_comment") {
18443
+ // Can happen when starting dev server with sourcemaps: "file"
18444
+ // In that case, as sourcemaps are injected, the reference
18445
+ // are lost and sourcemap is considered as pruned
18446
+ return;
18447
+ }
18441
18448
  const parentHotUpdate = propagateUpdate(
18442
18449
  lastReferenceFromOther.ownerUrlInfo,
18443
18450
  );
@@ -21241,11 +21248,7 @@ const createFileService = ({
21241
21248
  return responseFromPlugin;
21242
21249
  }
21243
21250
  let reference;
21244
- const parentUrl = inferParentFromRequest(
21245
- request,
21246
- sourceDirectoryUrl,
21247
- sourceMainFilePath,
21248
- );
21251
+ const parentUrl = inferParentFromRequest(request, sourceDirectoryUrl);
21249
21252
  if (parentUrl) {
21250
21253
  reference = kitchen.graph.inferReference(request.resource, parentUrl);
21251
21254
  }
@@ -21414,20 +21417,12 @@ const createFileService = ({
21414
21417
  };
21415
21418
  };
21416
21419
 
21417
- const inferParentFromRequest = (
21418
- request,
21419
- sourceDirectoryUrl,
21420
- sourceMainFilePath,
21421
- ) => {
21420
+ const inferParentFromRequest = (request, sourceDirectoryUrl) => {
21422
21421
  const { referer } = request.headers;
21423
21422
  if (!referer) {
21424
21423
  return null;
21425
21424
  }
21426
- const refererUrlObject = new URL(referer);
21427
- const refererUrl =
21428
- refererUrlObject.pathname === `/`
21429
- ? new URL(sourceMainFilePath, request.origin).href
21430
- : referer;
21425
+ const refererUrl = referer;
21431
21426
  return WEB_URL_CONVERTER.asFileUrl(refererUrl, {
21432
21427
  origin: request.origin,
21433
21428
  rootDirectoryUrl: sourceDirectoryUrl,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsenv/core",
3
- "version": "37.0.3",
3
+ "version": "37.0.5",
4
4
  "description": "Tool to develop, test and build js projects",
5
5
  "license": "MIT",
6
6
  "author": {
@@ -245,11 +245,7 @@ export const createFileService = ({
245
245
  return responseFromPlugin;
246
246
  }
247
247
  let reference;
248
- const parentUrl = inferParentFromRequest(
249
- request,
250
- sourceDirectoryUrl,
251
- sourceMainFilePath,
252
- );
248
+ const parentUrl = inferParentFromRequest(request, sourceDirectoryUrl);
253
249
  if (parentUrl) {
254
250
  reference = kitchen.graph.inferReference(request.resource, parentUrl);
255
251
  }
@@ -418,20 +414,12 @@ export const createFileService = ({
418
414
  };
419
415
  };
420
416
 
421
- const inferParentFromRequest = (
422
- request,
423
- sourceDirectoryUrl,
424
- sourceMainFilePath,
425
- ) => {
417
+ const inferParentFromRequest = (request, sourceDirectoryUrl) => {
426
418
  const { referer } = request.headers;
427
419
  if (!referer) {
428
420
  return null;
429
421
  }
430
- const refererUrlObject = new URL(referer);
431
- const refererUrl =
432
- refererUrlObject.pathname === `/`
433
- ? new URL(sourceMainFilePath, request.origin).href
434
- : referer;
422
+ const refererUrl = referer;
435
423
  return WEB_URL_CONVERTER.asFileUrl(refererUrl, {
436
424
  origin: request.origin,
437
425
  rootDirectoryUrl: sourceDirectoryUrl,
@@ -65,14 +65,15 @@ export const createUrlGraph = ({
65
65
  const referencedUrl = useGeneratedUrl
66
66
  ? reference.generatedUrl
67
67
  : reference.url;
68
- const existingUrlInfo = getUrlInfo(referencedUrl);
69
- if (existingUrlInfo) return existingUrlInfo;
70
- const ownerUrlInfo = reference.ownerUrlInfo;
71
- const ownerContext = ownerUrlInfo.context;
72
- const context = Object.create(ownerContext);
73
- const referencedUrlInfo = createUrlInfo(referencedUrl, context);
74
- addUrlInfo(referencedUrlInfo);
75
- createUrlInfoCallbackRef.current(referencedUrlInfo);
68
+ let referencedUrlInfo = getUrlInfo(referencedUrl);
69
+ if (!referencedUrlInfo) {
70
+ const ownerUrlInfo = reference.ownerUrlInfo;
71
+ const ownerContext = ownerUrlInfo.context;
72
+ const context = Object.create(ownerContext);
73
+ referencedUrlInfo = createUrlInfo(referencedUrl, context);
74
+ addUrlInfo(referencedUrlInfo);
75
+ createUrlInfoCallbackRef.current(referencedUrlInfo);
76
+ }
76
77
  if (referencedUrlInfo.searchParams.size > 0 && !kitchen.context.shape) {
77
78
  // A resource is represented by a url.
78
79
  // Variations of a resource are represented by url search params
@@ -156,6 +156,12 @@ export const jsenvPluginAutoreloadServer = ({
156
156
  });
157
157
  clientFilesPruneCallbackList.push(
158
158
  (prunedUrlInfo, lastReferenceFromOther) => {
159
+ if (lastReferenceFromOther.type === "sourcemap_comment") {
160
+ // Can happen when starting dev server with sourcemaps: "file"
161
+ // In that case, as sourcemaps are injected, the reference
162
+ // are lost and sourcemap is considered as pruned
163
+ return;
164
+ }
159
165
  const parentHotUpdate = propagateUpdate(
160
166
  lastReferenceFromOther.ownerUrlInfo,
161
167
  );