@jsenv/core 40.12.2 → 40.12.4
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/build/browserslist_index/browserslist_index.js +25 -10
- package/dist/build/build.js +47 -43
- package/dist/build/jsenv_core_packages.js +0 -2
- package/dist/client/inline_content/inline_content.js +0 -2
- package/dist/client/ribbon/ribbon.js +8 -8
- package/dist/start_dev_server/jsenv_core_packages.js +0 -2
- package/dist/start_dev_server/start_dev_server.js +47 -43
- package/package.json +11 -11
- package/src/kitchen/client/inline_content.js +0 -2
- package/src/kitchen/kitchen.js +2 -3
- package/src/plugins/autoreload_on_server_restart/jsenv_plugin_autoreload_on_server_restart.js +2 -3
- package/src/plugins/html_syntax_error_fallback/jsenv_plugin_html_syntax_error_fallback.js +2 -3
- package/src/plugins/import_meta_css/jsenv_plugin_import_meta_css.js +4 -6
- package/src/plugins/import_meta_hot/jsenv_plugin_import_meta_hot.js +2 -3
- package/src/plugins/protocol_file/client/directory_listing.css +27 -27
- package/src/plugins/protocol_file/jsenv_plugin_directory_listing.js +3 -4
- package/src/plugins/protocol_file/jsenv_plugin_fs_redirection.js +33 -27
- package/src/plugins/ribbon/client/ribbon.js +8 -8
package/dist/build/build.js
CHANGED
|
@@ -2902,9 +2902,8 @@ const shouldHandleSourcemap = (urlInfo) => {
|
|
|
2902
2902
|
return true;
|
|
2903
2903
|
};
|
|
2904
2904
|
|
|
2905
|
-
const inlineContentClientFileUrl = import.meta
|
|
2906
|
-
"../client/inline_content/inline_content.js"
|
|
2907
|
-
);
|
|
2905
|
+
const inlineContentClientFileUrl = import.meta
|
|
2906
|
+
.resolve("../client/inline_content/inline_content.js");
|
|
2908
2907
|
|
|
2909
2908
|
const createKitchen = ({
|
|
2910
2909
|
name,
|
|
@@ -4101,9 +4100,8 @@ const jsenvPluginInlining = () => {
|
|
|
4101
4100
|
};
|
|
4102
4101
|
|
|
4103
4102
|
const jsenvPluginHtmlSyntaxErrorFallback = () => {
|
|
4104
|
-
const htmlSyntaxErrorFileUrl = import.meta
|
|
4105
|
-
"../client/html_syntax_error/html_syntax_error.html"
|
|
4106
|
-
);
|
|
4103
|
+
const htmlSyntaxErrorFileUrl = import.meta
|
|
4104
|
+
.resolve("../client/html_syntax_error/html_syntax_error.html");
|
|
4107
4105
|
|
|
4108
4106
|
return {
|
|
4109
4107
|
mustStayFirst: true,
|
|
@@ -6550,9 +6548,8 @@ const jsenvPluginVersionSearchParam = () => {
|
|
|
6550
6548
|
*/
|
|
6551
6549
|
|
|
6552
6550
|
|
|
6553
|
-
const htmlFileUrlForDirectory = import.meta
|
|
6554
|
-
"../client/directory_listing/directory_listing.html"
|
|
6555
|
-
);
|
|
6551
|
+
const htmlFileUrlForDirectory = import.meta
|
|
6552
|
+
.resolve("../client/directory_listing/directory_listing.html");
|
|
6556
6553
|
|
|
6557
6554
|
const jsenvPluginDirectoryListing = ({
|
|
6558
6555
|
spa,
|
|
@@ -6614,7 +6611,7 @@ const jsenvPluginDirectoryListing = ({
|
|
|
6614
6611
|
if (!acceptsHtml) {
|
|
6615
6612
|
return null;
|
|
6616
6613
|
}
|
|
6617
|
-
reference.fsStat = null; // reset fsStat
|
|
6614
|
+
reference.fsStat = null; // reset fsStat as it's not a directory anymore
|
|
6618
6615
|
return `${htmlFileUrlForDirectory}?url=${encodeURIComponent(url)}`;
|
|
6619
6616
|
},
|
|
6620
6617
|
transformUrlContent: {
|
|
@@ -7033,19 +7030,13 @@ const jsenvPluginFsRedirection = ({
|
|
|
7033
7030
|
applyFsStatEffectsOnUrlObject(urlObject, fsStat);
|
|
7034
7031
|
}
|
|
7035
7032
|
}
|
|
7036
|
-
if (
|
|
7037
|
-
// for SPA we want to serve the root HTML file
|
|
7038
|
-
|
|
7039
|
-
|
|
7040
|
-
|
|
7041
|
-
|
|
7042
|
-
|
|
7043
|
-
// In that case we assume client explicitely asks to load a directory
|
|
7044
|
-
if (
|
|
7045
|
-
spa &&
|
|
7046
|
-
!urlToExtension(urlObject) &&
|
|
7047
|
-
!urlToPathname(urlObject).endsWith("/")
|
|
7048
|
-
) {
|
|
7033
|
+
if (spa) {
|
|
7034
|
+
// for SPA we want to serve the root HTML file most of the time
|
|
7035
|
+
if (!fsStat) {
|
|
7036
|
+
if (urlToExtension(urlObject)) {
|
|
7037
|
+
// url has an extension, we assume it's a file request -> let 404 happen
|
|
7038
|
+
return null;
|
|
7039
|
+
}
|
|
7049
7040
|
const { requestedUrl, rootDirectoryUrl, mainFilePath } =
|
|
7050
7041
|
reference.ownerUrlInfo.context;
|
|
7051
7042
|
const closestHtmlRootFile = getClosestHtmlRootFile(
|
|
@@ -7057,6 +7048,16 @@ const jsenvPluginFsRedirection = ({
|
|
|
7057
7048
|
}
|
|
7058
7049
|
return new URL(mainFilePath, rootDirectoryUrl);
|
|
7059
7050
|
}
|
|
7051
|
+
if (fsStat.isDirectory()) {
|
|
7052
|
+
// When requesting a directory, check if we have an HTML entry file for that directory
|
|
7053
|
+
const directoryEntryFileUrl = getDirectoryEntryFileUrl(urlObject);
|
|
7054
|
+
if (directoryEntryFileUrl) {
|
|
7055
|
+
reference.fsStat = readEntryStatSync(directoryEntryFileUrl);
|
|
7056
|
+
return directoryEntryFileUrl;
|
|
7057
|
+
}
|
|
7058
|
+
}
|
|
7059
|
+
}
|
|
7060
|
+
if (!fsStat) {
|
|
7060
7061
|
return null;
|
|
7061
7062
|
}
|
|
7062
7063
|
const urlBeforeSymlinkResolution = urlObject.href;
|
|
@@ -7104,17 +7105,24 @@ const resolveSymlink = (fileUrl) => {
|
|
|
7104
7105
|
return realUrlObject.href;
|
|
7105
7106
|
};
|
|
7106
7107
|
|
|
7108
|
+
const getDirectoryEntryFileUrl = (directoryUrl) => {
|
|
7109
|
+
const indexHtmlFileUrl = new URL(`index.html`, directoryUrl);
|
|
7110
|
+
if (existsSync(indexHtmlFileUrl)) {
|
|
7111
|
+
return indexHtmlFileUrl.href;
|
|
7112
|
+
}
|
|
7113
|
+
const filename = urlToFilename(directoryUrl);
|
|
7114
|
+
const htmlFileUrlCandidate = new URL(`${filename}.html`, directoryUrl);
|
|
7115
|
+
if (existsSync(htmlFileUrlCandidate)) {
|
|
7116
|
+
return htmlFileUrlCandidate.href;
|
|
7117
|
+
}
|
|
7118
|
+
return null;
|
|
7119
|
+
};
|
|
7107
7120
|
const getClosestHtmlRootFile = (requestedUrl, serverRootDirectoryUrl) => {
|
|
7108
7121
|
let directoryUrl = new URL("./", requestedUrl);
|
|
7109
7122
|
while (true) {
|
|
7110
|
-
const
|
|
7111
|
-
if (
|
|
7112
|
-
return
|
|
7113
|
-
}
|
|
7114
|
-
const filename = urlToFilename(directoryUrl);
|
|
7115
|
-
const htmlFileUrlCandidate = new URL(`${filename}.html`, directoryUrl);
|
|
7116
|
-
if (existsSync(htmlFileUrlCandidate)) {
|
|
7117
|
-
return htmlFileUrlCandidate.href;
|
|
7123
|
+
const directoryEntryFileUrl = getDirectoryEntryFileUrl(directoryUrl);
|
|
7124
|
+
if (directoryEntryFileUrl) {
|
|
7125
|
+
return directoryEntryFileUrl;
|
|
7118
7126
|
}
|
|
7119
7127
|
if (!urlIsOrIsInsideOf(directoryUrl, serverRootDirectoryUrl)) {
|
|
7120
7128
|
return null;
|
|
@@ -7817,12 +7825,10 @@ const jsenvPluginNodeRuntime = ({ runtimeCompat }) => {
|
|
|
7817
7825
|
|
|
7818
7826
|
|
|
7819
7827
|
const jsenvPluginImportMetaCss = () => {
|
|
7820
|
-
const importMetaCssClientFileUrl = import.meta
|
|
7821
|
-
"../client/import_meta_css/import_meta_css.js"
|
|
7822
|
-
|
|
7823
|
-
|
|
7824
|
-
"../client/import_meta_css/import_meta_css_build.js",
|
|
7825
|
-
);
|
|
7828
|
+
const importMetaCssClientFileUrl = import.meta
|
|
7829
|
+
.resolve("../client/import_meta_css/import_meta_css.js");
|
|
7830
|
+
const importMetaCssBuildFileUrl = import.meta
|
|
7831
|
+
.resolve("../client/import_meta_css/import_meta_css_build.js");
|
|
7826
7832
|
|
|
7827
7833
|
return {
|
|
7828
7834
|
name: "jsenv:import_meta_css",
|
|
@@ -8154,9 +8160,8 @@ const htmlNodeCanHotReload = (node) => {
|
|
|
8154
8160
|
};
|
|
8155
8161
|
|
|
8156
8162
|
const jsenvPluginImportMetaHot = () => {
|
|
8157
|
-
const importMetaHotClientFileUrl = import.meta
|
|
8158
|
-
"../client/import_meta_hot/import_meta_hot.js"
|
|
8159
|
-
);
|
|
8163
|
+
const importMetaHotClientFileUrl = import.meta
|
|
8164
|
+
.resolve("../client/import_meta_hot/import_meta_hot.js");
|
|
8160
8165
|
|
|
8161
8166
|
return {
|
|
8162
8167
|
name: "jsenv:import_meta_hot",
|
|
@@ -8948,9 +8953,8 @@ const jsenvPluginChromeDevtoolsJson = () => {
|
|
|
8948
8953
|
};
|
|
8949
8954
|
|
|
8950
8955
|
const jsenvPluginAutoreloadOnServerRestart = () => {
|
|
8951
|
-
const autoreloadOnRestartClientFileUrl = import.meta
|
|
8952
|
-
"@jsenv/server/src/services/autoreload_on_server_restart/client/autoreload_on_server_restart.js"
|
|
8953
|
-
);
|
|
8956
|
+
const autoreloadOnRestartClientFileUrl = import.meta
|
|
8957
|
+
.resolve("@jsenv/server/src/services/autoreload_on_server_restart/client/autoreload_on_server_restart.js");
|
|
8954
8958
|
|
|
8955
8959
|
return {
|
|
8956
8960
|
name: "jsenv:autoreload_on_server_restart",
|
|
@@ -521,8 +521,6 @@ const SIGINT_CALLBACK = {
|
|
|
521
521
|
* https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs#syntax
|
|
522
522
|
*/
|
|
523
523
|
|
|
524
|
-
/* eslint-env browser, node */
|
|
525
|
-
|
|
526
524
|
const DATA_URL = {
|
|
527
525
|
parse: (string) => {
|
|
528
526
|
const afterDataProtocol = string.slice("data:".length);
|
|
@@ -2,14 +2,14 @@ const injectRibbon = ({ text }) => {
|
|
|
2
2
|
const css = /* css */ `
|
|
3
3
|
#jsenv_ribbon_container {
|
|
4
4
|
position: fixed;
|
|
5
|
-
z-index: 1001;
|
|
6
5
|
top: 0;
|
|
7
6
|
right: 0;
|
|
7
|
+
z-index: 1001;
|
|
8
8
|
width: 100px;
|
|
9
9
|
height: 100px;
|
|
10
|
-
overflow: hidden;
|
|
11
10
|
opacity: 0.5;
|
|
12
11
|
pointer-events: none;
|
|
12
|
+
overflow: hidden;
|
|
13
13
|
}
|
|
14
14
|
#jsenv_ribbon {
|
|
15
15
|
position: absolute;
|
|
@@ -20,20 +20,20 @@ const injectRibbon = ({ text }) => {
|
|
|
20
20
|
}
|
|
21
21
|
#jsenv_ribbon_text {
|
|
22
22
|
position: absolute;
|
|
23
|
-
left: 0px;
|
|
24
23
|
top: 20px;
|
|
25
|
-
|
|
24
|
+
left: 0px;
|
|
26
25
|
display: block;
|
|
27
26
|
width: 125px;
|
|
28
|
-
line-height: 36px;
|
|
29
|
-
background-color: orange;
|
|
30
27
|
color: rgb(55, 7, 7);
|
|
31
|
-
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
|
|
32
28
|
font-weight: 700;
|
|
33
29
|
font-size: 16px;
|
|
34
30
|
font-family: "Lato", sans-serif;
|
|
35
|
-
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
|
|
36
31
|
text-align: center;
|
|
32
|
+
text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
|
|
33
|
+
line-height: 36px;
|
|
34
|
+
background-color: orange;
|
|
35
|
+
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
|
|
36
|
+
transform: rotate(45deg);
|
|
37
37
|
user-select: none;
|
|
38
38
|
}
|
|
39
39
|
`;
|
|
@@ -10,8 +10,6 @@ import { pathToFileURL, fileURLToPath } from "node:url";
|
|
|
10
10
|
* https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs#syntax
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
/* eslint-env browser, node */
|
|
14
|
-
|
|
15
13
|
const DATA_URL = {
|
|
16
14
|
parse: (string) => {
|
|
17
15
|
const afterDataProtocol = string.slice("data:".length);
|
|
@@ -2942,9 +2942,8 @@ const shouldHandleSourcemap = (urlInfo) => {
|
|
|
2942
2942
|
return true;
|
|
2943
2943
|
};
|
|
2944
2944
|
|
|
2945
|
-
const inlineContentClientFileUrl = import.meta
|
|
2946
|
-
"../client/inline_content/inline_content.js"
|
|
2947
|
-
);
|
|
2945
|
+
const inlineContentClientFileUrl = import.meta
|
|
2946
|
+
.resolve("../client/inline_content/inline_content.js");
|
|
2948
2947
|
|
|
2949
2948
|
const createKitchen = ({
|
|
2950
2949
|
name,
|
|
@@ -3806,9 +3805,8 @@ const inferUrlInfoType = (urlInfo) => {
|
|
|
3806
3805
|
};
|
|
3807
3806
|
|
|
3808
3807
|
const jsenvPluginHtmlSyntaxErrorFallback = () => {
|
|
3809
|
-
const htmlSyntaxErrorFileUrl = import.meta
|
|
3810
|
-
"../client/html_syntax_error/html_syntax_error.html"
|
|
3811
|
-
);
|
|
3808
|
+
const htmlSyntaxErrorFileUrl = import.meta
|
|
3809
|
+
.resolve("../client/html_syntax_error/html_syntax_error.html");
|
|
3812
3810
|
|
|
3813
3811
|
return {
|
|
3814
3812
|
mustStayFirst: true,
|
|
@@ -6255,9 +6253,8 @@ const jsenvPluginVersionSearchParam = () => {
|
|
|
6255
6253
|
*/
|
|
6256
6254
|
|
|
6257
6255
|
|
|
6258
|
-
const htmlFileUrlForDirectory = import.meta
|
|
6259
|
-
"../client/directory_listing/directory_listing.html"
|
|
6260
|
-
);
|
|
6256
|
+
const htmlFileUrlForDirectory = import.meta
|
|
6257
|
+
.resolve("../client/directory_listing/directory_listing.html");
|
|
6261
6258
|
|
|
6262
6259
|
const jsenvPluginDirectoryListing = ({
|
|
6263
6260
|
spa,
|
|
@@ -6319,7 +6316,7 @@ const jsenvPluginDirectoryListing = ({
|
|
|
6319
6316
|
if (!acceptsHtml) {
|
|
6320
6317
|
return null;
|
|
6321
6318
|
}
|
|
6322
|
-
reference.fsStat = null; // reset fsStat
|
|
6319
|
+
reference.fsStat = null; // reset fsStat as it's not a directory anymore
|
|
6323
6320
|
return `${htmlFileUrlForDirectory}?url=${encodeURIComponent(url)}`;
|
|
6324
6321
|
},
|
|
6325
6322
|
transformUrlContent: {
|
|
@@ -6738,19 +6735,13 @@ const jsenvPluginFsRedirection = ({
|
|
|
6738
6735
|
applyFsStatEffectsOnUrlObject(urlObject, fsStat);
|
|
6739
6736
|
}
|
|
6740
6737
|
}
|
|
6741
|
-
if (
|
|
6742
|
-
// for SPA we want to serve the root HTML file
|
|
6743
|
-
|
|
6744
|
-
|
|
6745
|
-
|
|
6746
|
-
|
|
6747
|
-
|
|
6748
|
-
// In that case we assume client explicitely asks to load a directory
|
|
6749
|
-
if (
|
|
6750
|
-
spa &&
|
|
6751
|
-
!urlToExtension(urlObject) &&
|
|
6752
|
-
!urlToPathname(urlObject).endsWith("/")
|
|
6753
|
-
) {
|
|
6738
|
+
if (spa) {
|
|
6739
|
+
// for SPA we want to serve the root HTML file most of the time
|
|
6740
|
+
if (!fsStat) {
|
|
6741
|
+
if (urlToExtension(urlObject)) {
|
|
6742
|
+
// url has an extension, we assume it's a file request -> let 404 happen
|
|
6743
|
+
return null;
|
|
6744
|
+
}
|
|
6754
6745
|
const { requestedUrl, rootDirectoryUrl, mainFilePath } =
|
|
6755
6746
|
reference.ownerUrlInfo.context;
|
|
6756
6747
|
const closestHtmlRootFile = getClosestHtmlRootFile(
|
|
@@ -6762,6 +6753,16 @@ const jsenvPluginFsRedirection = ({
|
|
|
6762
6753
|
}
|
|
6763
6754
|
return new URL(mainFilePath, rootDirectoryUrl);
|
|
6764
6755
|
}
|
|
6756
|
+
if (fsStat.isDirectory()) {
|
|
6757
|
+
// When requesting a directory, check if we have an HTML entry file for that directory
|
|
6758
|
+
const directoryEntryFileUrl = getDirectoryEntryFileUrl(urlObject);
|
|
6759
|
+
if (directoryEntryFileUrl) {
|
|
6760
|
+
reference.fsStat = readEntryStatSync(directoryEntryFileUrl);
|
|
6761
|
+
return directoryEntryFileUrl;
|
|
6762
|
+
}
|
|
6763
|
+
}
|
|
6764
|
+
}
|
|
6765
|
+
if (!fsStat) {
|
|
6765
6766
|
return null;
|
|
6766
6767
|
}
|
|
6767
6768
|
const urlBeforeSymlinkResolution = urlObject.href;
|
|
@@ -6809,17 +6810,24 @@ const resolveSymlink = (fileUrl) => {
|
|
|
6809
6810
|
return realUrlObject.href;
|
|
6810
6811
|
};
|
|
6811
6812
|
|
|
6813
|
+
const getDirectoryEntryFileUrl = (directoryUrl) => {
|
|
6814
|
+
const indexHtmlFileUrl = new URL(`index.html`, directoryUrl);
|
|
6815
|
+
if (existsSync(indexHtmlFileUrl)) {
|
|
6816
|
+
return indexHtmlFileUrl.href;
|
|
6817
|
+
}
|
|
6818
|
+
const filename = urlToFilename(directoryUrl);
|
|
6819
|
+
const htmlFileUrlCandidate = new URL(`${filename}.html`, directoryUrl);
|
|
6820
|
+
if (existsSync(htmlFileUrlCandidate)) {
|
|
6821
|
+
return htmlFileUrlCandidate.href;
|
|
6822
|
+
}
|
|
6823
|
+
return null;
|
|
6824
|
+
};
|
|
6812
6825
|
const getClosestHtmlRootFile = (requestedUrl, serverRootDirectoryUrl) => {
|
|
6813
6826
|
let directoryUrl = new URL("./", requestedUrl);
|
|
6814
6827
|
while (true) {
|
|
6815
|
-
const
|
|
6816
|
-
if (
|
|
6817
|
-
return
|
|
6818
|
-
}
|
|
6819
|
-
const filename = urlToFilename(directoryUrl);
|
|
6820
|
-
const htmlFileUrlCandidate = new URL(`${filename}.html`, directoryUrl);
|
|
6821
|
-
if (existsSync(htmlFileUrlCandidate)) {
|
|
6822
|
-
return htmlFileUrlCandidate.href;
|
|
6828
|
+
const directoryEntryFileUrl = getDirectoryEntryFileUrl(directoryUrl);
|
|
6829
|
+
if (directoryEntryFileUrl) {
|
|
6830
|
+
return directoryEntryFileUrl;
|
|
6823
6831
|
}
|
|
6824
6832
|
if (!urlIsOrIsInsideOf(directoryUrl, serverRootDirectoryUrl)) {
|
|
6825
6833
|
return null;
|
|
@@ -7857,12 +7865,10 @@ const jsenvPluginNodeRuntime = ({ runtimeCompat }) => {
|
|
|
7857
7865
|
|
|
7858
7866
|
|
|
7859
7867
|
const jsenvPluginImportMetaCss = () => {
|
|
7860
|
-
const importMetaCssClientFileUrl = import.meta
|
|
7861
|
-
"../client/import_meta_css/import_meta_css.js"
|
|
7862
|
-
|
|
7863
|
-
|
|
7864
|
-
"../client/import_meta_css/import_meta_css_build.js",
|
|
7865
|
-
);
|
|
7868
|
+
const importMetaCssClientFileUrl = import.meta
|
|
7869
|
+
.resolve("../client/import_meta_css/import_meta_css.js");
|
|
7870
|
+
const importMetaCssBuildFileUrl = import.meta
|
|
7871
|
+
.resolve("../client/import_meta_css/import_meta_css_build.js");
|
|
7866
7872
|
|
|
7867
7873
|
return {
|
|
7868
7874
|
name: "jsenv:import_meta_css",
|
|
@@ -8194,9 +8200,8 @@ const htmlNodeCanHotReload = (node) => {
|
|
|
8194
8200
|
};
|
|
8195
8201
|
|
|
8196
8202
|
const jsenvPluginImportMetaHot = () => {
|
|
8197
|
-
const importMetaHotClientFileUrl = import.meta
|
|
8198
|
-
"../client/import_meta_hot/import_meta_hot.js"
|
|
8199
|
-
);
|
|
8203
|
+
const importMetaHotClientFileUrl = import.meta
|
|
8204
|
+
.resolve("../client/import_meta_hot/import_meta_hot.js");
|
|
8200
8205
|
|
|
8201
8206
|
return {
|
|
8202
8207
|
name: "jsenv:import_meta_hot",
|
|
@@ -8988,9 +8993,8 @@ const jsenvPluginChromeDevtoolsJson = () => {
|
|
|
8988
8993
|
};
|
|
8989
8994
|
|
|
8990
8995
|
const jsenvPluginAutoreloadOnServerRestart = () => {
|
|
8991
|
-
const autoreloadOnRestartClientFileUrl = import.meta
|
|
8992
|
-
"@jsenv/server/src/services/autoreload_on_server_restart/client/autoreload_on_server_restart.js"
|
|
8993
|
-
);
|
|
8996
|
+
const autoreloadOnRestartClientFileUrl = import.meta
|
|
8997
|
+
.resolve("@jsenv/server/src/services/autoreload_on_server_restart/client/autoreload_on_server_restart.js");
|
|
8994
8998
|
|
|
8995
8999
|
return {
|
|
8996
9000
|
name: "jsenv:autoreload_on_server_restart",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jsenv/core",
|
|
3
|
-
"version": "40.12.
|
|
3
|
+
"version": "40.12.4",
|
|
4
4
|
"description": "Tool to develop, test and build js projects",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -80,8 +80,8 @@
|
|
|
80
80
|
"@jsenv/plugin-bundling": "2.10.4",
|
|
81
81
|
"@jsenv/plugin-minification": "1.7.3",
|
|
82
82
|
"@jsenv/plugin-supervisor": "1.7.11",
|
|
83
|
-
"@jsenv/plugin-transpilation": "1.5.
|
|
84
|
-
"@jsenv/server": "16.3.
|
|
83
|
+
"@jsenv/plugin-transpilation": "1.5.66",
|
|
84
|
+
"@jsenv/server": "16.3.5",
|
|
85
85
|
"@jsenv/sourcemap": "1.3.13",
|
|
86
86
|
"react-table": "7.8.0"
|
|
87
87
|
},
|
|
@@ -116,24 +116,24 @@
|
|
|
116
116
|
"@jsenv/url-meta": "workspace:*",
|
|
117
117
|
"@jsenv/urls": "workspace:*",
|
|
118
118
|
"@jsenv/utils": "workspace:*",
|
|
119
|
-
"@playwright/browser-chromium": "1.
|
|
120
|
-
"@playwright/browser-firefox": "1.
|
|
121
|
-
"@playwright/browser-webkit": "1.
|
|
119
|
+
"@playwright/browser-chromium": "1.57.0",
|
|
120
|
+
"@playwright/browser-firefox": "1.57.0",
|
|
121
|
+
"@playwright/browser-webkit": "1.57.0",
|
|
122
122
|
"babel-plugin-transform-async-to-promises": "0.8.18",
|
|
123
|
-
"eslint": "9.39.
|
|
123
|
+
"eslint": "9.39.2",
|
|
124
124
|
"eslint-plugin-html": "8.1.3",
|
|
125
125
|
"eslint-plugin-import-x": "4.16.1",
|
|
126
126
|
"eslint-plugin-react": "7.37.5",
|
|
127
127
|
"eslint-plugin-regexp": "2.10.0",
|
|
128
128
|
"globals": "16.5.0",
|
|
129
|
-
"open": "
|
|
130
|
-
"playwright": "1.
|
|
129
|
+
"open": "11.0.0",
|
|
130
|
+
"playwright": "1.57.0",
|
|
131
131
|
"preact": "11.0.0-beta.0",
|
|
132
|
-
"prettier": "3.
|
|
132
|
+
"prettier": "3.7.4",
|
|
133
133
|
"prettier-plugin-css-order": "git+https://github.com/dmail-fork/prettier-plugin-css-order.git",
|
|
134
134
|
"prettier-plugin-embed": "0.5.0",
|
|
135
135
|
"prettier-plugin-organize-imports": "4.3.0",
|
|
136
|
-
"prettier-plugin-packagejson": "2.5.
|
|
136
|
+
"prettier-plugin-packagejson": "2.5.20",
|
|
137
137
|
"prettier-plugin-sql": "0.19.2",
|
|
138
138
|
"strip-ansi": "7.1.2"
|
|
139
139
|
},
|
package/src/kitchen/kitchen.js
CHANGED
|
@@ -25,9 +25,8 @@ import {
|
|
|
25
25
|
import { createUrlInfoTransformer } from "./url_graph/url_info_transformations.js";
|
|
26
26
|
import { urlSpecifierEncoding } from "./url_graph/url_specifier_encoding.js";
|
|
27
27
|
|
|
28
|
-
const inlineContentClientFileUrl = import.meta
|
|
29
|
-
"./client/inline_content.js"
|
|
30
|
-
);
|
|
28
|
+
const inlineContentClientFileUrl = import.meta
|
|
29
|
+
.resolve("./client/inline_content.js");
|
|
31
30
|
|
|
32
31
|
export const createKitchen = ({
|
|
33
32
|
name,
|
package/src/plugins/autoreload_on_server_restart/jsenv_plugin_autoreload_on_server_restart.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { injectJsenvScript, parseHtml, stringifyHtmlAst } from "@jsenv/ast";
|
|
2
2
|
|
|
3
3
|
export const jsenvPluginAutoreloadOnServerRestart = () => {
|
|
4
|
-
const autoreloadOnRestartClientFileUrl = import.meta
|
|
5
|
-
"@jsenv/server/src/services/autoreload_on_server_restart/client/autoreload_on_server_restart.js"
|
|
6
|
-
);
|
|
4
|
+
const autoreloadOnRestartClientFileUrl = import.meta
|
|
5
|
+
.resolve("@jsenv/server/src/services/autoreload_on_server_restart/client/autoreload_on_server_restart.js");
|
|
7
6
|
|
|
8
7
|
return {
|
|
9
8
|
name: "jsenv:autoreload_on_server_restart",
|
|
@@ -5,9 +5,8 @@ import { readFileSync } from "node:fs";
|
|
|
5
5
|
import { jsenvCoreDirectoryUrl } from "../../jsenv_core_directory_url.js";
|
|
6
6
|
|
|
7
7
|
export const jsenvPluginHtmlSyntaxErrorFallback = () => {
|
|
8
|
-
const htmlSyntaxErrorFileUrl = import.meta
|
|
9
|
-
"./client/html_syntax_error.html"
|
|
10
|
-
);
|
|
8
|
+
const htmlSyntaxErrorFileUrl = import.meta
|
|
9
|
+
.resolve("./client/html_syntax_error.html");
|
|
11
10
|
|
|
12
11
|
return {
|
|
13
12
|
mustStayFirst: true,
|
|
@@ -26,12 +26,10 @@
|
|
|
26
26
|
import { applyBabelPlugins } from "@jsenv/ast";
|
|
27
27
|
|
|
28
28
|
export const jsenvPluginImportMetaCss = () => {
|
|
29
|
-
const importMetaCssClientFileUrl = import.meta
|
|
30
|
-
"./client/import_meta_css.js"
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"./client/import_meta_css_build.js",
|
|
34
|
-
);
|
|
29
|
+
const importMetaCssClientFileUrl = import.meta
|
|
30
|
+
.resolve("./client/import_meta_css.js");
|
|
31
|
+
const importMetaCssBuildFileUrl = import.meta
|
|
32
|
+
.resolve("./client/import_meta_css_build.js");
|
|
35
33
|
|
|
36
34
|
return {
|
|
37
35
|
name: "jsenv:import_meta_css",
|
|
@@ -5,9 +5,8 @@ import { babelPluginMetadataImportMetaHot } from "./babel_plugin_metadata_import
|
|
|
5
5
|
import { collectHotDataFromHtmlAst } from "./html_hot_dependencies.js";
|
|
6
6
|
|
|
7
7
|
export const jsenvPluginImportMetaHot = () => {
|
|
8
|
-
const importMetaHotClientFileUrl = import.meta
|
|
9
|
-
"./client/import_meta_hot.js"
|
|
10
|
-
);
|
|
8
|
+
const importMetaHotClientFileUrl = import.meta
|
|
9
|
+
.resolve("./client/import_meta_hot.js");
|
|
11
10
|
|
|
12
11
|
return {
|
|
13
12
|
name: "jsenv:import_meta_hot",
|
|
@@ -10,19 +10,19 @@ p,
|
|
|
10
10
|
button {
|
|
11
11
|
margin: 0;
|
|
12
12
|
padding: 0;
|
|
13
|
-
border: 0;
|
|
14
13
|
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
|
14
|
+
border: 0;
|
|
15
15
|
-webkit-font-smoothing: antialiased;
|
|
16
16
|
-moz-osx-font-smoothing: grayscale;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
/* ERROR MESSAGE */
|
|
20
20
|
.error_message {
|
|
21
|
+
display: block;
|
|
22
|
+
margin: 1em;
|
|
23
|
+
padding: 1.5em 1.2em;
|
|
21
24
|
background-color: #fce4e4;
|
|
22
25
|
border: 1px solid #fcc2c3;
|
|
23
|
-
padding: 1.5em 1.2em;
|
|
24
|
-
margin: 1em;
|
|
25
|
-
display: block;
|
|
26
26
|
}
|
|
27
27
|
.error_text {
|
|
28
28
|
color: #853611;
|
|
@@ -30,26 +30,26 @@ button {
|
|
|
30
30
|
text-shadow: 1px 1px rgba(250, 250, 250, 0.3);
|
|
31
31
|
}
|
|
32
32
|
.hint_message {
|
|
33
|
+
display: block;
|
|
34
|
+
margin: 1em;
|
|
35
|
+
padding: 1.5em 1.2em;
|
|
33
36
|
background-color: lightblue;
|
|
34
37
|
border: 1px solid #fcc2c3;
|
|
35
|
-
padding: 1.5em 1.2em;
|
|
36
|
-
margin: 1em;
|
|
37
|
-
display: block;
|
|
38
38
|
}
|
|
39
39
|
.hint_text {
|
|
40
40
|
color: black;
|
|
41
41
|
font-weight: bold;
|
|
42
|
-
line-height: 2em;
|
|
43
42
|
text-shadow: 1px 1px rgba(250, 250, 250, 0.3);
|
|
43
|
+
line-height: 2em;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
/* NAV */
|
|
47
47
|
.nav {
|
|
48
|
-
font-size: 16px;
|
|
49
|
-
font-weight: bold;
|
|
50
|
-
margin: 20px 25px 15px 25px;
|
|
51
48
|
display: flex;
|
|
49
|
+
margin: 20px 25px 15px 25px;
|
|
52
50
|
gap: 0.3em;
|
|
51
|
+
font-weight: bold;
|
|
52
|
+
font-size: 16px;
|
|
53
53
|
}
|
|
54
54
|
.nav_item {
|
|
55
55
|
display: flex;
|
|
@@ -73,8 +73,8 @@ a.nav_item_text {
|
|
|
73
73
|
text-decoration: none;
|
|
74
74
|
}
|
|
75
75
|
.nav_item[data-404] .nav_item_text {
|
|
76
|
-
background-color: yellow;
|
|
77
76
|
color: #853611;
|
|
77
|
+
background-color: yellow;
|
|
78
78
|
}
|
|
79
79
|
.file_path_bad {
|
|
80
80
|
text-decoration-line: underline;
|
|
@@ -82,13 +82,13 @@ a.nav_item_text {
|
|
|
82
82
|
text-decoration-style: wavy;
|
|
83
83
|
}
|
|
84
84
|
.nav_item_badge_404 {
|
|
85
|
+
margin-right: 0.3em;
|
|
86
|
+
padding: 0.2em 0.1em;
|
|
85
87
|
color: #853611;
|
|
88
|
+
font-size: 0.8em;
|
|
86
89
|
text-align: center;
|
|
87
90
|
background-color: yellow;
|
|
88
91
|
border-radius: 5px;
|
|
89
|
-
padding: 0.2em 0.1em;
|
|
90
|
-
font-size: 0.8em;
|
|
91
|
-
margin-right: 0.3em;
|
|
92
92
|
}
|
|
93
93
|
|
|
94
94
|
/* CONTENT */
|
|
@@ -98,36 +98,36 @@ a.nav_item_text {
|
|
|
98
98
|
color: #bbbbbb;
|
|
99
99
|
}
|
|
100
100
|
.directory_content {
|
|
101
|
+
display: flex;
|
|
101
102
|
margin: 10px 15px 10px 15px;
|
|
103
|
+
flex-direction: column;
|
|
102
104
|
list-style-type: none;
|
|
103
105
|
border-radius: 3px;
|
|
104
|
-
display: flex;
|
|
105
|
-
flex-direction: column;
|
|
106
106
|
}
|
|
107
107
|
.directory_content_item {
|
|
108
|
-
display: inline-flex;
|
|
109
108
|
position: relative;
|
|
110
|
-
|
|
111
|
-
font-size: 15px;
|
|
112
|
-
min-height: 19px;
|
|
109
|
+
display: inline-flex;
|
|
113
110
|
box-sizing: border-box;
|
|
111
|
+
min-height: 19px;
|
|
112
|
+
padding: 10px 15px 10px 15px;
|
|
114
113
|
align-items: center;
|
|
114
|
+
font-size: 15px;
|
|
115
115
|
}
|
|
116
116
|
.directory_content_item_link {
|
|
117
117
|
display: inline-flex;
|
|
118
118
|
min-width: 0;
|
|
119
119
|
max-width: 100%;
|
|
120
120
|
flex: 1;
|
|
121
|
-
gap: 10px;
|
|
122
121
|
align-items: center;
|
|
122
|
+
gap: 10px;
|
|
123
123
|
text-decoration: none;
|
|
124
124
|
}
|
|
125
125
|
.directory_content_item_icon {
|
|
126
|
-
width: 15px;
|
|
127
|
-
aspect-ratio: 1/1;
|
|
128
126
|
display: flex;
|
|
129
|
-
|
|
127
|
+
aspect-ratio: 1/1;
|
|
128
|
+
width: 15px;
|
|
130
129
|
flex-shrink: 0;
|
|
130
|
+
color: #f1f1f1;
|
|
131
131
|
}
|
|
132
132
|
.directory_content_item_icon img {
|
|
133
133
|
width: 100%;
|
|
@@ -138,13 +138,13 @@ a.nav_item_text {
|
|
|
138
138
|
align-items: center;
|
|
139
139
|
}
|
|
140
140
|
.directory_content_item:last-child {
|
|
141
|
-
border-bottom: none;
|
|
142
141
|
padding-bottom: 10px;
|
|
142
|
+
border-bottom: none;
|
|
143
143
|
}
|
|
144
144
|
.directory_content_item_arrow {
|
|
145
145
|
display: flex;
|
|
146
|
-
color: #666666;
|
|
147
146
|
height: 10px;
|
|
147
|
+
color: #666666;
|
|
148
148
|
stroke-width: 15%;
|
|
149
149
|
}
|
|
150
150
|
|