webstudio 0.0.0-4f7bf18 → 0.0.0-bd48788
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/lib/cli.js +36 -63
- package/package.json +16 -16
- package/templates/defaults/package.json +8 -8
- package/templates/react-router/package.json +34 -0
- package/templates/react-router-docker/Dockerfile +6 -11
- package/templates/react-router-docker/package.json +4 -32
- package/templates/react-router-netlify/app/constants.mjs +29 -0
- package/templates/react-router-netlify/netlify.toml +6 -0
- package/templates/react-router-netlify/package.json +10 -0
- package/templates/react-router-netlify/vite.config.ts +7 -0
- package/templates/ssg/package.json +7 -7
- /package/templates/{react-router-docker → react-router}/app/extension.ts +0 -0
- /package/templates/{react-router-docker → react-router}/app/root.tsx +0 -0
- /package/templates/{react-router-docker → react-router}/app/route-templates/default-sitemap.tsx +0 -0
- /package/templates/{react-router-docker → react-router}/app/route-templates/html.tsx +0 -0
- /package/templates/{react-router-docker → react-router}/app/route-templates/redirect.tsx +0 -0
- /package/templates/{react-router-docker → react-router}/app/route-templates/xml.tsx +0 -0
- /package/templates/{react-router-docker → react-router}/app/routes/[robots.txt].tsx +0 -0
- /package/templates/{react-router-docker → react-router}/app/routes.ts +0 -0
- /package/templates/{react-router-docker → react-router}/public/favicon.ico +0 -0
- /package/templates/{react-router-docker → react-router}/tsconfig.json +0 -0
- /package/templates/{react-router-docker → react-router}/vite.config.ts +0 -0
package/lib/cli.js
CHANGED
|
@@ -28,7 +28,6 @@ import { kebabCase, camelCase } from "change-case";
|
|
|
28
28
|
import "nanoid";
|
|
29
29
|
import { parseExpressionAt } from "acorn";
|
|
30
30
|
import { simple } from "acorn-walk";
|
|
31
|
-
import warnOnce from "warn-once";
|
|
32
31
|
import reservedIdentifiers from "reserved-identifiers";
|
|
33
32
|
import hash from "@emotion/hash";
|
|
34
33
|
import { x } from "tinyexec";
|
|
@@ -77,7 +76,21 @@ const PROJECT_TEMPLATES = [
|
|
|
77
76
|
label: "Vanilla",
|
|
78
77
|
expand: ["defaults"]
|
|
79
78
|
},
|
|
80
|
-
{
|
|
79
|
+
{
|
|
80
|
+
value: "docker",
|
|
81
|
+
label: "Docker",
|
|
82
|
+
expand: ["react-router", "react-router-docker"]
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
value: "vercel",
|
|
86
|
+
label: "Vercel",
|
|
87
|
+
expand: ["defaults", "vercel"]
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
value: "netlify",
|
|
91
|
+
label: "Netlify",
|
|
92
|
+
expand: ["react-router", "react-router-netlify"]
|
|
93
|
+
},
|
|
81
94
|
{
|
|
82
95
|
value: "netlify-functions",
|
|
83
96
|
label: "Netlify Functions",
|
|
@@ -88,7 +101,10 @@ const PROJECT_TEMPLATES = [
|
|
|
88
101
|
label: "Netlify Edge Functions",
|
|
89
102
|
expand: ["defaults", "netlify-edge-functions"]
|
|
90
103
|
},
|
|
91
|
-
{
|
|
104
|
+
{
|
|
105
|
+
value: "ssg",
|
|
106
|
+
label: "Static Site Generation (SSG)"
|
|
107
|
+
},
|
|
92
108
|
{
|
|
93
109
|
value: "ssg-netlify",
|
|
94
110
|
label: "Static Site Generation (SSG) Netlify",
|
|
@@ -105,11 +121,6 @@ const INTERNAL_TEMPLATES = [
|
|
|
105
121
|
value: "cloudflare",
|
|
106
122
|
label: "Cloudflare",
|
|
107
123
|
expand: ["defaults", "cloudflare"]
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
value: "react-router-docker",
|
|
111
|
-
label: "Dokcer",
|
|
112
|
-
expand: ["react-router-docker"]
|
|
113
124
|
}
|
|
114
125
|
];
|
|
115
126
|
const isFileExists = async (filePath) => {
|
|
@@ -2490,6 +2501,7 @@ const generateExpression = ({
|
|
|
2490
2501
|
usedDataSources == null ? void 0 : usedDataSources.set(dep.id, dep);
|
|
2491
2502
|
return scope.getName(dep.id, dep.name);
|
|
2492
2503
|
}
|
|
2504
|
+
return "undefined";
|
|
2493
2505
|
}
|
|
2494
2506
|
});
|
|
2495
2507
|
};
|
|
@@ -3637,47 +3649,6 @@ const generateWebstudioComponent = ({
|
|
|
3637
3649
|
`;
|
|
3638
3650
|
return generatedComponent;
|
|
3639
3651
|
};
|
|
3640
|
-
const imageSizes = [16, 32, 48, 64, 96, 128, 256, 384];
|
|
3641
|
-
const deviceSizes = [640, 750, 828, 1080, 1200, 1920, 2048, 3840];
|
|
3642
|
-
const allSizes = [...imageSizes, ...deviceSizes];
|
|
3643
|
-
const NON_EXISTING_DOMAIN = "https://a3cbcbec-cdb1-4ea4-ad60-43c795308ddc.ddc";
|
|
3644
|
-
const joinPath = (...segments) => {
|
|
3645
|
-
return segments.filter((segment) => segment !== "").map((segment) => segment.replace(/(^\/+|\/+$)/g, "")).join("/");
|
|
3646
|
-
};
|
|
3647
|
-
const encodePathFragment = (fragment) => {
|
|
3648
|
-
return encodeURIComponent(fragment).replace(/%2F/g, "/");
|
|
3649
|
-
};
|
|
3650
|
-
const wsImageLoader = (props2) => {
|
|
3651
|
-
const width = props2.format === "raw" ? 16 : props2.width;
|
|
3652
|
-
const quality = props2.format === "raw" ? 100 : props2.quality;
|
|
3653
|
-
if (process.env.NODE_ENV !== "production") {
|
|
3654
|
-
warnOnce(
|
|
3655
|
-
allSizes.includes(width) === false,
|
|
3656
|
-
"Width must be only from allowed values"
|
|
3657
|
-
);
|
|
3658
|
-
}
|
|
3659
|
-
let src = props2.src;
|
|
3660
|
-
if (src.startsWith("/cgi/asset")) {
|
|
3661
|
-
src = src.slice("/cgi/asset".length);
|
|
3662
|
-
}
|
|
3663
|
-
const resultUrl = new URL("/cgi/image/", NON_EXISTING_DOMAIN);
|
|
3664
|
-
if (props2.format !== "raw") {
|
|
3665
|
-
resultUrl.searchParams.set("width", width.toString());
|
|
3666
|
-
resultUrl.searchParams.set("quality", quality.toString());
|
|
3667
|
-
if (props2.height != null) {
|
|
3668
|
-
resultUrl.searchParams.set("height", props2.height.toString());
|
|
3669
|
-
}
|
|
3670
|
-
if (props2.fit != null) {
|
|
3671
|
-
resultUrl.searchParams.set("fit", props2.fit);
|
|
3672
|
-
}
|
|
3673
|
-
}
|
|
3674
|
-
resultUrl.searchParams.set("format", props2.format ?? "auto");
|
|
3675
|
-
resultUrl.pathname = joinPath(resultUrl.pathname, encodePathFragment(src));
|
|
3676
|
-
if (resultUrl.href.startsWith(NON_EXISTING_DOMAIN)) {
|
|
3677
|
-
return `${resultUrl.pathname}?${resultUrl.searchParams.toString()}`;
|
|
3678
|
-
}
|
|
3679
|
-
return resultUrl.href;
|
|
3680
|
-
};
|
|
3681
3652
|
const BOOLEAN_ATTRIBUTES = /* @__PURE__ */ new Set([
|
|
3682
3653
|
"async",
|
|
3683
3654
|
"autofocus",
|
|
@@ -5871,6 +5842,11 @@ const copyTemplates = async (template) => {
|
|
|
5871
5842
|
const importFrom = (importee, importer) => {
|
|
5872
5843
|
return relative(dirname(importer), importee).replaceAll("\\", "/");
|
|
5873
5844
|
};
|
|
5845
|
+
const npmrc = `force=true
|
|
5846
|
+
loglevel=error
|
|
5847
|
+
audit=false
|
|
5848
|
+
fund=false
|
|
5849
|
+
`;
|
|
5874
5850
|
const prebuild = async (options) => {
|
|
5875
5851
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
5876
5852
|
if (options.template.length === 0) {
|
|
@@ -5898,14 +5874,14 @@ Please check webstudio --help for more details`
|
|
|
5898
5874
|
await rm(generatedDir, { recursive: true, force: true });
|
|
5899
5875
|
const routesDir = join(appRoot, "routes");
|
|
5900
5876
|
await rm(routesDir, { recursive: true, force: true });
|
|
5901
|
-
await writeFile(join(cwd(), ".npmrc"),
|
|
5877
|
+
await writeFile(join(cwd(), ".npmrc"), npmrc);
|
|
5902
5878
|
for (const template of options.template) {
|
|
5903
5879
|
await copyTemplates(template);
|
|
5904
5880
|
}
|
|
5905
5881
|
let framework;
|
|
5906
5882
|
if (options.template.includes("ssg")) {
|
|
5907
5883
|
framework = await createFramework();
|
|
5908
|
-
} else if (options.template.includes("react-router
|
|
5884
|
+
} else if (options.template.includes("react-router")) {
|
|
5909
5885
|
framework = await createFramework$1();
|
|
5910
5886
|
} else {
|
|
5911
5887
|
framework = await createFramework$2();
|
|
@@ -6021,14 +5997,10 @@ Please check webstudio --help for more details`
|
|
|
6021
5997
|
const assetOrigin = siteData.origin;
|
|
6022
5998
|
for (const asset of siteData.assets) {
|
|
6023
5999
|
if (asset.type === "image") {
|
|
6024
|
-
const imagePath = wsImageLoader({
|
|
6025
|
-
src: asset.name,
|
|
6026
|
-
format: "raw"
|
|
6027
|
-
});
|
|
6028
6000
|
assetsToDownload.push(
|
|
6029
6001
|
limit(
|
|
6030
6002
|
() => downloadAsset(
|
|
6031
|
-
`${assetOrigin}
|
|
6003
|
+
`${assetOrigin}/cgi/image/${asset.name}?format=raw`,
|
|
6032
6004
|
asset.name,
|
|
6033
6005
|
assetBaseUrl
|
|
6034
6006
|
)
|
|
@@ -6445,6 +6417,7 @@ const getDeploymentInstructions = (deployTarget) => {
|
|
|
6445
6417
|
switch (deployTarget) {
|
|
6446
6418
|
case "vercel":
|
|
6447
6419
|
return `Run ${pc.dim("npx vercel")} to publish on Vercel.`;
|
|
6420
|
+
case "netlify":
|
|
6448
6421
|
case "netlify-functions":
|
|
6449
6422
|
case "netlify-edge-functions":
|
|
6450
6423
|
return [
|
|
@@ -6459,7 +6432,7 @@ const getDeploymentInstructions = (deployTarget) => {
|
|
|
6459
6432
|
}
|
|
6460
6433
|
};
|
|
6461
6434
|
const name = "webstudio";
|
|
6462
|
-
const version = "0.0.0-
|
|
6435
|
+
const version = "0.0.0-bd48788";
|
|
6463
6436
|
const description = "Webstudio CLI";
|
|
6464
6437
|
const author = "Webstudio <github@webstudio.is>";
|
|
6465
6438
|
const homepage = "https://webstudio.is";
|
|
@@ -6501,18 +6474,17 @@ const dependencies = {
|
|
|
6501
6474
|
"p-limit": "^6.2.0",
|
|
6502
6475
|
parse5: "7.2.1",
|
|
6503
6476
|
picocolors: "^1.1.1",
|
|
6504
|
-
react: "18.3.0-canary-14898b6a9-20240318",
|
|
6505
6477
|
"reserved-identifiers": "^1.0.0",
|
|
6506
6478
|
tinyexec: "^0.3.2",
|
|
6507
|
-
"warn-once": "^0.1.1",
|
|
6508
6479
|
yargs: "^17.7.2",
|
|
6509
6480
|
zod: "^3.22.4"
|
|
6510
6481
|
};
|
|
6511
6482
|
const devDependencies = {
|
|
6512
6483
|
"@netlify/remix-adapter": "^2.5.1",
|
|
6513
6484
|
"@netlify/remix-edge-adapter": "3.4.2",
|
|
6514
|
-
"@react-router
|
|
6515
|
-
"@react-router/
|
|
6485
|
+
"@netlify/vite-plugin-react-router": "^1.0.0",
|
|
6486
|
+
"@react-router/dev": "^7.1.4",
|
|
6487
|
+
"@react-router/fs-routes": "^7.1.4",
|
|
6516
6488
|
"@remix-run/cloudflare": "^2.15.2",
|
|
6517
6489
|
"@remix-run/cloudflare-pages": "^2.15.2",
|
|
6518
6490
|
"@remix-run/dev": "^2.15.2",
|
|
@@ -6536,10 +6508,11 @@ const devDependencies = {
|
|
|
6536
6508
|
h3: "^1.14.0",
|
|
6537
6509
|
ipx: "^3.0.1",
|
|
6538
6510
|
prettier: "3.4.2",
|
|
6511
|
+
react: "18.3.0-canary-14898b6a9-20240318",
|
|
6539
6512
|
"react-dom": "18.3.0-canary-14898b6a9-20240318",
|
|
6540
|
-
"react-router": "^7.1.
|
|
6513
|
+
"react-router": "^7.1.4",
|
|
6541
6514
|
"ts-expect": "^1.3.0",
|
|
6542
|
-
vike: "^0.4.
|
|
6515
|
+
vike: "^0.4.220",
|
|
6543
6516
|
vite: "^5.4.11",
|
|
6544
6517
|
vitest: "^3.0.2",
|
|
6545
6518
|
wrangler: "^3.63.2"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "webstudio",
|
|
3
|
-
"version": "0.0.0-
|
|
3
|
+
"version": "0.0.0-bd48788",
|
|
4
4
|
"description": "Webstudio CLI",
|
|
5
5
|
"author": "Webstudio <github@webstudio.is>",
|
|
6
6
|
"homepage": "https://webstudio.is",
|
|
@@ -37,18 +37,17 @@
|
|
|
37
37
|
"p-limit": "^6.2.0",
|
|
38
38
|
"parse5": "7.2.1",
|
|
39
39
|
"picocolors": "^1.1.1",
|
|
40
|
-
"react": "18.3.0-canary-14898b6a9-20240318",
|
|
41
40
|
"reserved-identifiers": "^1.0.0",
|
|
42
41
|
"tinyexec": "^0.3.2",
|
|
43
|
-
"warn-once": "^0.1.1",
|
|
44
42
|
"yargs": "^17.7.2",
|
|
45
43
|
"zod": "^3.22.4"
|
|
46
44
|
},
|
|
47
45
|
"devDependencies": {
|
|
48
46
|
"@netlify/remix-adapter": "^2.5.1",
|
|
49
47
|
"@netlify/remix-edge-adapter": "3.4.2",
|
|
50
|
-
"@react-router
|
|
51
|
-
"@react-router/
|
|
48
|
+
"@netlify/vite-plugin-react-router": "^1.0.0",
|
|
49
|
+
"@react-router/dev": "^7.1.4",
|
|
50
|
+
"@react-router/fs-routes": "^7.1.4",
|
|
52
51
|
"@remix-run/cloudflare": "^2.15.2",
|
|
53
52
|
"@remix-run/cloudflare-pages": "^2.15.2",
|
|
54
53
|
"@remix-run/dev": "^2.15.2",
|
|
@@ -62,22 +61,23 @@
|
|
|
62
61
|
"h3": "^1.14.0",
|
|
63
62
|
"ipx": "^3.0.1",
|
|
64
63
|
"prettier": "3.4.2",
|
|
64
|
+
"react": "18.3.0-canary-14898b6a9-20240318",
|
|
65
65
|
"react-dom": "18.3.0-canary-14898b6a9-20240318",
|
|
66
|
-
"react-router": "^7.1.
|
|
66
|
+
"react-router": "^7.1.4",
|
|
67
67
|
"ts-expect": "^1.3.0",
|
|
68
|
-
"vike": "^0.4.
|
|
68
|
+
"vike": "^0.4.220",
|
|
69
69
|
"vite": "^5.4.11",
|
|
70
70
|
"vitest": "^3.0.2",
|
|
71
71
|
"wrangler": "^3.63.2",
|
|
72
|
-
"@webstudio-is/http-client": "0.0.0-
|
|
73
|
-
"@webstudio-is/image": "0.0.0-
|
|
74
|
-
"@webstudio-is/react-sdk": "0.0.0-
|
|
75
|
-
"@webstudio-is/sdk": "0.0.0-
|
|
76
|
-
"@webstudio-is/sdk-components-animation": "0.0.0-
|
|
77
|
-
"@webstudio-is/sdk-components-react": "0.0.0-
|
|
78
|
-
"@webstudio-is/sdk-components-react-radix": "0.0.0-
|
|
79
|
-
"@webstudio-is/sdk-components-react-remix": "0.0.0-
|
|
80
|
-
"@webstudio-is/sdk-components-react-router": "0.0.0-
|
|
72
|
+
"@webstudio-is/http-client": "0.0.0-bd48788",
|
|
73
|
+
"@webstudio-is/image": "0.0.0-bd48788",
|
|
74
|
+
"@webstudio-is/react-sdk": "0.0.0-bd48788",
|
|
75
|
+
"@webstudio-is/sdk": "0.0.0-bd48788",
|
|
76
|
+
"@webstudio-is/sdk-components-animation": "0.0.0-bd48788",
|
|
77
|
+
"@webstudio-is/sdk-components-react": "0.0.0-bd48788",
|
|
78
|
+
"@webstudio-is/sdk-components-react-radix": "0.0.0-bd48788",
|
|
79
|
+
"@webstudio-is/sdk-components-react-remix": "0.0.0-bd48788",
|
|
80
|
+
"@webstudio-is/sdk-components-react-router": "0.0.0-bd48788",
|
|
81
81
|
"@webstudio-is/tsconfig": "1.0.7"
|
|
82
82
|
},
|
|
83
83
|
"scripts": {
|
|
@@ -11,14 +11,14 @@
|
|
|
11
11
|
"@remix-run/node": "2.15.2",
|
|
12
12
|
"@remix-run/react": "2.15.2",
|
|
13
13
|
"@remix-run/server-runtime": "2.15.2",
|
|
14
|
-
"@webstudio-is/image": "0.0.0-
|
|
15
|
-
"@webstudio-is/react-sdk": "0.0.0-
|
|
16
|
-
"@webstudio-is/sdk": "0.0.0-
|
|
17
|
-
"@webstudio-is/sdk-components-react": "0.0.0-
|
|
18
|
-
"@webstudio-is/sdk-components-animation": "0.0.0-
|
|
19
|
-
"@webstudio-is/sdk-components-react-radix": "0.0.0-
|
|
20
|
-
"@webstudio-is/sdk-components-react-remix": "0.0.0-
|
|
21
|
-
"isbot": "^5.1.
|
|
14
|
+
"@webstudio-is/image": "0.0.0-bd48788",
|
|
15
|
+
"@webstudio-is/react-sdk": "0.0.0-bd48788",
|
|
16
|
+
"@webstudio-is/sdk": "0.0.0-bd48788",
|
|
17
|
+
"@webstudio-is/sdk-components-react": "0.0.0-bd48788",
|
|
18
|
+
"@webstudio-is/sdk-components-animation": "0.0.0-bd48788",
|
|
19
|
+
"@webstudio-is/sdk-components-react-radix": "0.0.0-bd48788",
|
|
20
|
+
"@webstudio-is/sdk-components-react-remix": "0.0.0-bd48788",
|
|
21
|
+
"isbot": "^5.1.22",
|
|
22
22
|
"react": "18.3.0-canary-14898b6a9-20240318",
|
|
23
23
|
"react-dom": "18.3.0-canary-14898b6a9-20240318"
|
|
24
24
|
},
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "module",
|
|
3
|
+
"private": true,
|
|
4
|
+
"sideEffects": false,
|
|
5
|
+
"scripts": {
|
|
6
|
+
"build": "react-router build",
|
|
7
|
+
"dev": "react-router dev",
|
|
8
|
+
"typecheck": "tsc"
|
|
9
|
+
},
|
|
10
|
+
"dependencies": {
|
|
11
|
+
"@react-router/dev": "^7.1.4",
|
|
12
|
+
"@react-router/fs-routes": "^7.1.4",
|
|
13
|
+
"@webstudio-is/image": "0.0.0-bd48788",
|
|
14
|
+
"@webstudio-is/react-sdk": "0.0.0-bd48788",
|
|
15
|
+
"@webstudio-is/sdk": "0.0.0-bd48788",
|
|
16
|
+
"@webstudio-is/sdk-components-animation": "0.0.0-bd48788",
|
|
17
|
+
"@webstudio-is/sdk-components-react-radix": "0.0.0-bd48788",
|
|
18
|
+
"@webstudio-is/sdk-components-react-router": "0.0.0-bd48788",
|
|
19
|
+
"@webstudio-is/sdk-components-react": "0.0.0-bd48788",
|
|
20
|
+
"isbot": "^5.1.22",
|
|
21
|
+
"react": "18.3.0-canary-14898b6a9-20240318",
|
|
22
|
+
"react-dom": "18.3.0-canary-14898b6a9-20240318",
|
|
23
|
+
"react-router": "^7.1.4",
|
|
24
|
+
"vite": "^5.4.11"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@types/react": "^18.2.70",
|
|
28
|
+
"@types/react-dom": "^18.2.25",
|
|
29
|
+
"typescript": "5.7.3"
|
|
30
|
+
},
|
|
31
|
+
"engines": {
|
|
32
|
+
"node": ">=20.0.0"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
FROM node:22-alpine AS
|
|
2
|
-
COPY . /app
|
|
3
|
-
WORKDIR /app
|
|
4
|
-
RUN npm install
|
|
5
|
-
|
|
6
|
-
FROM node:22-alpine AS production-dependencies-env
|
|
7
|
-
COPY .npmrc ./package.json /app/
|
|
1
|
+
FROM node:22-alpine AS dependencies-env
|
|
2
|
+
COPY .npmrc package.json /app/
|
|
8
3
|
WORKDIR /app
|
|
9
4
|
RUN npm install --omit=dev
|
|
10
5
|
|
|
11
|
-
FROM
|
|
6
|
+
FROM dependencies-env AS build-env
|
|
12
7
|
COPY . /app/
|
|
13
|
-
COPY --from=development-dependencies-env /app/node_modules /app/node_modules
|
|
14
8
|
WORKDIR /app
|
|
9
|
+
RUN npm install
|
|
15
10
|
RUN npm run build
|
|
16
11
|
|
|
17
12
|
FROM node:22-alpine
|
|
18
|
-
COPY .npmrc
|
|
19
|
-
COPY --from=
|
|
13
|
+
COPY .npmrc package.json /app/
|
|
14
|
+
COPY --from=dependencies-env /app/node_modules /app/node_modules
|
|
20
15
|
COPY --from=build-env /app/build /app/build
|
|
21
16
|
COPY --from=build-env /app/public /app/public
|
|
22
17
|
WORKDIR /app
|
|
@@ -1,39 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"type": "module",
|
|
3
|
-
"private": true,
|
|
4
|
-
"sideEffects": false,
|
|
5
2
|
"scripts": {
|
|
6
|
-
"
|
|
7
|
-
"dev": "react-router dev",
|
|
8
|
-
"start": "react-router-serve ./build/server/index.js",
|
|
9
|
-
"typecheck": "tsc"
|
|
3
|
+
"start": "react-router-serve ./build/server/index.js"
|
|
10
4
|
},
|
|
11
5
|
"dependencies": {
|
|
12
|
-
"@react-router/
|
|
13
|
-
"@react-router/
|
|
14
|
-
"@react-router/node": "^7.1.3",
|
|
15
|
-
"@react-router/serve": "^7.1.3",
|
|
16
|
-
"@webstudio-is/image": "0.0.0-4f7bf18",
|
|
17
|
-
"@webstudio-is/react-sdk": "0.0.0-4f7bf18",
|
|
18
|
-
"@webstudio-is/sdk": "0.0.0-4f7bf18",
|
|
19
|
-
"@webstudio-is/sdk-components-animation": "0.0.0-4f7bf18",
|
|
20
|
-
"@webstudio-is/sdk-components-react-radix": "0.0.0-4f7bf18",
|
|
21
|
-
"@webstudio-is/sdk-components-react-router": "0.0.0-4f7bf18",
|
|
22
|
-
"@webstudio-is/sdk-components-react": "0.0.0-4f7bf18",
|
|
6
|
+
"@react-router/node": "^7.1.4",
|
|
7
|
+
"@react-router/serve": "^7.1.4",
|
|
23
8
|
"h3": "^1.14.0",
|
|
24
|
-
"ipx": "^3.0.1"
|
|
25
|
-
"isbot": "^5.1.19",
|
|
26
|
-
"react": "18.3.0-canary-14898b6a9-20240318",
|
|
27
|
-
"react-dom": "18.3.0-canary-14898b6a9-20240318",
|
|
28
|
-
"react-router": "^7.1.3",
|
|
29
|
-
"vite": "^5.4.11"
|
|
30
|
-
},
|
|
31
|
-
"devDependencies": {
|
|
32
|
-
"@types/react": "^18.2.70",
|
|
33
|
-
"@types/react-dom": "^18.2.25",
|
|
34
|
-
"typescript": "5.7.3"
|
|
35
|
-
},
|
|
36
|
-
"engines": {
|
|
37
|
-
"node": ">=20.0.0"
|
|
9
|
+
"ipx": "^3.0.1"
|
|
38
10
|
}
|
|
39
11
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* We use mjs extension as constants in this file is shared with the build script
|
|
3
|
+
* and we use `node --eval` to extract the constants.
|
|
4
|
+
*/
|
|
5
|
+
export const assetBaseUrl = "/assets/";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @type {import("@webstudio-is/image").ImageLoader}
|
|
9
|
+
*/
|
|
10
|
+
export const imageLoader = (props) => {
|
|
11
|
+
if (import.meta.env.DEV) {
|
|
12
|
+
return props.src;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
if (props.format === "raw") {
|
|
16
|
+
return props.src;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// https://docs.netlify.com/image-cdn/overview/
|
|
20
|
+
const searchParams = new URLSearchParams();
|
|
21
|
+
searchParams.set("url", props.src);
|
|
22
|
+
searchParams.set("w", props.width.toString());
|
|
23
|
+
if (props.height) {
|
|
24
|
+
searchParams.set("h", props.height.toString());
|
|
25
|
+
}
|
|
26
|
+
searchParams.set("q", props.quality.toString());
|
|
27
|
+
// fit=contain by default
|
|
28
|
+
return `/.netlify/images?${searchParams}`;
|
|
29
|
+
};
|
|
@@ -8,15 +8,15 @@
|
|
|
8
8
|
"typecheck": "tsc"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@webstudio-is/image": "0.0.0-
|
|
12
|
-
"@webstudio-is/react-sdk": "0.0.0-
|
|
13
|
-
"@webstudio-is/sdk": "0.0.0-
|
|
14
|
-
"@webstudio-is/sdk-components-react": "0.0.0-
|
|
15
|
-
"@webstudio-is/sdk-components-animation": "0.0.0-
|
|
16
|
-
"@webstudio-is/sdk-components-react-radix": "0.0.0-
|
|
11
|
+
"@webstudio-is/image": "0.0.0-bd48788",
|
|
12
|
+
"@webstudio-is/react-sdk": "0.0.0-bd48788",
|
|
13
|
+
"@webstudio-is/sdk": "0.0.0-bd48788",
|
|
14
|
+
"@webstudio-is/sdk-components-react": "0.0.0-bd48788",
|
|
15
|
+
"@webstudio-is/sdk-components-animation": "0.0.0-bd48788",
|
|
16
|
+
"@webstudio-is/sdk-components-react-radix": "0.0.0-bd48788",
|
|
17
17
|
"react": "18.3.0-canary-14898b6a9-20240318",
|
|
18
18
|
"react-dom": "18.3.0-canary-14898b6a9-20240318",
|
|
19
|
-
"vike": "^0.4.
|
|
19
|
+
"vike": "^0.4.220"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/react": "^18.2.70",
|
|
File without changes
|
|
File without changes
|
/package/templates/{react-router-docker → react-router}/app/route-templates/default-sitemap.tsx
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|