@jsenv/core 35.0.3 → 35.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.
- package/dist/html/explorer.html +107 -107
- package/dist/js/new_stylesheet.js +3 -0
- package/dist/js/s.js.map +3 -3
- package/package.json +2 -2
- package/src/build/build.js +589 -587
- package/src/build/build_urls_generator.js +44 -44
- package/src/build/graph_utils.js +14 -14
- package/src/build/jsenv_plugin_line_break_normalization.js +6 -6
- package/src/build/line_break_unix.js +11 -11
- package/src/build/start_build_server.js +37 -37
- package/src/build/version_generator.js +7 -7
- package/src/build/version_mappings_injection.js +23 -23
- package/src/dev/file_service.js +132 -132
- package/src/dev/start_dev_server.js +56 -56
- package/src/dev/user_agent.js +8 -8
- package/src/helpers/basic_fetch.js +24 -24
- package/src/helpers/command/command.js +28 -28
- package/src/helpers/lookup_package_directory.js +19 -16
- package/src/helpers/ping_server.js +17 -17
- package/src/helpers/require_from_jsenv.js +2 -2
- package/src/helpers/watch_source_files.js +9 -9
- package/src/helpers/web_url_converter.js +10 -10
- package/src/helpers/worker_reload.js +27 -27
- package/src/kitchen/compat/features_compatibility.js +1 -1
- package/src/kitchen/compat/runtime_compat.js +26 -24
- package/src/kitchen/errors.js +75 -75
- package/src/kitchen/fetched_content_compliance.js +8 -8
- package/src/kitchen/kitchen.js +251 -250
- package/src/kitchen/url_graph/sort_by_dependencies.js +17 -17
- package/src/kitchen/url_graph/url_graph_loader.js +30 -30
- package/src/kitchen/url_graph/url_graph_report.js +57 -57
- package/src/kitchen/url_graph/url_info_transformations.js +77 -77
- package/src/kitchen/url_graph.js +121 -121
- package/src/kitchen/url_specifier_encoding.js +21 -21
- package/src/kitchen/web_workers.js +5 -5
- package/src/main.js +3 -3
- package/src/plugins/autoreload/client/autoreload.js +96 -96
- package/src/plugins/autoreload/client/reload.js +56 -56
- package/src/plugins/autoreload/client/url_helpers.js +13 -13
- package/src/plugins/autoreload/jsenv_plugin_autoreload.js +5 -5
- package/src/plugins/autoreload/jsenv_plugin_autoreload_client.js +9 -9
- package/src/plugins/autoreload/jsenv_plugin_autoreload_server.js +61 -60
- package/src/plugins/autoreload/jsenv_plugin_hmr.js +15 -15
- package/src/plugins/cache_control/jsenv_plugin_cache_control.js +5 -5
- package/src/plugins/commonjs_globals/jsenv_plugin_commonjs_globals.js +57 -57
- package/src/plugins/explorer/client/explorer.html +107 -107
- package/src/plugins/explorer/jsenv_plugin_explorer.js +20 -20
- package/src/plugins/file_urls/jsenv_plugin_file_urls.js +60 -60
- package/src/plugins/global_scenarios/jsenv_plugin_global_scenarios.js +5 -5
- package/src/plugins/http_urls/jsenv_plugin_http_urls.js +3 -3
- package/src/plugins/import_meta_hot/babel_plugin_metadata_import_meta_hot.js +35 -35
- package/src/plugins/import_meta_hot/client/import_meta_hot.js +26 -26
- package/src/plugins/import_meta_hot/html_hot_dependencies.js +43 -43
- package/src/plugins/import_meta_hot/jsenv_plugin_import_meta_hot.js +44 -40
- package/src/plugins/import_meta_scenarios/jsenv_plugin_import_meta_scenarios.js +35 -35
- package/src/plugins/import_meta_url/client/import_meta_url_browser.js +21 -21
- package/src/plugins/import_meta_url/client/import_meta_url_commonjs.mjs +3 -3
- package/src/plugins/importmap/jsenv_plugin_importmap.js +54 -54
- package/src/plugins/inline_content_analysis/client/inline_content.js +3 -3
- package/src/plugins/inline_content_analysis/jsenv_plugin_data_urls.js +26 -26
- package/src/plugins/inline_content_analysis/jsenv_plugin_html_inline_content_analysis.js +47 -47
- package/src/plugins/inline_content_analysis/jsenv_plugin_inline_content_analysis.js +9 -9
- package/src/plugins/inline_content_analysis/jsenv_plugin_js_inline_content_analysis.js +101 -101
- package/src/plugins/inlining/jsenv_plugin_inlining.js +9 -9
- package/src/plugins/inlining/jsenv_plugin_inlining_as_data_url.js +11 -11
- package/src/plugins/inlining/jsenv_plugin_inlining_into_html.js +48 -46
- package/src/plugins/node_runtime/jsenv_plugin_node_runtime.js +4 -4
- package/src/plugins/plugin_controller.js +124 -124
- package/src/plugins/plugins.js +27 -27
- package/src/plugins/ribbon/client/ribbon.js +6 -6
- package/src/plugins/ribbon/jsenv_plugin_ribbon.js +15 -15
- package/src/plugins/server_events/client/connection_manager.js +52 -52
- package/src/plugins/server_events/client/event_source_connection.js +36 -36
- package/src/plugins/server_events/client/events_manager.js +37 -37
- package/src/plugins/server_events/client/server_events_client.js +7 -7
- package/src/plugins/server_events/client/web_socket_connection.js +39 -39
- package/src/plugins/server_events/jsenv_plugin_server_events_client_injection.js +9 -9
- package/src/plugins/server_events/server_events_dispatcher.js +43 -43
- package/src/plugins/supervisor/client/supervisor.js +455 -450
- package/src/plugins/supervisor/html_supervisor_injection.js +64 -62
- package/src/plugins/supervisor/js_supervisor_injection.js +67 -67
- package/src/plugins/supervisor/jsenv_plugin_supervisor.js +54 -51
- package/src/plugins/transpilation/as_js_module/convert_js_classic_to_js_module.js +13 -13
- package/src/plugins/transpilation/as_js_module/jsenv_plugin_as_js_module.js +19 -19
- package/src/plugins/transpilation/babel/global_this/babel_plugin_global_this_as_jsenv_import.js +10 -10
- package/src/plugins/transpilation/babel/global_this/client/global_this.js +8 -8
- package/src/plugins/transpilation/babel/helpers/babel_plugin_babel_helpers_as_jsenv_imports.js +16 -16
- package/src/plugins/transpilation/babel/helpers/babel_plugin_structure.js +36 -36
- package/src/plugins/transpilation/babel/helpers/babel_plugins_compatibility.js +3 -3
- package/src/plugins/transpilation/babel/jsenv_plugin_babel.js +24 -24
- package/src/plugins/transpilation/babel/new_stylesheet/babel_plugin_new_stylesheet_as_jsenv_import.js +44 -44
- package/src/plugins/transpilation/babel/new_stylesheet/client/new_stylesheet.js +166 -166
- package/src/plugins/transpilation/babel/regenerator_runtime/babel_plugin_regenerator_runtime_as_jsenv_import.js +10 -10
- package/src/plugins/transpilation/babel/require_babel_plugin.js +6 -6
- package/src/plugins/transpilation/css/jsenv_plugin_css_transpilation.js +20 -20
- package/src/plugins/transpilation/import_assertions/jsenv_plugin_import_assertions.js +62 -62
- package/src/plugins/transpilation/js_module_fallback/client/s.js +214 -209
- package/src/plugins/transpilation/js_module_fallback/convert_js_module_to_js_classic.js +45 -45
- package/src/plugins/transpilation/js_module_fallback/helpers/babel_plugin_transform_import_meta_resolve.js +6 -6
- package/src/plugins/transpilation/js_module_fallback/helpers/babel_plugin_transform_import_meta_url.js +17 -17
- package/src/plugins/transpilation/js_module_fallback/helpers-string.js +1 -1
- package/src/plugins/transpilation/js_module_fallback/jsenv_plugin_js_module_conversion.js +32 -32
- package/src/plugins/transpilation/js_module_fallback/jsenv_plugin_js_module_fallback.js +17 -17
- package/src/plugins/transpilation/js_module_fallback/jsenv_plugin_js_module_fallback_inside_html.js +63 -63
- package/src/plugins/transpilation/js_module_fallback/jsenv_plugin_js_module_fallback_on_workers.js +15 -15
- package/src/plugins/transpilation/jsenv_plugin_import_meta_resolve.js +20 -20
- package/src/plugins/transpilation/jsenv_plugin_top_level_await.js +23 -23
- package/src/plugins/transpilation/jsenv_plugin_transpilation.js +11 -11
- package/src/plugins/url_analysis/css/css_urls.js +12 -12
- package/src/plugins/url_analysis/html/html_urls.js +85 -85
- package/src/plugins/url_analysis/js/js_urls.js +16 -16
- package/src/plugins/url_analysis/jsenv_plugin_reference_expected_types.js +16 -16
- package/src/plugins/url_analysis/jsenv_plugin_url_analysis.js +40 -40
- package/src/plugins/url_analysis/webmanifest/webmanifest_urls.js +12 -12
- package/src/plugins/url_resolution/jsenv_plugin_url_resolution.js +35 -35
- package/src/plugins/url_resolution/node_esm_resolver.js +26 -26
- package/src/plugins/url_version/jsenv_plugin_url_version.js +11 -11
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
* - "package_json"
|
|
30
30
|
*/
|
|
31
31
|
|
|
32
|
-
import { createNodeEsmResolver } from "./node_esm_resolver.js"
|
|
32
|
+
import { createNodeEsmResolver } from "./node_esm_resolver.js";
|
|
33
33
|
|
|
34
34
|
export const jsenvPluginUrlResolution = ({
|
|
35
35
|
runtimeCompat,
|
|
@@ -42,62 +42,62 @@ export const jsenvPluginUrlResolution = ({
|
|
|
42
42
|
// baseUrl happens second argument to new URL() is different from
|
|
43
43
|
// import.meta.url or document.currentScript.src
|
|
44
44
|
reference.baseUrl || reference.parentUrl,
|
|
45
|
-
).href
|
|
46
|
-
}
|
|
45
|
+
).href;
|
|
46
|
+
};
|
|
47
47
|
|
|
48
|
-
const resolvers = {}
|
|
48
|
+
const resolvers = {};
|
|
49
49
|
Object.keys(urlResolution).forEach((urlType) => {
|
|
50
|
-
const resolver = urlResolution[urlType]
|
|
50
|
+
const resolver = urlResolution[urlType];
|
|
51
51
|
if (typeof resolver !== "object") {
|
|
52
52
|
throw new Error(
|
|
53
53
|
`urlResolution values must be objects, got ${resolver} on "${urlType}"`,
|
|
54
|
-
)
|
|
54
|
+
);
|
|
55
55
|
}
|
|
56
|
-
let { web, node_esm, ...rest } = resolver
|
|
57
|
-
const unexpectedKeys = Object.keys(rest)
|
|
56
|
+
let { web, node_esm, ...rest } = resolver;
|
|
57
|
+
const unexpectedKeys = Object.keys(rest);
|
|
58
58
|
if (unexpectedKeys.length) {
|
|
59
59
|
throw new TypeError(
|
|
60
60
|
`${unexpectedKeys.join(
|
|
61
61
|
",",
|
|
62
62
|
)}: there is no such configuration on "${urlType}"`,
|
|
63
|
-
)
|
|
63
|
+
);
|
|
64
64
|
}
|
|
65
65
|
if (node_esm === undefined) {
|
|
66
|
-
node_esm = urlType === "js_import"
|
|
66
|
+
node_esm = urlType === "js_import";
|
|
67
67
|
}
|
|
68
68
|
if (web === undefined) {
|
|
69
|
-
web = true
|
|
69
|
+
web = true;
|
|
70
70
|
}
|
|
71
71
|
if (node_esm) {
|
|
72
|
-
if (node_esm === true) node_esm = {}
|
|
73
|
-
const { packageConditions, preservesSymlink } = node_esm
|
|
72
|
+
if (node_esm === true) node_esm = {};
|
|
73
|
+
const { packageConditions, preservesSymlink } = node_esm;
|
|
74
74
|
resolvers[urlType] = createNodeEsmResolver({
|
|
75
75
|
runtimeCompat,
|
|
76
76
|
packageConditions,
|
|
77
77
|
preservesSymlink,
|
|
78
|
-
})
|
|
78
|
+
});
|
|
79
79
|
} else if (web) {
|
|
80
|
-
resolvers[urlType] = resolveUrlUsingWebResolution
|
|
80
|
+
resolvers[urlType] = resolveUrlUsingWebResolution;
|
|
81
81
|
}
|
|
82
|
-
})
|
|
82
|
+
});
|
|
83
83
|
|
|
84
84
|
const nodeEsmResolverDefault = createNodeEsmResolver({
|
|
85
85
|
runtimeCompat,
|
|
86
86
|
preservesSymlink: true,
|
|
87
|
-
})
|
|
87
|
+
});
|
|
88
88
|
if (!resolvers.js_module) {
|
|
89
|
-
resolvers.js_module = nodeEsmResolverDefault
|
|
89
|
+
resolvers.js_module = nodeEsmResolverDefault;
|
|
90
90
|
}
|
|
91
91
|
if (!resolvers.js_classic) {
|
|
92
92
|
resolvers.js_classic = (reference, context) => {
|
|
93
93
|
if (reference.subtype === "self_import_scripts_arg") {
|
|
94
|
-
return nodeEsmResolverDefault(reference, context)
|
|
94
|
+
return nodeEsmResolverDefault(reference, context);
|
|
95
95
|
}
|
|
96
|
-
return resolveUrlUsingWebResolution(reference, context)
|
|
97
|
-
}
|
|
96
|
+
return resolveUrlUsingWebResolution(reference, context);
|
|
97
|
+
};
|
|
98
98
|
}
|
|
99
99
|
if (!resolvers["*"]) {
|
|
100
|
-
resolvers["*"] = resolveUrlUsingWebResolution
|
|
100
|
+
resolvers["*"] = resolveUrlUsingWebResolution;
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
return {
|
|
@@ -105,24 +105,24 @@ export const jsenvPluginUrlResolution = ({
|
|
|
105
105
|
appliesDuring: "*",
|
|
106
106
|
resolveUrl: (reference, context) => {
|
|
107
107
|
if (reference.specifier === "/") {
|
|
108
|
-
return String(defaultFileUrl)
|
|
108
|
+
return String(defaultFileUrl);
|
|
109
109
|
}
|
|
110
110
|
if (reference.specifier[0] === "/") {
|
|
111
111
|
return new URL(reference.specifier.slice(1), context.rootDirectoryUrl)
|
|
112
|
-
.href
|
|
112
|
+
.href;
|
|
113
113
|
}
|
|
114
114
|
if (reference.type === "sourcemap_comment") {
|
|
115
|
-
return resolveUrlUsingWebResolution(reference, context)
|
|
115
|
+
return resolveUrlUsingWebResolution(reference, context);
|
|
116
116
|
}
|
|
117
|
-
let urlType
|
|
117
|
+
let urlType;
|
|
118
118
|
if (reference.injected) {
|
|
119
|
-
urlType = reference.expectedType
|
|
119
|
+
urlType = reference.expectedType;
|
|
120
120
|
} else {
|
|
121
|
-
const parentUrlInfo = context.urlGraph.getUrlInfo(reference.parentUrl)
|
|
122
|
-
urlType = parentUrlInfo ? parentUrlInfo.type : "entry_point"
|
|
121
|
+
const parentUrlInfo = context.urlGraph.getUrlInfo(reference.parentUrl);
|
|
122
|
+
urlType = parentUrlInfo ? parentUrlInfo.type : "entry_point";
|
|
123
123
|
}
|
|
124
|
-
const resolver = resolvers[urlType] || resolvers["*"]
|
|
125
|
-
return resolver(reference, context)
|
|
124
|
+
const resolver = resolvers[urlType] || resolvers["*"];
|
|
125
|
+
return resolver(reference, context);
|
|
126
126
|
},
|
|
127
127
|
// when specifier is prefixed by "file:///@ignore/"
|
|
128
128
|
// we return an empty js module (used by node esm)
|
|
@@ -132,9 +132,9 @@ export const jsenvPluginUrlResolution = ({
|
|
|
132
132
|
content: "export default {}",
|
|
133
133
|
contentType: "text/javascript",
|
|
134
134
|
type: "js_module",
|
|
135
|
-
}
|
|
135
|
+
};
|
|
136
136
|
}
|
|
137
|
-
return null
|
|
137
|
+
return null;
|
|
138
138
|
},
|
|
139
|
-
}
|
|
140
|
-
}
|
|
139
|
+
};
|
|
140
|
+
};
|
|
@@ -7,47 +7,47 @@
|
|
|
7
7
|
* it should likely be an other plugin happening after the others
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { readFileSync } from "node:fs"
|
|
11
|
-
import { bufferToEtag } from "@jsenv/filesystem"
|
|
10
|
+
import { readFileSync } from "node:fs";
|
|
11
|
+
import { bufferToEtag } from "@jsenv/filesystem";
|
|
12
12
|
import {
|
|
13
13
|
applyNodeEsmResolution,
|
|
14
14
|
readCustomConditionsFromProcessArgs,
|
|
15
15
|
defaultLookupPackageScope,
|
|
16
16
|
defaultReadPackageJson,
|
|
17
|
-
} from "@jsenv/node-esm-resolution"
|
|
17
|
+
} from "@jsenv/node-esm-resolution";
|
|
18
18
|
|
|
19
19
|
export const createNodeEsmResolver = ({
|
|
20
20
|
runtimeCompat,
|
|
21
21
|
packageConditions,
|
|
22
22
|
preservesSymlink,
|
|
23
23
|
}) => {
|
|
24
|
-
const nodeRuntimeEnabled = Object.keys(runtimeCompat).includes("node")
|
|
24
|
+
const nodeRuntimeEnabled = Object.keys(runtimeCompat).includes("node");
|
|
25
25
|
// https://nodejs.org/api/esm.html#resolver-algorithm-specification
|
|
26
26
|
packageConditions = packageConditions || [
|
|
27
27
|
...readCustomConditionsFromProcessArgs(),
|
|
28
28
|
nodeRuntimeEnabled ? "node" : "browser",
|
|
29
29
|
"import",
|
|
30
|
-
]
|
|
30
|
+
];
|
|
31
31
|
|
|
32
32
|
return (reference, context) => {
|
|
33
33
|
if (reference.type === "package_json") {
|
|
34
|
-
return reference.specifier
|
|
34
|
+
return reference.specifier;
|
|
35
35
|
}
|
|
36
|
-
const parentUrl = reference.baseUrl || reference.parentUrl
|
|
36
|
+
const parentUrl = reference.baseUrl || reference.parentUrl;
|
|
37
37
|
if (!parentUrl.startsWith("file:")) {
|
|
38
|
-
return new URL(reference.specifier, parentUrl).href
|
|
38
|
+
return new URL(reference.specifier, parentUrl).href;
|
|
39
39
|
}
|
|
40
40
|
const { url, type, packageDirectoryUrl } = applyNodeEsmResolution({
|
|
41
41
|
conditions: packageConditions,
|
|
42
42
|
parentUrl,
|
|
43
43
|
specifier: reference.specifier,
|
|
44
44
|
preservesSymlink,
|
|
45
|
-
})
|
|
45
|
+
});
|
|
46
46
|
if (context.dev) {
|
|
47
47
|
const dependsOnPackageJson =
|
|
48
48
|
type !== "relative_specifier" &&
|
|
49
49
|
type !== "absolute_specifier" &&
|
|
50
|
-
type !== "node_builtin_specifier"
|
|
50
|
+
type !== "node_builtin_specifier";
|
|
51
51
|
if (dependsOnPackageJson) {
|
|
52
52
|
// this reference depends on package.json and node_modules
|
|
53
53
|
// to be resolved. Each file using this specifier
|
|
@@ -59,7 +59,7 @@ export const createNodeEsmResolver = ({
|
|
|
59
59
|
field: type.startsWith("field:")
|
|
60
60
|
? `#${type.slice("field:".length)}`
|
|
61
61
|
: "",
|
|
62
|
-
})
|
|
62
|
+
});
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
if (context.dev) {
|
|
@@ -67,13 +67,13 @@ export const createNodeEsmResolver = ({
|
|
|
67
67
|
// could be considered as a node module if there is a ancestor package.json
|
|
68
68
|
// but we want to version only node modules
|
|
69
69
|
if (url.includes("/node_modules/")) {
|
|
70
|
-
const packageDirectoryUrl = defaultLookupPackageScope(url)
|
|
70
|
+
const packageDirectoryUrl = defaultLookupPackageScope(url);
|
|
71
71
|
if (
|
|
72
72
|
packageDirectoryUrl &&
|
|
73
73
|
packageDirectoryUrl !== context.rootDirectoryUrl
|
|
74
74
|
) {
|
|
75
75
|
const packageVersion =
|
|
76
|
-
defaultReadPackageJson(packageDirectoryUrl).version
|
|
76
|
+
defaultReadPackageJson(packageDirectoryUrl).version;
|
|
77
77
|
// package version can be null, see https://github.com/babel/babel/blob/2ce56e832c2dd7a7ed92c89028ba929f874c2f5c/packages/babel-runtime/helpers/esm/package.json#L2
|
|
78
78
|
if (packageVersion) {
|
|
79
79
|
addRelationshipWithPackageJson({
|
|
@@ -82,15 +82,15 @@ export const createNodeEsmResolver = ({
|
|
|
82
82
|
packageJsonUrl: `${packageDirectoryUrl}package.json`,
|
|
83
83
|
field: "version",
|
|
84
84
|
hasVersioningEffect: true,
|
|
85
|
-
})
|
|
85
|
+
});
|
|
86
86
|
}
|
|
87
|
-
reference.version = packageVersion
|
|
87
|
+
reference.version = packageVersion;
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
return url
|
|
92
|
-
}
|
|
93
|
-
}
|
|
91
|
+
return url;
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
94
|
|
|
95
95
|
const addRelationshipWithPackageJson = ({
|
|
96
96
|
context,
|
|
@@ -100,9 +100,9 @@ const addRelationshipWithPackageJson = ({
|
|
|
100
100
|
}) => {
|
|
101
101
|
const referenceFound = context.referenceUtils.find(
|
|
102
102
|
(ref) => ref.type === "package_json" && ref.subtype === field,
|
|
103
|
-
)
|
|
103
|
+
);
|
|
104
104
|
if (referenceFound) {
|
|
105
|
-
return
|
|
105
|
+
return;
|
|
106
106
|
}
|
|
107
107
|
const [, packageJsonUrlInfo] = context.referenceUtils.inject({
|
|
108
108
|
type: "package_json",
|
|
@@ -110,12 +110,12 @@ const addRelationshipWithPackageJson = ({
|
|
|
110
110
|
specifier: packageJsonUrl,
|
|
111
111
|
isImplicit: true,
|
|
112
112
|
hasVersioningEffect,
|
|
113
|
-
})
|
|
113
|
+
});
|
|
114
114
|
if (packageJsonUrlInfo.type === undefined) {
|
|
115
|
-
const packageJsonContentAsBuffer = readFileSync(new URL(packageJsonUrl))
|
|
116
|
-
packageJsonUrlInfo.type = "json"
|
|
117
|
-
packageJsonUrlInfo.content = String(packageJsonContentAsBuffer)
|
|
115
|
+
const packageJsonContentAsBuffer = readFileSync(new URL(packageJsonUrl));
|
|
116
|
+
packageJsonUrlInfo.type = "json";
|
|
117
|
+
packageJsonUrlInfo.content = String(packageJsonContentAsBuffer);
|
|
118
118
|
packageJsonUrlInfo.originalContentEtag = packageJsonUrlInfo.contentEtag =
|
|
119
|
-
bufferToEtag(packageJsonContentAsBuffer)
|
|
119
|
+
bufferToEtag(packageJsonContentAsBuffer);
|
|
120
120
|
}
|
|
121
|
-
}
|
|
121
|
+
};
|
|
@@ -9,25 +9,25 @@ export const jsenvPluginUrlVersion = () => {
|
|
|
9
9
|
// this goal is achieved when we reach this part of the code
|
|
10
10
|
// We get rid of this params so that urlGraph and other parts of the code
|
|
11
11
|
// recognize the url (it is not considered as a different url)
|
|
12
|
-
const version = reference.searchParams.get("v")
|
|
12
|
+
const version = reference.searchParams.get("v");
|
|
13
13
|
if (version) {
|
|
14
|
-
const urlObject = new URL(reference.url)
|
|
15
|
-
urlObject.searchParams.delete("v")
|
|
16
|
-
reference.version = version
|
|
17
|
-
return urlObject.href
|
|
14
|
+
const urlObject = new URL(reference.url);
|
|
15
|
+
urlObject.searchParams.delete("v");
|
|
16
|
+
reference.version = version;
|
|
17
|
+
return urlObject.href;
|
|
18
18
|
}
|
|
19
|
-
return null
|
|
19
|
+
return null;
|
|
20
20
|
},
|
|
21
21
|
transformUrlSearchParams: (reference) => {
|
|
22
22
|
if (!reference.version) {
|
|
23
|
-
return null
|
|
23
|
+
return null;
|
|
24
24
|
}
|
|
25
25
|
if (reference.searchParams.has("v")) {
|
|
26
|
-
return null
|
|
26
|
+
return null;
|
|
27
27
|
}
|
|
28
28
|
return {
|
|
29
29
|
v: reference.version,
|
|
30
|
-
}
|
|
30
|
+
};
|
|
31
31
|
},
|
|
32
|
-
}
|
|
33
|
-
}
|
|
32
|
+
};
|
|
33
|
+
};
|