one 1.2.31 → 1.2.34

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.
Files changed (50) hide show
  1. package/dist/cjs/cli/dev.cjs +6 -0
  2. package/dist/cjs/cli/dev.js +6 -0
  3. package/dist/cjs/cli/dev.js.map +1 -1
  4. package/dist/cjs/cli/dev.native.js +6 -0
  5. package/dist/cjs/cli/dev.native.js.map +1 -1
  6. package/dist/cjs/cli.cjs +29 -10
  7. package/dist/cjs/cli.js +27 -10
  8. package/dist/cjs/cli.js.map +1 -1
  9. package/dist/cjs/cli.native.js +29 -10
  10. package/dist/cjs/cli.native.js.map +1 -1
  11. package/dist/cjs/vite/customNodeExternals.cjs +2 -4
  12. package/dist/cjs/vite/customNodeExternals.js +2 -2
  13. package/dist/cjs/vite/customNodeExternals.js.map +1 -1
  14. package/dist/cjs/vite/customNodeExternals.native.js +2 -5
  15. package/dist/cjs/vite/customNodeExternals.native.js.map +1 -1
  16. package/dist/cjs/vite/plugins/resolveIdScan.test.cjs +47 -0
  17. package/dist/cjs/vite/plugins/resolveIdScan.test.js +42 -0
  18. package/dist/cjs/vite/plugins/resolveIdScan.test.js.map +6 -0
  19. package/dist/cjs/vite/plugins/resolveIdScan.test.native.js +58 -0
  20. package/dist/cjs/vite/plugins/resolveIdScan.test.native.js.map +1 -0
  21. package/dist/esm/cli/dev.js +6 -0
  22. package/dist/esm/cli/dev.js.map +1 -1
  23. package/dist/esm/cli/dev.mjs +6 -0
  24. package/dist/esm/cli/dev.mjs.map +1 -1
  25. package/dist/esm/cli/dev.native.js +6 -0
  26. package/dist/esm/cli/dev.native.js.map +1 -1
  27. package/dist/esm/cli.js +27 -10
  28. package/dist/esm/cli.js.map +1 -1
  29. package/dist/esm/cli.mjs +29 -10
  30. package/dist/esm/cli.mjs.map +1 -1
  31. package/dist/esm/cli.native.js +29 -10
  32. package/dist/esm/cli.native.js.map +1 -1
  33. package/dist/esm/vite/customNodeExternals.js +2 -2
  34. package/dist/esm/vite/customNodeExternals.js.map +1 -1
  35. package/dist/esm/vite/customNodeExternals.mjs +2 -4
  36. package/dist/esm/vite/customNodeExternals.mjs.map +1 -1
  37. package/dist/esm/vite/customNodeExternals.native.js +2 -5
  38. package/dist/esm/vite/customNodeExternals.native.js.map +1 -1
  39. package/dist/esm/vite/plugins/resolveIdScan.test.js +23 -0
  40. package/dist/esm/vite/plugins/resolveIdScan.test.js.map +6 -0
  41. package/dist/esm/vite/plugins/resolveIdScan.test.mjs +26 -0
  42. package/dist/esm/vite/plugins/resolveIdScan.test.mjs.map +1 -0
  43. package/dist/esm/vite/plugins/resolveIdScan.test.native.js +34 -0
  44. package/dist/esm/vite/plugins/resolveIdScan.test.native.js.map +1 -0
  45. package/package.json +10 -10
  46. package/src/cli/dev.ts +8 -0
  47. package/src/cli.ts +27 -7
  48. package/src/vite/customNodeExternals.ts +7 -2
  49. package/types/cli/dev.d.ts.map +1 -1
  50. package/types/vite/customNodeExternals.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["isBuiltin","path","nodeExternals","name","enforce","resolveId","order","handler","specifier","importer","param","isEntry","test","isAbsolute","stripped","replace","id","external","moduleSideEffects"],"sources":["../../../src/vite/customNodeExternals.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,SAAA,QAAiB;AAC1B,OAAOC,IAAA,MAAU;AAGV,SAASC,cAAA,EAAwB;EACtC,OAAO;IACLC,IAAA,EAAM;IACNC,OAAA,EAAS;IAETC,SAAA,EAAW;MACTC,KAAA,EAAO;MACP,MAAMC,QAAQC,SAAA,EAAWC,QAAA,EAAUC,KAAE;QACnC,IACE;UAAAC;QAAA,IAAAD,KAAA;QACA,IAAAC,OAAA;QAAA;QACA,mBAAgB,CAAAC,IAAA,CAASJ,SAAA;QAAA;QAEzBP,IAAA,CAAAY,UAAO,CAAAL,SAAA,GAET,OAAI;QACF,IAAAR,SAAM,CAAAQ,SAAW;UACjB,IAAAM,QAAO,GAAAN,SAAA,CAAAO,OAAA;UAAA,OACA;YACLC,EAAA,EAAAhB,SAAU,CAAAc,QAAA,IAAAA,QAAA,aAAAA,QAAA;YACVG,QAAA;YACFC,iBAAA;UACF;QACF;MACF;IACF;EACF","ignoreList":[]}
