one 1.6.2 → 1.6.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/devtools/source-inspector.mjs +19 -41
- package/dist/cjs/cli/build.cjs +2 -1
- package/dist/cjs/cli/build.js +2 -1
- package/dist/cjs/cli/build.js.map +1 -1
- package/dist/cjs/cli/build.native.js +3 -2
- package/dist/cjs/cli/build.native.js.map +1 -1
- package/dist/cjs/cli.cjs +7 -1
- package/dist/cjs/cli.js +7 -1
- package/dist/cjs/cli.js.map +1 -1
- package/dist/cjs/cli.native.js +7 -1
- package/dist/cjs/cli.native.js.map +1 -1
- package/dist/cjs/server/oneServe.cjs +2 -3
- package/dist/cjs/server/oneServe.js +2 -2
- package/dist/cjs/server/oneServe.js.map +1 -1
- package/dist/cjs/server/oneServe.native.js +2 -4
- package/dist/cjs/server/oneServe.native.js.map +1 -1
- package/dist/cjs/vite/one.cjs +1 -4
- package/dist/cjs/vite/one.js +5 -6
- package/dist/cjs/vite/one.js.map +1 -1
- package/dist/cjs/vite/one.native.js +1 -3
- package/dist/cjs/vite/one.native.js.map +1 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.cjs +12 -18
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.js +9 -12
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js +13 -22
- package/dist/cjs/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.cjs +18 -11
- package/dist/cjs/vite/plugins/virtualEntryPlugin.js +17 -8
- package/dist/cjs/vite/plugins/virtualEntryPlugin.js.map +1 -1
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js +19 -12
- package/dist/cjs/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/dist/esm/cli/build.js +2 -1
- package/dist/esm/cli/build.js.map +1 -1
- package/dist/esm/cli/build.mjs +2 -1
- package/dist/esm/cli/build.mjs.map +1 -1
- package/dist/esm/cli/build.native.js +3 -2
- package/dist/esm/cli/build.native.js.map +1 -1
- package/dist/esm/cli.js +7 -1
- package/dist/esm/cli.js.map +1 -1
- package/dist/esm/cli.mjs +7 -1
- package/dist/esm/cli.mjs.map +1 -1
- package/dist/esm/cli.native.js +7 -1
- package/dist/esm/cli.native.js.map +1 -1
- package/dist/esm/server/oneServe.js +2 -2
- package/dist/esm/server/oneServe.js.map +1 -1
- package/dist/esm/server/oneServe.mjs +2 -3
- package/dist/esm/server/oneServe.mjs.map +1 -1
- package/dist/esm/server/oneServe.native.js +2 -4
- package/dist/esm/server/oneServe.native.js.map +1 -1
- package/dist/esm/vite/one.js +5 -6
- package/dist/esm/vite/one.js.map +1 -1
- package/dist/esm/vite/one.mjs +1 -4
- package/dist/esm/vite/one.mjs.map +1 -1
- package/dist/esm/vite/one.native.js +1 -3
- package/dist/esm/vite/one.native.js.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.js +10 -13
- package/dist/esm/vite/plugins/sourceInspectorPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs +13 -19
- package/dist/esm/vite/plugins/sourceInspectorPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js +14 -23
- package/dist/esm/vite/plugins/sourceInspectorPlugin.native.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.js +17 -7
- package/dist/esm/vite/plugins/virtualEntryPlugin.js.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs +17 -10
- package/dist/esm/vite/plugins/virtualEntryPlugin.mjs.map +1 -1
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js +18 -11
- package/dist/esm/vite/plugins/virtualEntryPlugin.native.js.map +1 -1
- package/package.json +10 -10
- package/src/cli/build.ts +4 -4
- package/src/cli.ts +6 -0
- package/src/server/oneServe.ts +2 -6
- package/src/vite/one.ts +9 -5
- package/src/vite/plugins/sourceInspectorPlugin.ts +18 -39
- package/src/vite/plugins/virtualEntryPlugin.ts +17 -5
- package/src/vite/types.ts +5 -0
- package/types/cli/build.d.ts +1 -0
- package/types/cli/build.d.ts.map +1 -1
- package/types/server/oneServe.d.ts.map +1 -1
- package/types/vite/one.d.ts.map +1 -1
- package/types/vite/plugins/sourceInspectorPlugin.d.ts.map +1 -1
- package/types/vite/plugins/virtualEntryPlugin.d.ts.map +1 -1
- package/types/vite/types.d.ts +4 -0
- package/types/vite/types.d.ts.map +1 -1
- package/types/env.d.ts +0 -30
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import path from "path";
|
|
2
|
-
import {
|
|
2
|
+
import { parse } from "oxc-parser";
|
|
3
3
|
import { normalizePath } from "vite";
|
|
4
4
|
function _type_of(obj) {
|
|
5
5
|
"@swc/helpers - typeof";
|
|
6
6
|
|
|
7
7
|
return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
8
8
|
}
|
|
9
|
-
function findJsxElements(code, filename) {
|
|
10
|
-
var result =
|
|
9
|
+
async function findJsxElements(code, filename) {
|
|
10
|
+
var result = await parse(filename, code);
|
|
11
11
|
if (result.errors.length > 0) return [];
|
|
12
|
-
var locations = []
|
|
13
|
-
traversalIndex = 0;
|
|
12
|
+
var locations = [];
|
|
14
13
|
function getJsxName(node) {
|
|
15
14
|
if (!node) return null;
|
|
16
15
|
if (node.type === "JSXIdentifier") return node.name;
|
|
@@ -45,7 +44,6 @@ function findJsxElements(code, filename) {
|
|
|
45
44
|
loc = getLocation(node.start);
|
|
46
45
|
locations.push({
|
|
47
46
|
insertOffset: nameEnd,
|
|
48
|
-
index: traversalIndex++,
|
|
49
47
|
line: loc.line,
|
|
50
48
|
column: loc.column
|
|
51
49
|
});
|
|
@@ -96,27 +94,21 @@ function findJsxElements(code, filename) {
|
|
|
96
94
|
return b.insertOffset - a.insertOffset;
|
|
97
95
|
});
|
|
98
96
|
}
|
|
99
|
-
function injectSourceToJsx(code, id) {
|
|
97
|
+
async function injectSourceToJsx(code, id) {
|
|
100
98
|
var [filePath] = id.split("?");
|
|
101
99
|
if (filePath) {
|
|
102
100
|
var location = filePath.replace(normalizePath(process.cwd()), "");
|
|
103
101
|
if (!(!code.includes("<") || !code.includes(">"))) {
|
|
104
|
-
var jsxLocations = findJsxElements(code, filePath);
|
|
102
|
+
var jsxLocations = await findJsxElements(code, filePath);
|
|
105
103
|
if (jsxLocations.length !== 0) {
|
|
106
|
-
var
|
|
107
|
-
return a.index - b.index;
|
|
108
|
-
}).map(function (jsx2) {
|
|
109
|
-
return `${jsx2.index}:[${jsx2.line},${jsx2.column}]`;
|
|
110
|
-
}).join(","),
|
|
111
|
-
sourceInfoScript = `globalThis.__oneSourceInfo=globalThis.__oneSourceInfo||{};globalThis.__oneSourceInfo["${location}"]={${sourceInfoEntries}};`,
|
|
112
|
-
result = code,
|
|
104
|
+
var result = code,
|
|
113
105
|
_iteratorNormalCompletion = !0,
|
|
114
106
|
_didIteratorError = !1,
|
|
115
107
|
_iteratorError = void 0;
|
|
116
108
|
try {
|
|
117
109
|
for (var _iterator = jsxLocations[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = !0) {
|
|
118
110
|
var jsx = _step.value,
|
|
119
|
-
sourceAttr = ` data-one-source="${location}:${jsx.
|
|
111
|
+
sourceAttr = ` data-one-source="${location}:${jsx.line}:${jsx.column}"`;
|
|
120
112
|
result = result.slice(0, jsx.insertOffset) + sourceAttr + result.slice(jsx.insertOffset);
|
|
121
113
|
}
|
|
122
114
|
} catch (err) {
|
|
@@ -128,7 +120,7 @@ function injectSourceToJsx(code, id) {
|
|
|
128
120
|
if (_didIteratorError) throw _iteratorError;
|
|
129
121
|
}
|
|
130
122
|
}
|
|
131
|
-
return
|
|
123
|
+
return {
|
|
132
124
|
code: result,
|
|
133
125
|
map: null
|
|
134
126
|
};
|
|
@@ -208,12 +200,11 @@ function sourceInspectorPlugin() {
|
|
|
208
200
|
res.statusCode = 400, res.end("Missing source parameter");
|
|
209
201
|
return;
|
|
210
202
|
}
|
|
211
|
-
var
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
await openInEditor(filePath, line || void 0, column || void 0), res.statusCode = 200, res.end("OK");
|
|
203
|
+
var parts = source.split(":"),
|
|
204
|
+
column = parts.pop(),
|
|
205
|
+
line = parts.pop(),
|
|
206
|
+
filePath = parts.join(":");
|
|
207
|
+
await openInEditor(filePath, line, column), res.statusCode = 200, res.end("OK");
|
|
217
208
|
} catch (err) {
|
|
218
209
|
console.error("[one:source-inspector] Error:", err), res.statusCode = 500, res.end("Internal server error");
|
|
219
210
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["path","
|
|
1
|
+
{"version":3,"names":["path","parse","normalizePath","_type_of","obj","Symbol","constructor","findJsxElements","code","filename","result","errors","length","locations","getJsxName","node","type","name","_node_property","object","property","getLocation","offset","before","slice","lines","split","line","column","walk","tagName","endsWith","_node_attributes","hasSourceAttr","attributes","some","attr","_attr_name","nameEnd","end","loc","start","push","insertOffset","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Object","keys","iterator","_step","next","done","key","value","Array","isArray","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","child","err","return","program","sort","a","b","injectSourceToJsx","id","filePath","location","replace","process","cwd","includes","jsxLocations","jsx","sourceAttr","map","openInEditor","launch","default","fullPath","join","errorMessage","console","warn","vscodeClients","Set","viteServer","sourceInspectorPlugin","enforce","apply","transform","_this_environment","envName","environment"],"sources":["../../../../src/vite/plugins/sourceInspectorPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolve } from "node:path";
|
|
1
2
|
import { configuration } from "@vxrn/compiler";
|
|
2
3
|
import { isNativeEnvironment } from "vxrn";
|
|
3
4
|
import {
|
|
@@ -36,7 +37,7 @@ function normalizeSetupFile(setupFile) {
|
|
|
36
37
|
android: sf.android
|
|
37
38
|
};
|
|
38
39
|
}
|
|
39
|
-
function getSetupFileImport(environmentName, setupFiles, useStaticImport) {
|
|
40
|
+
function getSetupFileImport(environmentName, setupFiles, useStaticImport, root) {
|
|
40
41
|
const key = {
|
|
41
42
|
client: "client",
|
|
42
43
|
ssr: "server",
|
|
@@ -45,15 +46,18 @@ function getSetupFileImport(environmentName, setupFiles, useStaticImport) {
|
|
|
45
46
|
}[environmentName];
|
|
46
47
|
if (!key) return { importStatement: "", promiseDeclaration: "", promiseVarName: "" };
|
|
47
48
|
const setupFile = setupFiles[key];
|
|
48
|
-
|
|
49
|
-
importStatement:
|
|
49
|
+
if (!setupFile)
|
|
50
|
+
return { importStatement: "", promiseDeclaration: "", promiseVarName: "" };
|
|
51
|
+
const resolvedSetupFile = root ? resolve(root, setupFile) : setupFile;
|
|
52
|
+
return useStaticImport ? {
|
|
53
|
+
importStatement: `import ${JSON.stringify(resolvedSetupFile)}`,
|
|
50
54
|
promiseDeclaration: "",
|
|
51
55
|
promiseVarName: ""
|
|
52
56
|
} : {
|
|
53
57
|
importStatement: "",
|
|
54
|
-
promiseDeclaration: `const __oneGetSetupPromise = () => import(
|
|
58
|
+
promiseDeclaration: `const __oneGetSetupPromise = () => import(${JSON.stringify(resolvedSetupFile)})`,
|
|
55
59
|
promiseVarName: "__oneGetSetupPromise"
|
|
56
|
-
}
|
|
60
|
+
};
|
|
57
61
|
}
|
|
58
62
|
function createVirtualEntry(options) {
|
|
59
63
|
const routeGlobs = [
|
|
@@ -62,9 +66,13 @@ function createVirtualEntry(options) {
|
|
|
62
66
|
(pattern) => `!/${options.root}/${pattern}`
|
|
63
67
|
) || []
|
|
64
68
|
], apiRouteGlobs = `/${options.root}/${API_ROUTE_GLOB_PATTERN}`, setupFiles = normalizeSetupFile(options.setupFile);
|
|
69
|
+
let viteRoot = "";
|
|
65
70
|
return {
|
|
66
71
|
name: "one-virtual-entry",
|
|
67
72
|
enforce: "pre",
|
|
73
|
+
configResolved(config) {
|
|
74
|
+
viteRoot = config.root;
|
|
75
|
+
},
|
|
68
76
|
resolveId(id) {
|
|
69
77
|
if (id === virtualEntryId)
|
|
70
78
|
return resolvedVirtualEntryId;
|
|
@@ -76,7 +84,8 @@ function createVirtualEntry(options) {
|
|
|
76
84
|
const isNative = isNativeEnvironment(this.environment), isSSR = this.environment.name === "ssr", setupResult = getSetupFileImport(
|
|
77
85
|
this.environment.name,
|
|
78
86
|
setupFiles,
|
|
79
|
-
isNative || isSSR
|
|
87
|
+
isNative || isSSR,
|
|
88
|
+
viteRoot
|
|
80
89
|
), nativewindImport = configuration.enableNativewind ? "import 'react-native-css-interop/dist/runtime/components'" : "", setupPromiseArg = setupResult.promiseVarName ? `getSetupPromise: ${setupResult.promiseVarName},` : "";
|
|
81
90
|
return `
|
|
82
91
|
${setupResult.importStatement}
|
|
@@ -111,7 +120,8 @@ export default createApp({
|
|
|
111
120
|
${getSetupFileImport(
|
|
112
121
|
this.environment.name,
|
|
113
122
|
setupFiles,
|
|
114
|
-
isNative
|
|
123
|
+
isNative,
|
|
124
|
+
viteRoot
|
|
115
125
|
).importStatement}
|
|
116
126
|
|
|
117
127
|
import { createApp } from 'one'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/vite/plugins/virtualEntryPlugin.ts"],
|
|
4
|
-
"mappings": "AAAA,SAAS,qBAAqB;AAE9B,SAAS,2BAA2B;AACpC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AASP,SAAS,mBACP,WACsB;AACtB,MAAI,CAAC,UAAW,QAAO,CAAC;AACxB,MAAI,OAAO,aAAc;AACvB,WAAO;AAAA,MACL,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,KAAK;AAAA,MACL,SAAS;AAAA,IACX;AAEF,MAAI,YAAY;AACd,WAAO;AAAA,MACL,QAAQ,UAAU;AAAA,MAClB,QAAQ,UAAU;AAAA,MAClB,KAAK,UAAU;AAAA,MACf,SAAS,UAAU;AAAA,IACrB;AAEF,QAAM,KAAK;AAMX,SAAO;AAAA,IACL,QAAQ,GAAG;AAAA,IACX,QAAQ,GAAG;AAAA,IACX,KAAK,GAAG;AAAA,IACR,SAAS,GAAG;AAAA,EACd;AACF;AAWA,SAAS,mBACP,iBACA,YACA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolve } from "node:path";
|
|
1
2
|
import { configuration } from "@vxrn/compiler";
|
|
2
3
|
import { isNativeEnvironment } from "vxrn";
|
|
3
4
|
import { API_ROUTE_GLOB_PATTERN, ROUTE_GLOB_PATTERN, ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS, ROUTE_WEB_EXCLUSION_GLOB_PATTERNS } from "../../router/glob-patterns.mjs";
|
|
@@ -24,7 +25,7 @@ function normalizeSetupFile(setupFile) {
|
|
|
24
25
|
android: sf.android
|
|
25
26
|
};
|
|
26
27
|
}
|
|
27
|
-
function getSetupFileImport(environmentName, setupFiles, useStaticImport) {
|
|
28
|
+
function getSetupFileImport(environmentName, setupFiles, useStaticImport, root) {
|
|
28
29
|
const key = {
|
|
29
30
|
client: "client",
|
|
30
31
|
ssr: "server",
|
|
@@ -37,27 +38,33 @@ function getSetupFileImport(environmentName, setupFiles, useStaticImport) {
|
|
|
37
38
|
promiseVarName: ""
|
|
38
39
|
};
|
|
39
40
|
const setupFile = setupFiles[key];
|
|
40
|
-
|
|
41
|
-
importStatement:
|
|
41
|
+
if (!setupFile) return {
|
|
42
|
+
importStatement: "",
|
|
43
|
+
promiseDeclaration: "",
|
|
44
|
+
promiseVarName: ""
|
|
45
|
+
};
|
|
46
|
+
const resolvedSetupFile = root ? resolve(root, setupFile) : setupFile;
|
|
47
|
+
return useStaticImport ? {
|
|
48
|
+
importStatement: `import ${JSON.stringify(resolvedSetupFile)}`,
|
|
42
49
|
promiseDeclaration: "",
|
|
43
50
|
promiseVarName: ""
|
|
44
51
|
} : {
|
|
45
52
|
importStatement: "",
|
|
46
|
-
promiseDeclaration: `const __oneGetSetupPromise = () => import(
|
|
53
|
+
promiseDeclaration: `const __oneGetSetupPromise = () => import(${JSON.stringify(resolvedSetupFile)})`,
|
|
47
54
|
promiseVarName: "__oneGetSetupPromise"
|
|
48
|
-
} : {
|
|
49
|
-
importStatement: "",
|
|
50
|
-
promiseDeclaration: "",
|
|
51
|
-
promiseVarName: ""
|
|
52
55
|
};
|
|
53
56
|
}
|
|
54
57
|
function createVirtualEntry(options) {
|
|
55
58
|
const routeGlobs = [`/${options.root}/${ROUTE_GLOB_PATTERN}`, ...(options.router?.ignoredRouteFiles?.map(pattern => `!/${options.root}/${pattern}`) || [])],
|
|
56
59
|
apiRouteGlobs = `/${options.root}/${API_ROUTE_GLOB_PATTERN}`,
|
|
57
60
|
setupFiles = normalizeSetupFile(options.setupFile);
|
|
61
|
+
let viteRoot = "";
|
|
58
62
|
return {
|
|
59
63
|
name: "one-virtual-entry",
|
|
60
64
|
enforce: "pre",
|
|
65
|
+
configResolved(config) {
|
|
66
|
+
viteRoot = config.root;
|
|
67
|
+
},
|
|
61
68
|
resolveId(id) {
|
|
62
69
|
if (id === virtualEntryId) return resolvedVirtualEntryId;
|
|
63
70
|
if (id === virtualEntryIdNative) return resolvedVirtualEntryIdNative;
|
|
@@ -66,7 +73,7 @@ function createVirtualEntry(options) {
|
|
|
66
73
|
if (id === resolvedVirtualEntryId) {
|
|
67
74
|
const isNative = isNativeEnvironment(this.environment),
|
|
68
75
|
isSSR = this.environment.name === "ssr",
|
|
69
|
-
setupResult = getSetupFileImport(this.environment.name, setupFiles, isNative || isSSR),
|
|
76
|
+
setupResult = getSetupFileImport(this.environment.name, setupFiles, isNative || isSSR, viteRoot),
|
|
70
77
|
nativewindImport = configuration.enableNativewind ? "import 'react-native-css-interop/dist/runtime/components'" : "",
|
|
71
78
|
setupPromiseArg = setupResult.promiseVarName ? `getSetupPromise: ${setupResult.promiseVarName},` : "";
|
|
72
79
|
return `
|
|
@@ -99,7 +106,7 @@ export default createApp({
|
|
|
99
106
|
if (id === resolvedVirtualEntryIdNative) {
|
|
100
107
|
const isNative = isNativeEnvironment(this.environment);
|
|
101
108
|
return `
|
|
102
|
-
${getSetupFileImport(this.environment.name, setupFiles, isNative).importStatement}
|
|
109
|
+
${getSetupFileImport(this.environment.name, setupFiles, isNative, viteRoot).importStatement}
|
|
103
110
|
|
|
104
111
|
import { createApp } from 'one'
|
|
105
112
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["configuration","isNativeEnvironment","API_ROUTE_GLOB_PATTERN","ROUTE_GLOB_PATTERN","ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS","ROUTE_WEB_EXCLUSION_GLOB_PATTERNS","resolvedVirtualEntryId","resolvedVirtualEntryIdNative","virtualEntryId","virtualEntryIdNative","normalizeSetupFile","setupFile","client","server","ios","android","native","sf","getSetupFileImport","environmentName","setupFiles","useStaticImport","key","ssr","importStatement","promiseDeclaration","promiseVarName","JSON","stringify","createVirtualEntry","options","routeGlobs","
|
|
1
|
+
{"version":3,"names":["resolve","configuration","isNativeEnvironment","API_ROUTE_GLOB_PATTERN","ROUTE_GLOB_PATTERN","ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS","ROUTE_WEB_EXCLUSION_GLOB_PATTERNS","resolvedVirtualEntryId","resolvedVirtualEntryIdNative","virtualEntryId","virtualEntryIdNative","normalizeSetupFile","setupFile","client","server","ios","android","native","sf","getSetupFileImport","environmentName","setupFiles","useStaticImport","root","key","ssr","importStatement","promiseDeclaration","promiseVarName","resolvedSetupFile","JSON","stringify","createVirtualEntry","options","routeGlobs","router","ignoredRouteFiles","map","pattern","apiRouteGlobs","viteRoot","name","enforce","configResolved","config","resolveId","id","load","isNative","environment","isSSR","setupResult","nativewindImport","enableNativewind","setupPromiseArg","p","flags"],"sources":["../../../../src/vite/plugins/virtualEntryPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolve } from "path";
|
|
1
2
|
import { configuration } from "@vxrn/compiler";
|
|
2
3
|
import { isNativeEnvironment } from "vxrn";
|
|
3
4
|
import { API_ROUTE_GLOB_PATTERN, ROUTE_GLOB_PATTERN, ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS, ROUTE_WEB_EXCLUSION_GLOB_PATTERNS } from "../../router/glob-patterns.native.js";
|
|
@@ -24,7 +25,7 @@ function normalizeSetupFile(setupFile) {
|
|
|
24
25
|
android: sf.android
|
|
25
26
|
};
|
|
26
27
|
}
|
|
27
|
-
function getSetupFileImport(environmentName, setupFiles, useStaticImport) {
|
|
28
|
+
function getSetupFileImport(environmentName, setupFiles, useStaticImport, root) {
|
|
28
29
|
var envMap = {
|
|
29
30
|
client: "client",
|
|
30
31
|
ssr: "server",
|
|
@@ -38,18 +39,20 @@ function getSetupFileImport(environmentName, setupFiles, useStaticImport) {
|
|
|
38
39
|
promiseVarName: ""
|
|
39
40
|
};
|
|
40
41
|
var setupFile = setupFiles[key];
|
|
41
|
-
|
|
42
|
-
importStatement:
|
|
42
|
+
if (!setupFile) return {
|
|
43
|
+
importStatement: "",
|
|
44
|
+
promiseDeclaration: "",
|
|
45
|
+
promiseVarName: ""
|
|
46
|
+
};
|
|
47
|
+
var resolvedSetupFile = root ? resolve(root, setupFile) : setupFile;
|
|
48
|
+
return useStaticImport ? {
|
|
49
|
+
importStatement: `import ${JSON.stringify(resolvedSetupFile)}`,
|
|
43
50
|
promiseDeclaration: "",
|
|
44
51
|
promiseVarName: ""
|
|
45
52
|
} : {
|
|
46
53
|
importStatement: "",
|
|
47
|
-
promiseDeclaration: `const __oneGetSetupPromise = () => import(
|
|
54
|
+
promiseDeclaration: `const __oneGetSetupPromise = () => import(${JSON.stringify(resolvedSetupFile)})`,
|
|
48
55
|
promiseVarName: "__oneGetSetupPromise"
|
|
49
|
-
} : {
|
|
50
|
-
importStatement: "",
|
|
51
|
-
promiseDeclaration: "",
|
|
52
|
-
promiseVarName: ""
|
|
53
56
|
};
|
|
54
57
|
}
|
|
55
58
|
function createVirtualEntry(options) {
|
|
@@ -59,10 +62,14 @@ function createVirtualEntry(options) {
|
|
|
59
62
|
return `!/${options.root}/${pattern}`;
|
|
60
63
|
})) || [])],
|
|
61
64
|
apiRouteGlobs = `/${options.root}/${API_ROUTE_GLOB_PATTERN}`,
|
|
62
|
-
setupFiles = normalizeSetupFile(options.setupFile)
|
|
65
|
+
setupFiles = normalizeSetupFile(options.setupFile),
|
|
66
|
+
viteRoot = "";
|
|
63
67
|
return {
|
|
64
68
|
name: "one-virtual-entry",
|
|
65
69
|
enforce: "pre",
|
|
70
|
+
configResolved(config) {
|
|
71
|
+
viteRoot = config.root;
|
|
72
|
+
},
|
|
66
73
|
resolveId(id) {
|
|
67
74
|
if (id === virtualEntryId) return resolvedVirtualEntryId;
|
|
68
75
|
if (id === virtualEntryIdNative) return resolvedVirtualEntryIdNative;
|
|
@@ -71,7 +78,7 @@ function createVirtualEntry(options) {
|
|
|
71
78
|
if (id === resolvedVirtualEntryId) {
|
|
72
79
|
var isNative = isNativeEnvironment(this.environment),
|
|
73
80
|
isSSR = this.environment.name === "ssr",
|
|
74
|
-
setupResult = getSetupFileImport(this.environment.name, setupFiles, isNative || isSSR),
|
|
81
|
+
setupResult = getSetupFileImport(this.environment.name, setupFiles, isNative || isSSR, viteRoot),
|
|
75
82
|
nativewindImport = configuration.enableNativewind ? "import 'react-native-css-interop/dist/runtime/components'" : "",
|
|
76
83
|
setupPromiseArg = setupResult.promiseVarName ? `getSetupPromise: ${setupResult.promiseVarName},` : "";
|
|
77
84
|
return `
|
|
@@ -105,7 +112,7 @@ export default createApp({
|
|
|
105
112
|
}
|
|
106
113
|
if (id === resolvedVirtualEntryIdNative) {
|
|
107
114
|
var isNative1 = isNativeEnvironment(this.environment),
|
|
108
|
-
setupResult1 = getSetupFileImport(this.environment.name, setupFiles, isNative1);
|
|
115
|
+
setupResult1 = getSetupFileImport(this.environment.name, setupFiles, isNative1, viteRoot);
|
|
109
116
|
return `
|
|
110
117
|
${setupResult1.importStatement}
|
|
111
118
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["configuration","isNativeEnvironment","API_ROUTE_GLOB_PATTERN","ROUTE_GLOB_PATTERN","ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS","ROUTE_WEB_EXCLUSION_GLOB_PATTERNS","resolvedVirtualEntryId","resolvedVirtualEntryIdNative","virtualEntryId","virtualEntryIdNative","normalizeSetupFile","setupFile","client","server","ios","android","native","sf","getSetupFileImport","environmentName","setupFiles","useStaticImport","envMap","ssr","key","importStatement","promiseDeclaration","promiseVarName","JSON","stringify","createVirtualEntry","options","_options_router_ignoredRouteFiles","_options_router","routeGlobs","
|
|
1
|
+
{"version":3,"names":["resolve","configuration","isNativeEnvironment","API_ROUTE_GLOB_PATTERN","ROUTE_GLOB_PATTERN","ROUTE_NATIVE_EXCLUSION_GLOB_PATTERNS","ROUTE_WEB_EXCLUSION_GLOB_PATTERNS","resolvedVirtualEntryId","resolvedVirtualEntryIdNative","virtualEntryId","virtualEntryIdNative","normalizeSetupFile","setupFile","client","server","ios","android","native","sf","getSetupFileImport","environmentName","setupFiles","useStaticImport","root","envMap","ssr","key","importStatement","promiseDeclaration","promiseVarName","resolvedSetupFile","JSON","stringify","createVirtualEntry","options","_options_router_ignoredRouteFiles","_options_router","routeGlobs","router","ignoredRouteFiles","map","pattern","apiRouteGlobs","viteRoot","name","enforce","configResolved","config","resolveId","id","load","isNative","environment","isSSR","setupResult","nativewindImport","enableNativewind","setupPromiseArg","p","flags","isNative1","setupResult1"],"sources":["../../../../src/vite/plugins/virtualEntryPlugin.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "one",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.4",
|
|
4
4
|
"license": "BSD-3-Clause",
|
|
5
5
|
"sideEffects": [
|
|
6
6
|
"setup.mjs",
|
|
@@ -149,17 +149,17 @@
|
|
|
149
149
|
"@react-navigation/routers": "~7.5.1",
|
|
150
150
|
"@swc/core": "^1.14.0",
|
|
151
151
|
"@ungap/structured-clone": "^1.2.0",
|
|
152
|
-
"@vxrn/color-scheme": "1.6.
|
|
153
|
-
"@vxrn/compiler": "1.6.
|
|
154
|
-
"@vxrn/resolve": "1.6.
|
|
155
|
-
"@vxrn/tslib-lite": "1.6.
|
|
156
|
-
"@vxrn/use-isomorphic-layout-effect": "1.6.
|
|
157
|
-
"@vxrn/vite-plugin-metro": "1.6.
|
|
152
|
+
"@vxrn/color-scheme": "1.6.4",
|
|
153
|
+
"@vxrn/compiler": "1.6.4",
|
|
154
|
+
"@vxrn/resolve": "1.6.4",
|
|
155
|
+
"@vxrn/tslib-lite": "1.6.4",
|
|
156
|
+
"@vxrn/use-isomorphic-layout-effect": "1.6.4",
|
|
157
|
+
"@vxrn/vite-plugin-metro": "1.6.4",
|
|
158
158
|
"babel-dead-code-elimination": "1.0.10",
|
|
159
159
|
"babel-plugin-module-resolver": "^5.0.2",
|
|
160
160
|
"citty": "^0.1.6",
|
|
161
161
|
"core-js": "^3.38.1",
|
|
162
|
-
"create-vxrn": "1.6.
|
|
162
|
+
"create-vxrn": "1.6.4",
|
|
163
163
|
"escape-string-regexp": "^5.0.0",
|
|
164
164
|
"expo-linking": "~8.0.8",
|
|
165
165
|
"expo-modules-core": "~3.0.24",
|
|
@@ -184,7 +184,7 @@
|
|
|
184
184
|
"use-latest-callback": "^0.2.3",
|
|
185
185
|
"vite": "^7.1.12",
|
|
186
186
|
"vite-tsconfig-paths": "^6.0.5",
|
|
187
|
-
"vxrn": "1.6.
|
|
187
|
+
"vxrn": "1.6.4",
|
|
188
188
|
"ws": "^8.18.0",
|
|
189
189
|
"xxhashjs": "^0.2.2"
|
|
190
190
|
},
|
|
@@ -219,7 +219,7 @@
|
|
|
219
219
|
"@react-navigation/core": "^7.13.0",
|
|
220
220
|
"@react-navigation/drawer": "~7.7.2",
|
|
221
221
|
"@react-navigation/native": "~7.1.19",
|
|
222
|
-
"@tamagui/build": "2.0.0-rc.
|
|
222
|
+
"@tamagui/build": "2.0.0-rc.7",
|
|
223
223
|
"react-native-gesture-handler": "~2.28.0",
|
|
224
224
|
"react-native-reanimated": "~4.1.3",
|
|
225
225
|
"@types/node": "^24.10.0",
|
package/src/cli/build.ts
CHANGED
|
@@ -58,6 +58,7 @@ export async function build(args: {
|
|
|
58
58
|
step?: string
|
|
59
59
|
only?: string
|
|
60
60
|
platform?: 'ios' | 'web' | 'android'
|
|
61
|
+
skipEnv?: boolean
|
|
61
62
|
}) {
|
|
62
63
|
process.env.IS_VXRN_CLI = 'true'
|
|
63
64
|
|
|
@@ -87,6 +88,7 @@ export async function build(args: {
|
|
|
87
88
|
|
|
88
89
|
const vxrnOutput = await vxrnBuild(
|
|
89
90
|
{
|
|
91
|
+
skipEnv: args.skipEnv ?? oneOptions.skipEnv,
|
|
90
92
|
server: oneOptions.server,
|
|
91
93
|
build: {
|
|
92
94
|
analyze: true,
|
|
@@ -903,10 +905,8 @@ export async function build(args: {
|
|
|
903
905
|
if (route.file) {
|
|
904
906
|
// API files are built to dist/api/
|
|
905
907
|
// route.page is like "/api/hello", files are at "dist/api/api/hello.js"
|
|
906
|
-
// rolldown
|
|
907
|
-
const apiFileName =
|
|
908
|
-
? route.page.slice(1)
|
|
909
|
-
: route.page.slice(1).replace(/\[/g, '_').replace(/\]/g, '_')
|
|
908
|
+
// both vite and rolldown-vite replace brackets with underscores in output filenames
|
|
909
|
+
const apiFileName = route.page.slice(1).replace(/\[/g, '_').replace(/\]/g, '_')
|
|
910
910
|
const importPath = `./api/${apiFileName}.js`
|
|
911
911
|
apiRouteMap.push(` '${route.page}': () => import('${importPath}')`)
|
|
912
912
|
}
|
package/src/cli.ts
CHANGED
|
@@ -118,6 +118,11 @@ const buildCommand = defineCommand({
|
|
|
118
118
|
default: 'web',
|
|
119
119
|
required: false,
|
|
120
120
|
},
|
|
121
|
+
'skip-env': {
|
|
122
|
+
type: 'boolean',
|
|
123
|
+
description: `Skip loading .env files during build`,
|
|
124
|
+
required: false,
|
|
125
|
+
},
|
|
121
126
|
},
|
|
122
127
|
async run({ args }) {
|
|
123
128
|
const { build } = await import('./cli/build')
|
|
@@ -138,6 +143,7 @@ const buildCommand = defineCommand({
|
|
|
138
143
|
only: args.only,
|
|
139
144
|
platform,
|
|
140
145
|
step: args.step,
|
|
146
|
+
skipEnv: args['skip-env'],
|
|
141
147
|
})
|
|
142
148
|
// TODO somewhere just before 1787f241b79 this stopped exiting, must have some hanging task
|
|
143
149
|
process.exit(0)
|
package/src/server/oneServe.ts
CHANGED
|
@@ -79,9 +79,6 @@ export async function oneServe(
|
|
|
79
79
|
|
|
80
80
|
const apiCJS = oneOptions.build?.api?.outputFormat === 'cjs'
|
|
81
81
|
|
|
82
|
-
// useRolldown is determined at build time and stored in buildInfo
|
|
83
|
-
const useRolldown = buildInfo.useRolldown ?? false
|
|
84
|
-
|
|
85
82
|
// Lazy load server entry only when needed for SSR
|
|
86
83
|
let render: ((props: RenderAppProps) => any) | null = null
|
|
87
84
|
async function getRender() {
|
|
@@ -106,9 +103,8 @@ export async function oneServe(
|
|
|
106
103
|
if (options?.lazyRoutes?.api?.[route.page]) {
|
|
107
104
|
return await options.lazyRoutes.api[route.page]()
|
|
108
105
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
: route.page.slice(1).replace(/\[/g, '_').replace(/\]/g, '_')
|
|
106
|
+
// both vite and rolldown-vite replace brackets with underscores in output filenames
|
|
107
|
+
const fileName = route.page.slice(1).replace(/\[/g, '_').replace(/\]/g, '_')
|
|
112
108
|
const apiFile = join(
|
|
113
109
|
process.cwd(),
|
|
114
110
|
'dist',
|
package/src/vite/one.ts
CHANGED
|
@@ -166,11 +166,15 @@ export function one(options: One.PluginOptions = {}): PluginOption {
|
|
|
166
166
|
{
|
|
167
167
|
name: 'one-define-client-env',
|
|
168
168
|
async config(userConfig) {
|
|
169
|
-
const
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
169
|
+
const clientEnvDefine = options.skipEnv
|
|
170
|
+
? {}
|
|
171
|
+
: (
|
|
172
|
+
await loadEnv(
|
|
173
|
+
vxrnOptions?.mode ?? userConfig?.mode ?? 'development',
|
|
174
|
+
process.cwd(),
|
|
175
|
+
userConfig?.envPrefix
|
|
176
|
+
)
|
|
177
|
+
).clientEnvDefine
|
|
174
178
|
return {
|
|
175
179
|
define: {
|
|
176
180
|
...clientEnvDefine,
|