webstudio 0.0.0-4f7bf18 → 0.0.0-c575b54
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 +35 -63
- package/package.json +16 -16
- package/templates/defaults/package.json +8 -8
- package/templates/react-router/package.json +36 -0
- package/templates/react-router-docker/Dockerfile +6 -11
- package/templates/react-router-docker/package.json +2 -34
- 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 +9 -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=auto`,
|
|
6032
6004
|
asset.name,
|
|
6033
6005
|
assetBaseUrl
|
|
6034
6006
|
)
|
|
@@ -6459,7 +6431,7 @@ const getDeploymentInstructions = (deployTarget) => {
|
|
|
6459
6431
|
}
|
|
6460
6432
|
};
|
|
6461
6433
|
const name = "webstudio";
|
|
6462
|
-
const version = "0.0.0-
|
|
6434
|
+
const version = "0.0.0-c575b54";
|
|
6463
6435
|
const description = "Webstudio CLI";
|
|
6464
6436
|
const author = "Webstudio <github@webstudio.is>";
|
|
6465
6437
|
const homepage = "https://webstudio.is";
|
|
@@ -6501,18 +6473,17 @@ const dependencies = {
|
|
|
6501
6473
|
"p-limit": "^6.2.0",
|
|
6502
6474
|
parse5: "7.2.1",
|
|
6503
6475
|
picocolors: "^1.1.1",
|
|
6504
|
-
react: "18.3.0-canary-14898b6a9-20240318",
|
|
6505
6476
|
"reserved-identifiers": "^1.0.0",
|
|
6506
6477
|
tinyexec: "^0.3.2",
|
|
6507
|
-
"warn-once": "^0.1.1",
|
|
6508
6478
|
yargs: "^17.7.2",
|
|
6509
6479
|
zod: "^3.22.4"
|
|
6510
6480
|
};
|
|
6511
6481
|
const devDependencies = {
|
|
6512
6482
|
"@netlify/remix-adapter": "^2.5.1",
|
|
6513
6483
|
"@netlify/remix-edge-adapter": "3.4.2",
|
|
6514
|
-
"@react-router
|
|
6515
|
-
"@react-router/
|
|
6484
|
+
"@netlify/vite-plugin-react-router": "^1.0.0",
|
|
6485
|
+
"@react-router/dev": "^7.1.4",
|
|
6486
|
+
"@react-router/fs-routes": "^7.1.4",
|
|
6516
6487
|
"@remix-run/cloudflare": "^2.15.2",
|
|
6517
6488
|
"@remix-run/cloudflare-pages": "^2.15.2",
|
|
6518
6489
|
"@remix-run/dev": "^2.15.2",
|
|
@@ -6536,10 +6507,11 @@ const devDependencies = {
|
|
|
6536
6507
|
h3: "^1.14.0",
|
|
6537
6508
|
ipx: "^3.0.1",
|
|
6538
6509
|
prettier: "3.4.2",
|
|
6510
|
+
react: "18.3.0-canary-14898b6a9-20240318",
|
|
6539
6511
|
"react-dom": "18.3.0-canary-14898b6a9-20240318",
|
|
6540
|
-
"react-router": "^7.1.
|
|
6512
|
+
"react-router": "^7.1.4",
|
|
6541
6513
|
"ts-expect": "^1.3.0",
|
|
6542
|
-
vike: "^0.4.
|
|
6514
|
+
vike: "^0.4.220",
|
|
6543
6515
|
vite: "^5.4.11",
|
|
6544
6516
|
vitest: "^3.0.2",
|
|
6545
6517
|
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-c575b54",
|
|
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/
|
|
74
|
-
"@webstudio-is/
|
|
75
|
-
"@webstudio-is/sdk": "0.0.0-
|
|
76
|
-
"@webstudio-is/sdk-components-
|
|
77
|
-
"@webstudio-is/sdk-components-
|
|
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-c575b54",
|
|
73
|
+
"@webstudio-is/react-sdk": "0.0.0-c575b54",
|
|
74
|
+
"@webstudio-is/image": "0.0.0-c575b54",
|
|
75
|
+
"@webstudio-is/sdk": "0.0.0-c575b54",
|
|
76
|
+
"@webstudio-is/sdk-components-react": "0.0.0-c575b54",
|
|
77
|
+
"@webstudio-is/sdk-components-animation": "0.0.0-c575b54",
|
|
78
|
+
"@webstudio-is/sdk-components-react-radix": "0.0.0-c575b54",
|
|
79
|
+
"@webstudio-is/sdk-components-react-remix": "0.0.0-c575b54",
|
|
80
|
+
"@webstudio-is/sdk-components-react-router": "0.0.0-c575b54",
|
|
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-c575b54",
|
|
15
|
+
"@webstudio-is/react-sdk": "0.0.0-c575b54",
|
|
16
|
+
"@webstudio-is/sdk": "0.0.0-c575b54",
|
|
17
|
+
"@webstudio-is/sdk-components-react": "0.0.0-c575b54",
|
|
18
|
+
"@webstudio-is/sdk-components-animation": "0.0.0-c575b54",
|
|
19
|
+
"@webstudio-is/sdk-components-react-radix": "0.0.0-c575b54",
|
|
20
|
+
"@webstudio-is/sdk-components-react-remix": "0.0.0-c575b54",
|
|
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,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "module",
|
|
3
|
+
"private": true,
|
|
4
|
+
"sideEffects": false,
|
|
5
|
+
"scripts": {
|
|
6
|
+
"build": "react-router build",
|
|
7
|
+
"dev": "react-router dev",
|
|
8
|
+
"start": "react-router-serve ./build/server/index.js",
|
|
9
|
+
"typecheck": "tsc"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"@react-router/dev": "^7.1.4",
|
|
13
|
+
"@react-router/fs-routes": "^7.1.4",
|
|
14
|
+
"@react-router/serve": "^7.1.4",
|
|
15
|
+
"@webstudio-is/image": "0.0.0-c575b54",
|
|
16
|
+
"@webstudio-is/react-sdk": "0.0.0-c575b54",
|
|
17
|
+
"@webstudio-is/sdk": "0.0.0-c575b54",
|
|
18
|
+
"@webstudio-is/sdk-components-animation": "0.0.0-c575b54",
|
|
19
|
+
"@webstudio-is/sdk-components-react-radix": "0.0.0-c575b54",
|
|
20
|
+
"@webstudio-is/sdk-components-react-router": "0.0.0-c575b54",
|
|
21
|
+
"@webstudio-is/sdk-components-react": "0.0.0-c575b54",
|
|
22
|
+
"isbot": "^5.1.22",
|
|
23
|
+
"react": "18.3.0-canary-14898b6a9-20240318",
|
|
24
|
+
"react-dom": "18.3.0-canary-14898b6a9-20240318",
|
|
25
|
+
"react-router": "^7.1.4",
|
|
26
|
+
"vite": "^5.4.11"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@types/react": "^18.2.70",
|
|
30
|
+
"@types/react-dom": "^18.2.25",
|
|
31
|
+
"typescript": "5.7.3"
|
|
32
|
+
},
|
|
33
|
+
"engines": {
|
|
34
|
+
"node": ">=20.0.0"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -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,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"type": "module",
|
|
3
|
-
"private": true,
|
|
4
|
-
"sideEffects": false,
|
|
5
|
-
"scripts": {
|
|
6
|
-
"build": "react-router build",
|
|
7
|
-
"dev": "react-router dev",
|
|
8
|
-
"start": "react-router-serve ./build/server/index.js",
|
|
9
|
-
"typecheck": "tsc"
|
|
10
|
-
},
|
|
11
2
|
"dependencies": {
|
|
12
|
-
"@react-router/
|
|
13
|
-
"@react-router/fs-routes": "^7.1.3",
|
|
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",
|
|
3
|
+
"@react-router/node": "^7.1.4",
|
|
23
4
|
"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"
|
|
5
|
+
"ipx": "^3.0.1"
|
|
38
6
|
}
|
|
39
7
|
}
|
|
@@ -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 (process.env.NODE_ENV !== "production") {
|
|
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-c575b54",
|
|
12
|
+
"@webstudio-is/react-sdk": "0.0.0-c575b54",
|
|
13
|
+
"@webstudio-is/sdk": "0.0.0-c575b54",
|
|
14
|
+
"@webstudio-is/sdk-components-react": "0.0.0-c575b54",
|
|
15
|
+
"@webstudio-is/sdk-components-animation": "0.0.0-c575b54",
|
|
16
|
+
"@webstudio-is/sdk-components-react-radix": "0.0.0-c575b54",
|
|
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
|