1
+ {"version":3,"names":["isBuiltin","path","nodeExternals","name","enforce","resolveId","order","handler","specifier","importer","options","scan","isEntry","test","isAbsolute","stripped","replace","id","external","moduleSideEffects"],"sources":["../../../src/vite/customNodeExternals.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,SAAA,QAAiB;AAC1B,OAAOC,IAAA,MAAU;AAGV,SAASC,cAAA,EAAwB;EACtC,OAAO;IACLC,IAAA,EAAM;IACNC,OAAA,EAAS;IAETC,SAAA,EAAW;MACTC,KAAA,EAAO;MACP,MAAMC,QAAQC,SAAA,EAAWC,QAAA,EAAUC,OAAA,EAAS;QAM1C,IAFIA,OAAA,EAASC,IAAA,IAGXD,OAAA,EAASE,OAAA;QAAA;QACT,oBAAoBC,IAAA,CAAKL,SAAS;QAAA;QAClCP,IAAA,CAAKa,UAAA,CAAWN,SAAS,GAEzB,OAAO;QAET,IAAIR,SAAA,CAAUQ,SAAS,GAAG;UACxB,IAAAO,QAAM,GAAAP,SAAW,CAAAQ,OAAU,SAAQ,IAAU;UAC7C,OAAO;YACLC,EAAA,EAAKjB,SAAA,CAAUe,QAAQ,IAAyBA,QAAA,GAArB,UAAUA,QAAA;YACrCG,QAAA,EAAU;YACVC,iBAAA,EAAmB;UACrB;QACF;MACF;IACF;EACF;AACF","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ describe("resolveId hooks should skip during dep optimization scan", () => {
3
+ describe("platform-specific-resolve", () => {
4
+ it("should return undefined when options.scan is true", async () => {
5
+ const { getBaseVitePlugins } = await import("../config/getBaseVitePlugins"), plugin = getBaseVitePlugins().find(
6
+ (p) => typeof p == "object" && p !== null && "name" in p && p.name === "platform-specific-resolve"
7
+ );
8
+ if (expect(plugin).toBeDefined(), !plugin || typeof plugin != "object" || !("resolveId" in plugin))
9
+ throw new Error("Plugin not found or missing resolveId");
10
+ const resolveId = plugin.resolveId, mockContext = {
11
+ resolve: vi.fn().mockResolvedValue({ id: "/some/path/file.ts" }),
12
+ environment: { name: "client" }
13
+ }, result = await resolveId.call(
14
+ mockContext,
15
+ "some-module",
16
+ "/importer.ts",
17
+ { scan: !0 }
18
+ );
19
+ expect(result).toBeUndefined(), expect(mockContext.resolve).not.toHaveBeenCalled();
20
+ });
21
+ });
22
+ });
23
+ //# sourceMappingURL=resolveIdScan.test.js.map
@@ -0,0 +1,6 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/vite/plugins/resolveIdScan.test.ts"],
4
+ "mappings": "AAAA,SAAS,UAAU,QAAQ,IAAI,UAAU;AAazC,SAAS,4DAA4D,MAAM;AACzE,WAAS,6BAA6B,MAAM;AAC1C,OAAG,qDAAqD,YAAY;AAElE,YAAM,EAAE,mBAAmB,IAAI,MAAM,OAAO,8BAA8B,GAIpE,SAHU,mBAAmB,EAGZ;AAAA,QACrB,CAAC,MAAM,OAAO,KAAM,YAAY,MAAM,QAAQ,UAAU,KAAK,EAAE,SAAS;AAAA,MAC1E;AAGA,UADA,OAAO,MAAM,EAAE,YAAY,GACvB,CAAC,UAAU,OAAO,UAAW,YAAY,EAAE,eAAe;AAC5D,cAAM,IAAI,MAAM,uCAAuC;AAGzD,YAAM,YAAY,OAAO,WAGnB,cAAc;AAAA,QAClB,SAAS,GAAG,GAAG,EAAE,kBAAkB,EAAE,IAAI,qBAAqB,CAAC;AAAA,QAC/D,aAAa,EAAE,MAAM,SAAS;AAAA,MAChC,GAGM,SAAS,MAAM,UAAU;AAAA,QAC7B;AAAA,QACA;AAAA,QACA;AAAA,QACA,EAAE,MAAM,GAAK;AAAA,MACf;AAEA,aAAO,MAAM,EAAE,cAAc,GAE7B,OAAO,YAAY,OAAO,EAAE,IAAI,iBAAiB;AAAA,IACnD,CAAC;AAAA,EACH,CAAC;AACH,CAAC;",
5
+ "names": []
6
+ }
@@ -0,0 +1,26 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ describe("resolveId hooks should skip during dep optimization scan", () => {
3
+ describe("platform-specific-resolve", () => {
4
+ it("should return undefined when options.scan is true", async () => {
5
+ const {
6
+ getBaseVitePlugins
7
+ } = await import("../config/getBaseVitePlugins"),
8
+ plugin = getBaseVitePlugins().find(p => typeof p == "object" && p !== null && "name" in p && p.name === "platform-specific-resolve");
9
+ if (expect(plugin).toBeDefined(), !plugin || typeof plugin != "object" || !("resolveId" in plugin)) throw new Error("Plugin not found or missing resolveId");
10
+ const resolveId = plugin.resolveId,
11
+ mockContext = {
12
+ resolve: vi.fn().mockResolvedValue({
13
+ id: "/some/path/file.ts"
14
+ }),
15
+ environment: {
16
+ name: "client"
17
+ }
18
+ },
19
+ result = await resolveId.call(mockContext, "some-module", "/importer.ts", {
20
+ scan: !0
21
+ });
22
+ expect(result).toBeUndefined(), expect(mockContext.resolve).not.toHaveBeenCalled();
23
+ });
24
+ });
25
+ });
26
+ //# sourceMappingURL=resolveIdScan.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describe","expect","it","vi","getBaseVitePlugins","plugin","find","p","name","toBeDefined","Error","resolveId","mockContext","resolve","fn","mockResolvedValue","id","environment","result","call","scan","toBeUndefined","not","toHaveBeenCalled"],"sources":["../../../../src/vite/plugins/resolveIdScan.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAazCH,QAAA,CAAS,4DAA4D,MAAM;EACzEA,QAAA,CAAS,6BAA6B,MAAM;IAC1CE,EAAA,CAAG,qDAAqD,YAAY;MAElE,MAAM;UAAEE;QAAmB,IAAI,MAAM,OAAO,8BAA8B;QAIpEC,MAAA,GAHUD,kBAAA,CAAmB,EAGZE,IAAA,CACpBC,CAAA,IAAM,OAAOA,CAAA,IAAM,YAAYA,CAAA,KAAM,QAAQ,UAAUA,CAAA,IAAKA,CAAA,CAAEC,IAAA,KAAS,2BAC1E;MAGA,IADAP,MAAA,CAAOI,MAAM,EAAEI,WAAA,CAAY,GACvB,CAACJ,MAAA,IAAU,OAAOA,MAAA,IAAW,YAAY,EAAE,eAAeA,MAAA,GAC5D,MAAM,IAAIK,KAAA,CAAM,uCAAuC;MAGzD,MAAMC,SAAA,GAAYN,MAAA,CAAOM,SAAA;QAGnBC,WAAA,GAAc;UAClBC,OAAA,EAASV,EAAA,CAAGW,EAAA,CAAG,EAAEC,iBAAA,CAAkB;YAAEC,EAAA,EAAI;UAAqB,CAAC;UAC/DC,WAAA,EAAa;YAAET,IAAA,EAAM;UAAS;QAChC;QAGMU,MAAA,GAAS,MAAMP,SAAA,CAAUQ,IAAA,CAC7BP,WAAA,EACA,eACA,gBACA;UAAEQ,IAAA,EAAM;QAAK,CACf;MAEAnB,MAAA,CAAOiB,MAAM,EAAEG,aAAA,CAAc,GAE7BpB,MAAA,CAAOW,WAAA,CAAYC,OAAO,EAAES,GAAA,CAAIC,gBAAA,CAAiB;IACnD,CAAC;EACH,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ import { describe, expect, it, vi } from "vitest";
2
+ function _type_of(obj) {
3
+ "@swc/helpers - typeof";
4
+
5
+ return obj && typeof Symbol < "u" && obj.constructor === Symbol ? "symbol" : typeof obj;
6
+ }
7
+ describe("resolveId hooks should skip during dep optimization scan", function () {
8
+ describe("platform-specific-resolve", function () {
9
+ it("should return undefined when options.scan is true", async function () {
10
+ var {
11
+ getBaseVitePlugins
12
+ } = await import("../config/getBaseVitePlugins"),
13
+ plugins = getBaseVitePlugins(),
14
+ plugin = plugins.find(function (p) {
15
+ return (typeof p > "u" ? "undefined" : _type_of(p)) === "object" && p !== null && "name" in p && p.name === "platform-specific-resolve";
16
+ });
17
+ if (expect(plugin).toBeDefined(), !plugin || (typeof plugin > "u" ? "undefined" : _type_of(plugin)) !== "object" || !("resolveId" in plugin)) throw new Error("Plugin not found or missing resolveId");
18
+ var resolveId = plugin.resolveId,
19
+ mockContext = {
20
+ resolve: vi.fn().mockResolvedValue({
21
+ id: "/some/path/file.ts"
22
+ }),
23
+ environment: {
24
+ name: "client"
25
+ }
26
+ },
27
+ result = await resolveId.call(mockContext, "some-module", "/importer.ts", {
28
+ scan: !0
29
+ });
30
+ expect(result).toBeUndefined(), expect(mockContext.resolve).not.toHaveBeenCalled();
31
+ });
32
+ });
33
+ });
34
+ //# sourceMappingURL=resolveIdScan.test.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["describe","expect","it","vi","_type_of","obj","Symbol","constructor","getBaseVitePlugins","plugins","plugin","find","p","name","toBeDefined","Error","resolveId","mockContext","resolve","fn","mockResolvedValue","id","environment","result","call","scan"],"sources":["../../../../src/vite/plugins/resolveIdScan.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,QAAA,EAAUC,MAAA,EAAQC,EAAA,EAAIC,EAAA,QAAU;AAazC,SAASC,SAAAC,GAAA;EACP,uBAAS;;EACP,OAAGA,GAAA,WAAAC,MAAA,UAAAD,GAAA,CAAAE,WAAA,KAAAD,MAAqD,WAAY,UAAAD,GAAA;AAElE;AAIuBL,QACrB,CAAC,0DAAuD,EAAK,YAAW;EAAAA,QAC1E;IAGAE,EAAA,oDAAsB,oBAAW;MAC/B;UAAAM;QAAgB,+CAAuC;QAAAC,OAAA,GAAAD,kBAAA;QAAAE,MAAA,GAAAD,OAAA,CAAAE,IAAA,WAAAC,CAAA;UAGzD,OAAM,QAAAA,CAAY,SAAO,WAGnB,GAAAR,QAAA,CAAcQ,CAAA,mBAAAA,CAAA,uBAAAA,CAAA,IAAAA,CAAA,CAAAC,IAAA;QAAA,EAClB;MAA+D,IAC/DZ,MAAA,CAAAS,MAAe,EAAAI,WAAM,EAAS,GAAAJ,MAAA,YAAAA,MAAA,uBAAAN,QAAA,CAAAM,MAAA,oCAAAA,MAAA,GAChC,MAGM,IAASK,KAAA,CAAM,uCAAU;MAAA,IAC7BC,SAAA,GAAAN,MAAA,CAAAM,SAAA;QAAAC,WAAA;UACAC,OAAA,EAAAf,EAAA,CAAAgB,EAAA,GAAAC,iBAAA;YACAC,EAAA;UACA,EAAE;UACJC,WAAA;YAEAT,IAAO;UAGR;QACF;QAAAU,MAAA,SAAAP,SAAA,CAAAQ,IAAA,CAAAP,WAAA;UACFQ,IAAA","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "one",
3
- "version": "1.2.31",
3
+ "version": "1.2.34",
4
4
  "license": "BSD-3-Clause",
