@legendapp/create-spark 0.0.1-next.7 → 0.0.1-next.8
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/index.js +24 -9
- package/dist/release.json +18 -18
- package/package.json +3 -2
- package/templates/blank-typescript/app.json +5 -1
- package/templates/blank-typescript/gitignore +2 -1
- package/templates/blank-typescript/package.json +7 -7
- package/templates/universal/app.json +5 -1
- package/templates/universal/gitignore +2 -1
- package/templates/universal/package.json +8 -8
- package/templates/windows/app.json +5 -1
- package/templates/windows/gitignore +2 -1
- package/templates/windows/package.json +8 -8
package/dist/index.js
CHANGED
|
@@ -89,11 +89,13 @@ var require_validation = __commonJS((exports, module) => {
|
|
|
89
89
|
}
|
|
90
90
|
function validateOwned(value) {
|
|
91
91
|
if (value.macos !== undefined) {
|
|
92
|
-
object(value.macos, "macos", ["bundleIdentifier", "buildNumber", "entitlements", "infoPlist", "lifecycle"]);
|
|
92
|
+
object(value.macos, "macos", ["bundleIdentifier", "buildNumber", "entitlements", "infoPlist", "testDriverInRelease", "lifecycle"]);
|
|
93
93
|
if (typeof value.macos.bundleIdentifier !== "string" || !/^[A-Za-z0-9-]+(?:\.[A-Za-z0-9-]+)+$/.test(value.macos.bundleIdentifier))
|
|
94
94
|
throw new Error("macos.bundleIdentifier must be a reverse-DNS identifier");
|
|
95
95
|
if (value.macos.buildNumber !== undefined && typeof value.macos.buildNumber !== "string")
|
|
96
96
|
throw new Error("macos.buildNumber must be a string");
|
|
97
|
+
if (value.macos.testDriverInRelease !== undefined && typeof value.macos.testDriverInRelease !== "boolean")
|
|
98
|
+
throw new Error("macos.testDriverInRelease must be a boolean");
|
|
97
99
|
for (const key of ["entitlements", "infoPlist"])
|
|
98
100
|
if (value.macos[key] !== undefined)
|
|
99
101
|
object(value.macos[key], `macos.${key}`);
|
|
@@ -223,7 +225,7 @@ var require_updates = __commonJS((exports, module) => {
|
|
|
223
225
|
if (!updates || typeof updates !== "object" || Array.isArray(updates))
|
|
224
226
|
throw new Error("extra.spark.updates must be an object");
|
|
225
227
|
for (const key of Object.keys(updates))
|
|
226
|
-
if (!["feedURL", "publicKey"].includes(key))
|
|
228
|
+
if (!["feedURL", "publicKey", "maximumDeltas"].includes(key))
|
|
227
229
|
throw new Error(`Unknown updates field: ${key}`);
|
|
228
230
|
let url;
|
|
229
231
|
try {
|
|
@@ -235,7 +237,10 @@ var require_updates = __commonJS((exports, module) => {
|
|
|
235
237
|
throw new Error("Update feedURL must be an HTTPS .xml URL without credentials, query or fragment");
|
|
236
238
|
if (typeof updates.publicKey !== "string" || !/^[A-Za-z0-9+/]{43}=$/.test(updates.publicKey) || Buffer.from(updates.publicKey, "base64").length !== 32)
|
|
237
239
|
throw new Error("Updates need a base64 Ed25519 publicKey; run spark updates init <feedURL>");
|
|
238
|
-
|
|
240
|
+
const { maximumDeltas } = updates;
|
|
241
|
+
if (maximumDeltas !== undefined && (!Number.isInteger(maximumDeltas) || maximumDeltas < 0 || maximumDeltas > 10))
|
|
242
|
+
throw new Error("Updates maximumDeltas must be an integer from 0 to 10");
|
|
243
|
+
return { feedURL: url.href, publicKey: updates.publicKey, ...maximumDeltas === undefined ? {} : { maximumDeltas } };
|
|
239
244
|
}
|
|
240
245
|
function updatePlist(expo) {
|
|
241
246
|
const updates = updateConfiguration(expo);
|
|
@@ -2478,7 +2483,7 @@ var require_config = __commonJS((exports, module) => {
|
|
|
2478
2483
|
version: value.version,
|
|
2479
2484
|
platforms: [selected],
|
|
2480
2485
|
newArchEnabled: true,
|
|
2481
|
-
...value.macos ? { macos: { ...value.macos, infoPlist: { CFBundleName: value.name, ...value.macos.infoPlist } } } : {},
|
|
2486
|
+
...value.macos ? { macos: { ...value.macos, version: value.version, buildNumber: value.macos.buildNumber ?? backend.ios?.buildNumber ?? "1", infoPlist: { CFBundleName: value.name, ...value.macos.infoPlist } } } : {},
|
|
2482
2487
|
...value.scheme !== undefined ? { scheme: value.scheme } : {},
|
|
2483
2488
|
extra: { ...backend.extra, spark: { ...extra, ...platforms.length > 1 ? { supportedPlatforms: platforms } : {} } },
|
|
2484
2489
|
experiments: { ...backend.experiments, outOfTreePlatforms: true },
|
|
@@ -2578,8 +2583,9 @@ var require_init_template = __commonJS((exports, module) => {
|
|
|
2578
2583
|
config.name = expo.name;
|
|
2579
2584
|
config.projectId = expo.windows.projectGuid;
|
|
2580
2585
|
config.expo = { ...expo, ...config.expo };
|
|
2586
|
+
const { version, ...macos } = expo.macos;
|
|
2581
2587
|
if (config.macos)
|
|
2582
|
-
config.macos = { ...
|
|
2588
|
+
config.macos = { ...macos, ...config.macos, bundleIdentifier: macos.bundleIdentifier };
|
|
2583
2589
|
toExpo(config);
|
|
2584
2590
|
fs.writeFileSync(file, JSON.stringify(config, null, 2) + `
|
|
2585
2591
|
`);
|
|
@@ -174418,7 +174424,7 @@ var import_spark_window_options = __toESM(require_window_options(), 1);
|
|
|
174418
174424
|
var import_native_patches = __toESM(require_native_patches(), 1);
|
|
174419
174425
|
var import_config3 = __toESM(require_config(), 1);
|
|
174420
174426
|
import { createHash as createHash2 } from "node:crypto";
|
|
174421
|
-
var VERSION2 = "0.0.1-next.
|
|
174427
|
+
var VERSION2 = "0.0.1-next.8";
|
|
174422
174428
|
function digest(value) {
|
|
174423
174429
|
return createHash2("sha256").update(value).digest("hex");
|
|
174424
174430
|
}
|
|
@@ -174562,12 +174568,13 @@ async function configureExample(root, example) {
|
|
|
174562
174568
|
}
|
|
174563
174569
|
|
|
174564
174570
|
// packages/cli/src/create.ts
|
|
174565
|
-
import { cpSync as cpSync2, existsSync as existsSync7, readFileSync as readFileSync6, writeFileSync as writeFileSync5, mkdtempSync as mkdtempSync2, rmSync as rmSync3 } from "node:fs";
|
|
174571
|
+
import { appendFileSync as appendFileSync2, cpSync as cpSync2, existsSync as existsSync7, readFileSync as readFileSync6, writeFileSync as writeFileSync5, mkdtempSync as mkdtempSync2, rmSync as rmSync3 } from "node:fs";
|
|
174566
174572
|
import path12 from "node:path";
|
|
174567
174573
|
import os3 from "node:os";
|
|
174568
174574
|
import { createInterface } from "node:readline";
|
|
174569
174575
|
import { Readable as Readable2 } from "node:stream";
|
|
174570
174576
|
var template = path12.resolve(import.meta.dirname, "../templates/blank-typescript");
|
|
174577
|
+
var pnpWriteFile = `--import=data:text/javascript,${encodeURIComponent("import fs from 'node:fs'; const write = fs.promises.writeFile; fs.promises.writeFile = async (file, data, options) => write(file, data?.[Symbol.asyncIterator] ? Buffer.concat(await Array.fromAsync(data)) : data, options);")}`;
|
|
174571
174578
|
async function create(root, archiveManifest, platform = hostPlatform(), universal = false, example, selectedManager) {
|
|
174572
174579
|
if (!(universal || example) && !["macos", "windows"].includes(platform))
|
|
174573
174580
|
throw new Error("Use create --universal for mobile/web targets");
|
|
@@ -174606,6 +174613,7 @@ async function create(root, archiveManifest, platform = hostPlatform(), universa
|
|
|
174606
174613
|
verifyMaterializedReleasePackages(release, temporary);
|
|
174607
174614
|
const name = path12.basename(root);
|
|
174608
174615
|
const npmBin = path12.join(import.meta.dirname, "npm-bin");
|
|
174616
|
+
const pnp = !!process.versions.pnp;
|
|
174609
174617
|
const child = spawnProcess(nodeCommand(path12.resolve(import.meta.dirname, ".."), "expo-desktop", "expo-desktop", [
|
|
174610
174618
|
"create-app",
|
|
174611
174619
|
root,
|
|
@@ -174616,8 +174624,9 @@ async function create(root, archiveManifest, platform = hostPlatform(), universa
|
|
|
174616
174624
|
"--display-name",
|
|
174617
174625
|
name,
|
|
174618
174626
|
"--rdns",
|
|
174619
|
-
`so.legend.spark.prototype.${name.toLowerCase()}
|
|
174620
|
-
|
|
174627
|
+
`so.legend.spark.prototype.${name.toLowerCase()}`,
|
|
174628
|
+
...pnp ? ["--no-install"] : []
|
|
174629
|
+
]), { cwd: process.cwd(), env: { ...process.env, PATH: `${npmBin}${path12.delimiter}${process.env.PATH ?? ""}`, npm_config_user_agent: `${manager}/spark`, CI: "1", ...pnp ? { NODE_OPTIONS: `${process.env.NODE_OPTIONS ?? ""} ${pnpWriteFile}` } : {}, ...manager === "yarn" ? { YARN_ENABLE_IMMUTABLE_INSTALLS: "false" } : {} }, stdout: "pipe", stderr: "inherit" });
|
|
174621
174630
|
let projectReady = false;
|
|
174622
174631
|
for await (const line of createInterface({ input: Readable2.from(child.stdout), crlfDelay: Infinity })) {
|
|
174623
174632
|
if (line.includes("✅ Your project is created!"))
|
|
@@ -174628,6 +174637,12 @@ async function create(root, archiveManifest, platform = hostPlatform(), universa
|
|
|
174628
174637
|
}
|
|
174629
174638
|
if (await child.exited)
|
|
174630
174639
|
throw new Error("Expo Desktop could not create the app. See its output above.");
|
|
174640
|
+
if (pnp) {
|
|
174641
|
+
process.env.NODE_OPTIONS = process.env.NODE_OPTIONS?.replace(/--(?:require|experimental-loader)[ =]("[^"]*\.pnp\.[^"]*"|\S*\.pnp\.\S*)/g, "") ?? "";
|
|
174642
|
+
if (manager === "yarn")
|
|
174643
|
+
appendFileSync2(path12.join(root, "yarn.lock"), "");
|
|
174644
|
+
await run(root, managerCommand(manager, ["install"]));
|
|
174645
|
+
}
|
|
174631
174646
|
} finally {
|
|
174632
174647
|
rmSync3(temporary, { recursive: true, force: true });
|
|
174633
174648
|
}
|
package/dist/release.json
CHANGED
|
@@ -1,42 +1,42 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": 1,
|
|
3
|
-
"version": "0.0.1-next.
|
|
4
|
-
"revision": "
|
|
3
|
+
"version": "0.0.1-next.8",
|
|
4
|
+
"revision": "8d40fdcbb527da31394b960fdd6c4e0fe621e58a",
|
|
5
5
|
"packages": {
|
|
6
6
|
"@react-native-runtimes/core": {
|
|
7
|
-
"url": "https://github.com/LegendApp/legend-spark/releases/download/v0.0.1-next.
|
|
8
|
-
"size":
|
|
9
|
-
"sha256": "
|
|
7
|
+
"url": "https://github.com/LegendApp/legend-spark/releases/download/v0.0.1-next.8/runtimes-4df45cb5ea74.tgz",
|
|
8
|
+
"size": 54050,
|
|
9
|
+
"sha256": "3a04e0455ac44b0bc11cfa315943ad84509c445111a2b3974ca85c8ed489827c"
|
|
10
10
|
},
|
|
11
11
|
"react-native-nitro-modules": {
|
|
12
|
-
"url": "https://github.com/LegendApp/legend-spark/releases/download/v0.0.1-next.
|
|
12
|
+
"url": "https://github.com/LegendApp/legend-spark/releases/download/v0.0.1-next.8/react-native-nitro-modules-0.37.0-5df8774796c4.tgz",
|
|
13
13
|
"size": 145600,
|
|
14
|
-
"sha256": "
|
|
14
|
+
"sha256": "5df8774796c48ed54d238f3fada01b64d710b14077983c37f639607eb805e066"
|
|
15
15
|
},
|
|
16
16
|
"@op-engineering/op-sqlite": {
|
|
17
|
-
"url": "https://github.com/LegendApp/legend-spark/releases/download/v0.0.1-next.
|
|
18
|
-
"size":
|
|
19
|
-
"sha256": "
|
|
17
|
+
"url": "https://github.com/LegendApp/legend-spark/releases/download/v0.0.1-next.8/op-engineering-op-sqlite-18.2.1-a14b99ecf491.tgz",
|
|
18
|
+
"size": 5847607,
|
|
19
|
+
"sha256": "a14b99ecf4911b55f586b2c5d1f58ac48b0a9d8fe4b84fa6edef1a167630646b"
|
|
20
20
|
},
|
|
21
21
|
"react-native-webview": {
|
|
22
|
-
"url": "https://github.com/LegendApp/legend-spark/releases/download/v0.0.1-next.
|
|
23
|
-
"size":
|
|
24
|
-
"sha256": "
|
|
22
|
+
"url": "https://github.com/LegendApp/legend-spark/releases/download/v0.0.1-next.8/react-native-webview-16.0.0-333e421ad38b.tgz",
|
|
23
|
+
"size": 116285,
|
|
24
|
+
"sha256": "333e421ad38b0da2b1dc7b3306de019f257e31bfd6cdb0272d97b1bb2b129354"
|
|
25
25
|
},
|
|
26
26
|
"expo-audio": {
|
|
27
|
-
"url": "https://github.com/LegendApp/legend-spark/releases/download/v0.0.1-next.
|
|
27
|
+
"url": "https://github.com/LegendApp/legend-spark/releases/download/v0.0.1-next.8/expo-audio-1.1.1-aff5604f2c4c.tgz",
|
|
28
28
|
"size": 381841,
|
|
29
29
|
"sha256": "aff5604f2c4cab23299a71e37e802a572b2e66e2e2250b20a261e664d5346693"
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
32
|
"runners": {
|
|
33
33
|
"macos-arm64": {
|
|
34
|
-
"url": "https://github.com/LegendApp/legend-spark/releases/download/v0.0.1-next.
|
|
35
|
-
"size":
|
|
36
|
-
"sha256": "
|
|
34
|
+
"url": "https://github.com/LegendApp/legend-spark/releases/download/v0.0.1-next.8/spark-runner-macos-arm64.zip",
|
|
35
|
+
"size": 20579687,
|
|
36
|
+
"sha256": "f1137d1d8922cdad365a7530f5f5121f57a140d5a81756c31b4f3028215c76e5",
|
|
37
37
|
"app": "SparkRunner.app",
|
|
38
38
|
"teamId": "56DD97VT22",
|
|
39
|
-
"fingerprint": "
|
|
39
|
+
"fingerprint": "2b1a4b243b0032e57eb0d0255005663ba99ff74a2045e7093a197249813f59f9"
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
}
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@legendapp/create-spark",
|
|
3
|
-
"version": "0.0.1-next.
|
|
3
|
+
"version": "0.0.1-next.8",
|
|
4
4
|
"description": "Create a Legend Spark app",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
8
8
|
"create-spark": "dist/index.js"
|
|
9
9
|
},
|
|
10
|
+
"preferUnplugged": true,
|
|
10
11
|
"files": [
|
|
11
12
|
"dist",
|
|
12
13
|
"templates"
|
|
@@ -25,7 +26,7 @@
|
|
|
25
26
|
},
|
|
26
27
|
"dependencies": {
|
|
27
28
|
"cross-spawn": "7.0.6",
|
|
28
|
-
"expo-desktop": "1.0.
|
|
29
|
+
"expo-desktop": "1.0.6",
|
|
29
30
|
"npm": "11.21.1",
|
|
30
31
|
"yaml": "2.9.1"
|
|
31
32
|
}
|
|
@@ -13,13 +13,13 @@
|
|
|
13
13
|
"postinstall": "node node_modules/@legendapp/spark/init-template.cjs"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@legendapp/spark": "0.0.1-next.
|
|
16
|
+
"@legendapp/spark": "0.0.1-next.8",
|
|
17
17
|
"expo": "54.0.37",
|
|
18
|
-
"expo-desktop": "1.0.
|
|
19
|
-
"expo-desktop-prebuild-config": "1.1.
|
|
20
|
-
"expo-desktop-config-plugins": "1.2
|
|
21
|
-
"expo-desktop-metro-config": "54.81.
|
|
22
|
-
"expo-desktop-template-bare-minimum": "54.81.
|
|
18
|
+
"expo-desktop": "1.0.6",
|
|
19
|
+
"expo-desktop-prebuild-config": "1.1.3",
|
|
20
|
+
"expo-desktop-config-plugins": "1.3.2",
|
|
21
|
+
"expo-desktop-metro-config": "54.81.3",
|
|
22
|
+
"expo-desktop-template-bare-minimum": "54.81.6",
|
|
23
23
|
"react": "19.1.4",
|
|
24
24
|
"react-dom": "19.1.4",
|
|
25
25
|
"react-native": "0.81.6",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"expo-keep-awake": "15.0.8",
|
|
42
42
|
"expo-modules-core": "3.0.30",
|
|
43
43
|
"expo-desktop-modules-core": "54.0.14",
|
|
44
|
-
"expo-desktop-stubs": "54.0.
|
|
44
|
+
"expo-desktop-stubs": "54.0.15",
|
|
45
45
|
"react": "19.1.4",
|
|
46
46
|
"react-native": "0.81.6",
|
|
47
47
|
"react-native-macos": "0.81.7",
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"expo": "54.0.37",
|
|
21
|
-
"expo-desktop": "1.0.
|
|
22
|
-
"expo-desktop-prebuild-config": "1.1.
|
|
23
|
-
"expo-desktop-config-plugins": "1.2
|
|
24
|
-
"expo-desktop-metro-config": "54.81.
|
|
25
|
-
"expo-desktop-template-bare-minimum": "54.81.
|
|
21
|
+
"expo-desktop": "1.0.6",
|
|
22
|
+
"expo-desktop-prebuild-config": "1.1.3",
|
|
23
|
+
"expo-desktop-config-plugins": "1.3.2",
|
|
24
|
+
"expo-desktop-metro-config": "54.81.3",
|
|
25
|
+
"expo-desktop-template-bare-minimum": "54.81.6",
|
|
26
26
|
"react": "19.1.4",
|
|
27
27
|
"react-native": "0.81.6",
|
|
28
28
|
"react-native-macos": "0.81.7",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@types/react": "19.1.10",
|
|
32
32
|
"react-native-windows": "0.81.35",
|
|
33
33
|
"expo-desktop-modules-core": "54.0.14",
|
|
34
|
-
"expo-desktop-stubs": "54.0.
|
|
34
|
+
"expo-desktop-stubs": "54.0.15",
|
|
35
35
|
"@expo/ui": "0.2.0-beta.9",
|
|
36
36
|
"expo-dev-client": "6.0.21",
|
|
37
37
|
"expo-clipboard": "8.0.8",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"react-native-web": "0.21.0",
|
|
42
42
|
"uniwind": "1.6.3",
|
|
43
43
|
"tailwindcss": "4.2.4",
|
|
44
|
-
"@legendapp/spark": "0.0.1-next.
|
|
44
|
+
"@legendapp/spark": "0.0.1-next.8"
|
|
45
45
|
},
|
|
46
46
|
"overrides": {
|
|
47
47
|
"@expo/cli": "54.0.27",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"expo-keep-awake": "15.0.8",
|
|
56
56
|
"expo-modules-core": "3.0.30",
|
|
57
57
|
"expo-desktop-modules-core": "54.0.14",
|
|
58
|
-
"expo-desktop-stubs": "54.0.
|
|
58
|
+
"expo-desktop-stubs": "54.0.15",
|
|
59
59
|
"react": "19.1.4",
|
|
60
60
|
"react-native": "0.81.6",
|
|
61
61
|
"react-native-macos": "0.81.7",
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"expo": "54.0.37",
|
|
17
|
-
"expo-desktop": "1.0.
|
|
18
|
-
"expo-desktop-prebuild-config": "1.1.
|
|
19
|
-
"expo-desktop-config-plugins": "1.2
|
|
20
|
-
"expo-desktop-metro-config": "54.81.
|
|
21
|
-
"expo-desktop-template-bare-minimum": "54.81.
|
|
17
|
+
"expo-desktop": "1.0.6",
|
|
18
|
+
"expo-desktop-prebuild-config": "1.1.3",
|
|
19
|
+
"expo-desktop-config-plugins": "1.3.2",
|
|
20
|
+
"expo-desktop-metro-config": "54.81.3",
|
|
21
|
+
"expo-desktop-template-bare-minimum": "54.81.6",
|
|
22
22
|
"react": "19.1.4",
|
|
23
23
|
"react-dom": "19.1.4",
|
|
24
24
|
"react-native": "0.81.6",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"@types/react": "19.1.10",
|
|
28
28
|
"react-native-windows": "0.81.35",
|
|
29
29
|
"expo-desktop-modules-core": "54.0.14",
|
|
30
|
-
"expo-desktop-stubs": "54.0.
|
|
31
|
-
"@legendapp/spark": "0.0.1-next.
|
|
30
|
+
"expo-desktop-stubs": "54.0.15",
|
|
31
|
+
"@legendapp/spark": "0.0.1-next.8"
|
|
32
32
|
},
|
|
33
33
|
"overrides": {
|
|
34
34
|
"@expo/cli": "54.0.27",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"expo-keep-awake": "15.0.8",
|
|
43
43
|
"expo-modules-core": "3.0.30",
|
|
44
44
|
"expo-desktop-modules-core": "54.0.14",
|
|
45
|
-
"expo-desktop-stubs": "54.0.
|
|
45
|
+
"expo-desktop-stubs": "54.0.15",
|
|
46
46
|
"react": "19.1.4",
|
|
47
47
|
"react-native": "0.81.6",
|
|
48
48
|
"react-native-macos": "0.81.7",
|