5
5
  "sideEffects": [
6
6
  "setup.mjs",
@@ -121,17 +121,17 @@
121
121
  "@react-navigation/routers": "~7.5.1",
122
122
  "@swc/core": "^1.14.0",
123
123
  "@ungap/structured-clone": "^1.2.0",
124
- "@vxrn/color-scheme": "1.2.31",
125
- "@vxrn/compiler": "1.2.31",
126
- "@vxrn/resolve": "1.2.31",
127
- "@vxrn/tslib-lite": "1.2.31",
128
- "@vxrn/use-isomorphic-layout-effect": "1.2.31",
129
- "@vxrn/vite-plugin-metro": "1.2.31",
124
+ "@vxrn/color-scheme": "1.2.34",
125
+ "@vxrn/compiler": "1.2.34",
126
+ "@vxrn/resolve": "1.2.34",
127
+ "@vxrn/tslib-lite": "1.2.34",
128
+ "@vxrn/use-isomorphic-layout-effect": "1.2.34",
129
+ "@vxrn/vite-plugin-metro": "1.2.34",
130
130
  "babel-dead-code-elimination": "^1.0.10",
131
131
  "babel-plugin-module-resolver": "^5.0.2",
132
132
  "citty": "^0.1.6",
133
133
  "core-js": "^3.38.1",
134
- "create-vxrn": "1.2.31",
134
+ "create-vxrn": "1.2.34",
135
135
  "escape-string-regexp": "^5.0.0",
136
136
  "expo-linking": "~8.0.8",
137
137
  "expo-modules-core": "~3.0.24",
@@ -157,7 +157,7 @@
157
157
  "vite": "^7.1.12",
158
158
  "vite-plugin-barrel": "^0.4.1",
159
159
  "vite-tsconfig-paths": "^5.1.4",
160
- "vxrn": "1.2.31",
160
+ "vxrn": "1.2.34",
161
161
  "ws": "^8.18.0",
162
162
  "xxhashjs": "^0.2.2"
163
163
  },
@@ -175,7 +175,7 @@
175
175
  "devDependencies": {
176
176
  "@react-navigation/core": "^7.13.0",
177
177
  "@react-navigation/native": "~7.1.19",
178
- "@tamagui/build": "^1.140.2",
178
+ "@tamagui/build": "^1.140.4",
179
179
  "@types/node": "^24.10.0",
180
180
  "@types/react-dom": "^19.2.2",
181
181
  "@types/xxhashjs": "^0.2.4",
package/src/cli/dev.ts CHANGED
@@ -47,6 +47,14 @@ export async function dev(args: {
47
47
  }
48
48
  })
49
49
 
50
+ process.on('SIGTERM', () => {
51
+ try {
52
+ stop()
53
+ } finally {
54
+ process.exit(0)
55
+ }
56
+ })
57
+
50
58
  process.on('uncaughtException', (err) => {
51
59
  console.error(err?.message || err)
52
60
  })
package/src/cli.ts CHANGED
@@ -20,6 +20,24 @@ function getPackageVersion() {
20
20
 
21
21
  const version = getPackageVersion()
22
22
 
23
+ const DOCS_BASE = 'https://onestack.dev/docs'
24
+
25
+ const docsLinks = {
26
+ dev: `${DOCS_BASE}/one-dev`,
27
+ build: `${DOCS_BASE}/one-build`,
28
+ serve: `${DOCS_BASE}/one-serve`,
29
+ prebuild: `${DOCS_BASE}/guides-ios-native`,
30
+ 'run:ios': `${DOCS_BASE}/guides-ios-native`,
31
+ 'run:android': `${DOCS_BASE}/guides-ios-native`,
32
+ clean: `${DOCS_BASE}/configuration`,
33
+ patch: `${DOCS_BASE}/configuration`,
34
+ 'generate-routes': `${DOCS_BASE}/routing-typed-routes`,
35
+ } as const
36
+
37
+ function withDocsLink(description: string, command: keyof typeof docsLinks): string {
38
+ return `${description}\n\nDocs: ${docsLinks[command]}`
39
+ }
40
+
23
41
  if (path.sep !== '/') {
24
42
  console.warn(
25
43
  colors.bgYellow('WARNING: UNSUPPORTED OS') +
@@ -38,7 +56,7 @@ const dev = defineCommand({
38
56
  meta: {
39
57
  name: 'dev',
40
58
  version: version,
41
- description: 'Start the dev server',
59
+ description: withDocsLink('Start the dev server', 'dev'),
42
60
  },
43
61
  args: {
44
62
  clean: {
@@ -81,7 +99,7 @@ const buildCommand = defineCommand({
81
99
  meta: {
82
100
  name: 'build',
83
101
  version: version,
84
- description: 'Build your app',
102
+ description: withDocsLink('Build your app', 'build'),
85
103
  },
86
104
  args: {
87
105
  step: {
@@ -129,7 +147,7 @@ const serveCommand = defineCommand({
129
147
  meta: {
130
148
  name: 'serve',
131
149
  version: version,
132
- description: 'Serve a built app for production',
150
+ description: withDocsLink('Serve a built app for production', 'serve'),
133
151
  },
134
152
  args: {
135
153
  host: {
@@ -160,7 +178,7 @@ const prebuild = defineCommand({
160
178
  meta: {
161
179
  name: 'prebuild',
162
180
  version: version,
163
- description: 'Prebuild native project',
181
+ description: withDocsLink('Prebuild native project', 'prebuild'),
164
182
  },
165
183
  args: {
166
184
  platform: {
@@ -192,6 +210,7 @@ const runIos = defineCommand({
192
210
  meta: {
193
211
  name: 'run:ios',
194
212
  version: version,
213
+ description: withDocsLink('Run the iOS app', 'run:ios'),
195
214
  },
196
215
  args: {},
197
216
  async run({ args }) {
@@ -204,6 +223,7 @@ const runAndroid = defineCommand({
204
223
  meta: {
205
224
  name: 'run:android',
206
225
  version: version,
226
+ description: withDocsLink('Run the Android app', 'run:android'),
207
227
  },
208
228
  args: {},
209
229
  async run({ args }) {
@@ -216,7 +236,7 @@ const clean = defineCommand({
216
236
  meta: {
217
237
  name: 'clean',
218
238
  version: '0.0.0',
219
- description: 'Clean build folders',
239
+ description: withDocsLink('Clean build folders', 'clean'),
220
240
  },
221
241
  args: {},
222
242
  async run() {
@@ -231,7 +251,7 @@ const patch = defineCommand({
231
251
  meta: {
232
252
  name: 'patch',
233
253
  version: '0.0.0',
234
- description: 'Apply package patches',
254
+ description: withDocsLink('Apply package patches', 'patch'),
235
255
  },
236
256
  args: {},
237
257
  async run({ args }) {
@@ -244,7 +264,7 @@ const generateRoutes = defineCommand({
244
264
  meta: {
245
265
  name: 'generate-routes',
246
266
  version: version,
247
- description: 'Generate route type definitions',
267
+ description: withDocsLink('Generate route type definitions', 'generate-routes'),
248
268
  },
249
269
  args: {
250
270
  appDir: {
@@ -11,9 +11,14 @@ export function nodeExternals(): Plugin {
11
11
 
12
12
  resolveId: {
13
13
  order: 'pre',
14
- async handler(specifier, importer, { isEntry }) {
14
+ async handler(specifier, importer, options) {
15
+ // Skip during Vite's dependency optimization scan
16
+ // @see https://github.com/remix-run/remix/discussions/8917
17
+ // @ts-expect-error - scan is not in Vite's types but exists at runtime
18
+ if (options?.scan) return null
19
+
15
20
  if (
16
- isEntry || // Ignore entry points (they should always be resolved)
21
+ options?.isEntry || // Ignore entry points (they should always be resolved)
17
22
  /^(?:\0|\.{1,2}\/)/.test(specifier) || // Ignore virtual modules and relative imports
18
23
  path.isAbsolute(specifier) // Ignore already resolved ids
19
24
  ) {
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AAKA,wBAAsB,GAAG,CAAC,IAAI,EAAE;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,iBAgDA"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AAKA,wBAAsB,GAAG,CAAC,IAAI,EAAE;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,iBAwDA"}
@@ -1 +1 @@
1
- {"version":3,"file":"customNodeExternals.d.ts","sourceRoot":"","sources":["../../src/vite/customNodeExternals.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,wBAAgB,aAAa,IAAI,MAAM,CA0BtC"}
1
+ {"version":3,"file":"customNodeExternals.d.ts","sourceRoot":"","sources":["../../src/vite/customNodeExternals.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAElC,wBAAgB,aAAa,IAAI,MAAM,CA+BtC"}