@legendapp/create-spark 0.0.0-stage → 0.0.1-next.5

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 (113) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +17 -2
  3. package/dist/index.js +174697 -0
  4. package/dist/npm-bin/npm +6 -0
  5. package/dist/npm-bin/npm.cmd +1 -0
  6. package/package.json +30 -4
  7. package/templates/blank-typescript/.claude/skills/spark/SKILL.md +9 -0
  8. package/templates/blank-typescript/AGENTS.md +4 -0
  9. package/templates/blank-typescript/App.tsx +23 -0
  10. package/templates/blank-typescript/CLAUDE.md +4 -0
  11. package/templates/blank-typescript/README.md +15 -0
  12. package/templates/blank-typescript/app.json +11 -0
  13. package/templates/blank-typescript/assets/icon.png +0 -0
  14. package/templates/blank-typescript/desktop.config.json +21 -0
  15. package/templates/blank-typescript/gitignore +8 -0
  16. package/templates/blank-typescript/index.ts +5 -0
  17. package/templates/blank-typescript/metro.config.js +3 -0
  18. package/templates/blank-typescript/package.json +101 -0
  19. package/templates/blank-typescript/tsconfig.json +10 -0
  20. package/templates/diff-lite/App.tsx +34 -0
  21. package/templates/diff-lite/Git.macos.tsx +13 -0
  22. package/templates/diff-lite/Git.tsx +1 -0
  23. package/templates/diff-lite/compare.ts +12 -0
  24. package/templates/document-editor/App.tsx +34 -0
  25. package/templates/document-editor/Integration.macos.tsx +59 -0
  26. package/templates/document-editor/Integration.tsx +13 -0
  27. package/templates/document-editor/Integration.web.tsx +14 -0
  28. package/templates/document-editor/Integration.windows.tsx +59 -0
  29. package/templates/document-editor/document.ts +58 -0
  30. package/templates/document-editor/io.desktop.ts +27 -0
  31. package/templates/document-editor/io.macos.ts +7 -0
  32. package/templates/document-editor/io.ts +31 -0
  33. package/templates/document-editor/io.web.ts +21 -0
  34. package/templates/document-editor/io.windows.ts +1 -0
  35. package/templates/document-editor/sessions.ts +8 -0
  36. package/templates/document-editor/useDocument.ts +6 -0
  37. package/templates/example-shared/Lifecycle.desktop.tsx +25 -0
  38. package/templates/example-shared/Lifecycle.macos.tsx +1 -0
  39. package/templates/example-shared/Lifecycle.tsx +14 -0
  40. package/templates/example-shared/Lifecycle.web.tsx +20 -0
  41. package/templates/example-shared/Lifecycle.windows.tsx +1 -0
  42. package/templates/example-shared/OpenFiles.desktop.tsx +23 -0
  43. package/templates/example-shared/OpenFiles.macos.tsx +1 -0
  44. package/templates/example-shared/OpenFiles.tsx +2 -0
  45. package/templates/example-shared/OpenFiles.windows.tsx +1 -0
  46. package/templates/example-shared/document.ts +58 -0
  47. package/templates/example-shared/io.desktop.ts +27 -0
  48. package/templates/example-shared/io.macos.ts +7 -0
  49. package/templates/example-shared/io.ts +31 -0
  50. package/templates/example-shared/io.web.ts +21 -0
  51. package/templates/example-shared/io.windows.ts +1 -0
  52. package/templates/example-shared/lifecycle-types.ts +10 -0
  53. package/templates/example-shared/lifetime.ts +23 -0
  54. package/templates/example-shared/records.ts +51 -0
  55. package/templates/example-shared/storage.ts +6 -0
  56. package/templates/example-shared/useModel.ts +6 -0
  57. package/templates/music-lite/Activation.desktop.tsx +4 -0
  58. package/templates/music-lite/Activation.macos.tsx +1 -0
  59. package/templates/music-lite/Activation.tsx +1 -0
  60. package/templates/music-lite/Activation.windows.tsx +1 -0
  61. package/templates/music-lite/App.tsx +38 -0
  62. package/templates/music-lite/assets.desktop.ts +7 -0
  63. package/templates/music-lite/assets.macos.ts +1 -0
  64. package/templates/music-lite/assets.ts +18 -0
  65. package/templates/music-lite/assets.web.ts +37 -0
  66. package/templates/music-lite/assets.windows.ts +1 -0
  67. package/templates/music-lite/model.ts +91 -0
  68. package/templates/music-lite/store.ts +10 -0
  69. package/templates/notes-lite/Activation.desktop.tsx +5 -0
  70. package/templates/notes-lite/Activation.macos.tsx +1 -0
  71. package/templates/notes-lite/Activation.tsx +1 -0
  72. package/templates/notes-lite/Activation.windows.tsx +1 -0
  73. package/templates/notes-lite/App.tsx +92 -0
  74. package/templates/notes-lite/Desktop.desktop.ts +47 -0
  75. package/templates/notes-lite/Desktop.macos.ts +1 -0
  76. package/templates/notes-lite/Desktop.ts +7 -0
  77. package/templates/notes-lite/Desktop.windows.ts +1 -0
  78. package/templates/notes-lite/Theme.tsx +17 -0
  79. package/templates/notes-lite/model.ts +61 -0
  80. package/templates/notes-lite/search.ts +3 -0
  81. package/templates/notes-lite/session.ts +15 -0
  82. package/templates/notes-lite/store.ts +4 -0
  83. package/templates/notes-lite/window-session.ts +63 -0
  84. package/templates/universal/.claude/skills/spark/SKILL.md +9 -0
  85. package/templates/universal/AGENTS.md +4 -0
  86. package/templates/universal/App.tsx +57 -0
  87. package/templates/universal/CLAUDE.md +4 -0
  88. package/templates/universal/README.md +15 -0
  89. package/templates/universal/app.json +15 -0
  90. package/templates/universal/assets/icon.png +0 -0
  91. package/templates/universal/desktop.config.json +64 -0
  92. package/templates/universal/gitignore +10 -0
  93. package/templates/universal/global.css +31 -0
  94. package/templates/universal/index.ts +4 -0
  95. package/templates/universal/metro.config.js +7 -0
  96. package/templates/universal/package.json +115 -0
  97. package/templates/universal/react-native.config.js +2 -0
  98. package/templates/universal/tsconfig.json +10 -0
  99. package/templates/universal/uniwind-types.d.ts +10 -0
  100. package/templates/windows/.claude/skills/spark/SKILL.md +9 -0
  101. package/templates/windows/AGENTS.md +4 -0
  102. package/templates/windows/App.tsx +16 -0
  103. package/templates/windows/CLAUDE.md +4 -0
  104. package/templates/windows/README.md +15 -0
  105. package/templates/windows/app.json +11 -0
  106. package/templates/windows/assets/icon.png +0 -0
  107. package/templates/windows/desktop.config.json +10 -0
  108. package/templates/windows/gitignore +8 -0
  109. package/templates/windows/index.ts +3 -0
  110. package/templates/windows/metro.config.js +3 -0
  111. package/templates/windows/package.json +102 -0
  112. package/templates/windows/react-native.config.js +2 -0
  113. package/templates/windows/tsconfig.json +10 -0
@@ -0,0 +1,64 @@
1
+ {
2
+ "$schema": "./node_modules/@legendapp/spark/schema.json",
3
+ "name": "HelloWorld",
4
+ "version": "0.0.1",
5
+ "window": {
6
+ "size": {
7
+ "width": 1000,
8
+ "height": 700
9
+ },
10
+ "restoreBounds": true
11
+ },
12
+ "macos": {
13
+ "bundleIdentifier": "so.legend.spark.prototype.helloworld"
14
+ },
15
+ "platforms": [
16
+ "ios",
17
+ "android",
18
+ "web",
19
+ "macos",
20
+ "windows"
21
+ ],
22
+ "expo": {
23
+ "web": {
24
+ "bundler": "metro"
25
+ },
26
+ "icon": "./assets/icon.png"
27
+ },
28
+ "expoByPlatform": {
29
+ "macos": {
30
+ "autolinking": {
31
+ "exclude": [
32
+ "@expo/ui",
33
+ "expo-clipboard",
34
+ "expo-linking",
35
+ "expo-secure-store",
36
+ "expo-dev-client",
37
+ "expo-dev-launcher",
38
+ "expo-dev-menu",
39
+ "expo-dev-menu-interface",
40
+ "expo-manifests",
41
+ "expo-updates-interface",
42
+ "react-native-windows"
43
+ ]
44
+ }
45
+ },
46
+ "windows": {
47
+ "autolinking": {
48
+ "exclude": [
49
+ "@expo/ui",
50
+ "expo-clipboard",
51
+ "expo-linking",
52
+ "expo-secure-store",
53
+ "expo-dev-client",
54
+ "expo-dev-launcher",
55
+ "expo-dev-menu",
56
+ "expo-dev-menu-interface",
57
+ "expo-manifests",
58
+ "expo-updates-interface",
59
+ "react-native-macos"
60
+ ]
61
+ }
62
+ }
63
+ }
64
+ }
@@ -0,0 +1,10 @@
1
+ node_modules/
2
+ .threaded-runtime/
3
+ .spark/
4
+ macos/
5
+ dist/
6
+ app.json
7
+ windows/
8
+ .expo/
9
+ ios/
10
+ android/
@@ -0,0 +1,31 @@
1
+ /* RN Web supplies its reset. Keep browser-native form control chrome. */
2
+ @layer theme, base, components, utilities;
3
+ @import 'tailwindcss/theme.css' layer(theme);
4
+ @import 'tailwindcss/utilities.css' layer(utilities);
5
+ @import 'uniwind';
6
+
7
+ /* Keep tokens in the application, as in legend-apps. */
8
+ @layer theme {
9
+ :root {
10
+ @variant light {
11
+ --color-background: #f5f6f8;
12
+ --color-foreground: #111827;
13
+ --color-muted: #6b7280;
14
+ --color-surface: #ffffff;
15
+ --color-border: #d1d5db;
16
+ }
17
+ @variant dark {
18
+ --color-background: #191a1b;
19
+ --color-foreground: #f5f5f5;
20
+ --color-muted: #a3a3a3;
21
+ --color-surface: #242526;
22
+ --color-border: #3e4042;
23
+ }
24
+ }
25
+ }
26
+
27
+ /* Browser-native controls follow the same theme as the surrounding RN views. */
28
+ @layer base {
29
+ :root.light { color-scheme: light; }
30
+ :root.dark { color-scheme: dark; }
31
+ }
@@ -0,0 +1,4 @@
1
+ import "./global.css";
2
+ import { registerRootComponent } from "expo";
3
+ import App from "./App";
4
+ registerRootComponent(App);
@@ -0,0 +1,7 @@
1
+ const { withUniwindConfig } = require("uniwind/metro");
2
+ const { metroConfig } = require("@legendapp/spark/metro");
3
+
4
+ module.exports = withUniwindConfig(metroConfig(__dirname), {
5
+ cssEntryFile: "./global.css",
6
+ dtsFile: "./uniwind-types.d.ts",
7
+ });
@@ -0,0 +1,115 @@
1
+ {
2
+ "name": "spark-template-universal",
3
+ "version": "0.0.1",
4
+ "private": true,
5
+ "main": "index.ts",
6
+ "scripts": {
7
+ "start": "spark dev",
8
+ "macos": "spark dev --platform macos",
9
+ "dev": "spark dev",
10
+ "build": "spark build",
11
+ "package": "spark package",
12
+ "doctor": "spark doctor",
13
+ "windows": "spark dev --platform windows",
14
+ "ios": "spark dev --platform ios",
15
+ "android": "spark dev --platform android",
16
+ "web": "spark dev --platform web",
17
+ "postinstall": "node node_modules/@legendapp/spark/init-template.cjs"
18
+ },
19
+ "dependencies": {
20
+ "expo": "54.0.37",
21
+ "expo-desktop": "1.0.0",
22
+ "expo-desktop-prebuild-config": "1.1.0",
23
+ "expo-desktop-config-plugins": "1.2.0",
24
+ "expo-desktop-metro-config": "54.81.0",
25
+ "expo-desktop-template-bare-minimum": "54.81.1",
26
+ "react": "19.1.4",
27
+ "react-native": "0.81.6",
28
+ "react-native-macos": "0.81.7",
29
+ "@react-native-community/cli": "20.1.3",
30
+ "typescript": "5.9.3",
31
+ "@types/react": "19.1.10",
32
+ "react-native-windows": "0.81.35",
33
+ "expo-desktop-modules-core": "54.0.14",
34
+ "expo-desktop-stubs": "54.0.14",
35
+ "@expo/ui": "0.2.0-beta.9",
36
+ "expo-dev-client": "6.0.21",
37
+ "expo-clipboard": "8.0.8",
38
+ "expo-secure-store": "15.0.8",
39
+ "expo-linking": "8.0.12",
40
+ "react-dom": "19.1.4",
41
+ "react-native-web": "0.21.0",
42
+ "uniwind": "1.6.3",
43
+ "tailwindcss": "4.2.4",
44
+ "@legendapp/spark": "0.0.1-next.5"
45
+ },
46
+ "overrides": {
47
+ "@expo/cli": "54.0.27",
48
+ "react-native-nitro-modules": "0.37.0",
49
+ "react-native-webview": "16.0.0",
50
+ "@op-engineering/op-sqlite": "18.2.1",
51
+ "expo-asset": "12.0.13",
52
+ "expo-constants": "18.0.14",
53
+ "expo-file-system": "19.0.24",
54
+ "expo-font": "14.0.12",
55
+ "expo-keep-awake": "15.0.8",
56
+ "expo-modules-core": "3.0.30",
57
+ "expo-desktop-modules-core": "54.0.14",
58
+ "expo-desktop-stubs": "54.0.14",
59
+ "react": "19.1.4",
60
+ "react-native": "0.81.6",
61
+ "react-native-macos": "0.81.7",
62
+ "react-native-windows": "0.81.35",
63
+ "postcss": "8.5.31",
64
+ "dompurify": "3.4.17",
65
+ "@tiptap/core": "3.32.0",
66
+ "@tiptap/extension-blockquote": "3.32.0",
67
+ "@tiptap/extension-bold": "3.32.0",
68
+ "@tiptap/extension-code": "3.32.0",
69
+ "@tiptap/extension-document": "3.32.0",
70
+ "@tiptap/extension-heading": "3.32.0",
71
+ "@tiptap/extension-history": "3.32.0",
72
+ "@tiptap/extension-image": "3.32.0",
73
+ "@tiptap/extension-italic": "3.32.0",
74
+ "@tiptap/extension-link": "3.32.0",
75
+ "@tiptap/extension-list": "3.32.0",
76
+ "@tiptap/extension-paragraph": "3.32.0",
77
+ "@tiptap/extension-strike": "3.32.0",
78
+ "@tiptap/extension-text": "3.32.0",
79
+ "@tiptap/extension-text-align": "3.32.0",
80
+ "@tiptap/extension-underline": "3.32.0",
81
+ "@tiptap/extensions": "3.32.0",
82
+ "@tiptap/pm": "3.32.0",
83
+ "@tiptap/react": "3.32.0",
84
+ "@tiptap/extension-bubble-menu": "3.32.0",
85
+ "@tiptap/extension-floating-menu": "3.32.0",
86
+ "fast-xml-parser": "5.11.2",
87
+ "react-dom": "19.1.4"
88
+ },
89
+ "expo": {
90
+ "install": {
91
+ "exclude": [
92
+ "react",
93
+ "react-dom",
94
+ "react-native"
95
+ ]
96
+ }
97
+ },
98
+ "allowScripts": {
99
+ "@legendapp/spark": true,
100
+ "react-native-enriched-markdown": true,
101
+ "fsevents": true
102
+ },
103
+ "trustedDependencies": [
104
+ "@legendapp/spark",
105
+ "react-native-enriched-markdown",
106
+ "fsevents"
107
+ ],
108
+ "pnpm": {
109
+ "onlyBuiltDependencies": [
110
+ "@legendapp/spark",
111
+ "react-native-enriched-markdown",
112
+ "fsevents"
113
+ ]
114
+ }
115
+ }
@@ -0,0 +1,2 @@
1
+ // Generated by spark; extend with configuration plugins.
2
+ module.exports = require("@legendapp/spark/native").nativeConfig(__dirname);
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "expo/tsconfig.base",
3
+ "compilerOptions": {
4
+ "strict": true
5
+ },
6
+ "include": [
7
+ "**/*.ts",
8
+ "**/*.tsx"
9
+ ]
10
+ }
@@ -0,0 +1,10 @@
1
+ // NOTE: This file is generated by uniwind and it should not be edited manually.
2
+ /// <reference types="uniwind/types" />
3
+
4
+ declare module 'uniwind' {
5
+ export interface UniwindConfig {
6
+ themes: readonly ['light', 'dark']
7
+ }
8
+ }
9
+
10
+ export {}
@@ -0,0 +1,9 @@
1
+ ---
2
+ name: spark
3
+ description: Develop, build, diagnose, or upgrade a Legend Spark desktop app.
4
+ ---
5
+
6
+ <!-- spark:skill:start -->
7
+ From the app root, read [Spark's app development skill](node_modules/@legendapp/spark/skills/spark/SKILL.md) before working on this app.
8
+ The installed Spark version owns these instructions; do not copy them here.
9
+ <!-- spark:skill:end -->
@@ -0,0 +1,4 @@
1
+ <!-- spark:skill:start -->
2
+ From the app root, read [Spark's app development skill](node_modules/@legendapp/spark/skills/spark/SKILL.md) before working on this app.
3
+ The installed Spark version owns these instructions; do not copy them here.
4
+ <!-- spark:skill:end -->
@@ -0,0 +1,16 @@
1
+ import React, { useState } from "react";
2
+ import { Button, StyleSheet, Text, TurboModuleRegistry, View } from "react-native";
3
+ import type { TurboModule } from "react-native";
4
+ interface Host extends TurboModule { describe(): string; }
5
+ const host = TurboModuleRegistry.getEnforcing<Host>("NativeSparkRuntime");
6
+ const runtime = JSON.parse(host.describe());
7
+ export default function App() {
8
+ const [clicks, setClicks] = useState(0);
9
+ return <View style={styles.root}>
10
+ <Text style={styles.title}>Hello, Spark on Windows</Text>
11
+ <Text>Runtime: {runtime.mode}</Text>
12
+ <Button title={`Clicked ${clicks} times`} onPress={() => setClicks(value => value + 1)} />
13
+ <Text>Edit App.tsx to test Fast Refresh.</Text>
14
+ </View>;
15
+ }
16
+ const styles = StyleSheet.create({ root: { flex: 1, justifyContent: "center", alignItems: "center", gap: 16, padding: 24 }, title: { fontSize: 28, fontWeight: "600" } });
@@ -0,0 +1,4 @@
1
+ <!-- spark:skill:start -->
2
+ From the app root, read [Spark's app development skill](node_modules/@legendapp/spark/skills/spark/SKILL.md) before working on this app.
3
+ The installed Spark version owns these instructions; do not copy them here.
4
+ <!-- spark:skill:end -->
@@ -0,0 +1,15 @@
1
+ # Spark app
2
+
3
+ Run the app with `windows` using your chosen package manager:
4
+
5
+ ```sh
6
+ npm run windows
7
+ ```
8
+
9
+ macOS opens in Spark Runner. Windows requires a custom development build and is
10
+ an unverified preview. JavaScript edits use Fast Refresh. Use `npm run build` for
11
+ a standalone macOS app; native builds require Xcode and CocoaPods.
12
+
13
+ Use the equivalent `bun run`, `pnpm run`, or `yarn` commands for those managers.
14
+ See [Spark documentation](https://legend.so/spark) for configuration, upgrades,
15
+ platform prerequisites, and distribution.
@@ -0,0 +1,11 @@
1
+ {
2
+ "expo": {
3
+ "name": "HelloWorld",
4
+ "slug": "helloworld",
5
+ "version": "0.0.1",
6
+ "platforms": [
7
+ "windows"
8
+ ],
9
+ "icon": "./assets/icon.png"
10
+ }
11
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "HelloWorld",
3
+ "version": "0.0.1",
4
+ "platforms": [
5
+ "windows"
6
+ ],
7
+ "expo": {
8
+ "icon": "./assets/icon.png"
9
+ }
10
+ }
@@ -0,0 +1,8 @@
1
+ node_modules/
2
+ .threaded-runtime/
3
+ .spark/
4
+ macos/
5
+ dist/
6
+ app.json
7
+ windows/
8
+ .expo/
@@ -0,0 +1,3 @@
1
+ import { registerRootComponent } from "expo";
2
+ import App from "./App";
3
+ registerRootComponent(App);
@@ -0,0 +1,3 @@
1
+ const { makeMetroConfig } = require("expo-desktop-metro-config");
2
+ const { withDesktop } = require("@legendapp/spark/metro");
3
+ module.exports = withDesktop(makeMetroConfig(__dirname));
@@ -0,0 +1,102 @@
1
+ {
2
+ "name": "spark-template-windows",
3
+ "version": "0.0.1",
4
+ "private": true,
5
+ "main": "index.ts",
6
+ "scripts": {
7
+ "start": "spark dev",
8
+ "dev": "spark dev",
9
+ "build": "spark build",
10
+ "package": "spark package",
11
+ "doctor": "spark doctor",
12
+ "windows": "spark dev",
13
+ "postinstall": "node node_modules/@legendapp/spark/init-template.cjs"
14
+ },
15
+ "dependencies": {
16
+ "expo": "54.0.37",
17
+ "expo-desktop": "1.0.0",
18
+ "expo-desktop-prebuild-config": "1.1.0",
19
+ "expo-desktop-config-plugins": "1.2.0",
20
+ "expo-desktop-metro-config": "54.81.0",
21
+ "expo-desktop-template-bare-minimum": "54.81.1",
22
+ "react": "19.1.4",
23
+ "react-dom": "19.1.4",
24
+ "react-native": "0.81.6",
25
+ "@react-native-community/cli": "20.1.3",
26
+ "typescript": "5.9.3",
27
+ "@types/react": "19.1.10",
28
+ "react-native-windows": "0.81.35",
29
+ "expo-desktop-modules-core": "54.0.14",
30
+ "expo-desktop-stubs": "54.0.14",
31
+ "@legendapp/spark": "0.0.1-next.5"
32
+ },
33
+ "overrides": {
34
+ "@expo/cli": "54.0.27",
35
+ "react-native-nitro-modules": "0.37.0",
36
+ "react-native-webview": "16.0.0",
37
+ "@op-engineering/op-sqlite": "18.2.1",
38
+ "expo-asset": "12.0.13",
39
+ "expo-constants": "18.0.14",
40
+ "expo-file-system": "19.0.24",
41
+ "expo-font": "14.0.12",
42
+ "expo-keep-awake": "15.0.8",
43
+ "expo-modules-core": "3.0.30",
44
+ "expo-desktop-modules-core": "54.0.14",
45
+ "expo-desktop-stubs": "54.0.14",
46
+ "react": "19.1.4",
47
+ "react-native": "0.81.6",
48
+ "react-native-macos": "0.81.7",
49
+ "react-native-windows": "0.81.35",
50
+ "postcss": "8.5.31",
51
+ "dompurify": "3.4.17",
52
+ "@tiptap/core": "3.32.0",
53
+ "@tiptap/extension-blockquote": "3.32.0",
54
+ "@tiptap/extension-bold": "3.32.0",
55
+ "@tiptap/extension-code": "3.32.0",
56
+ "@tiptap/extension-document": "3.32.0",
57
+ "@tiptap/extension-heading": "3.32.0",
58
+ "@tiptap/extension-history": "3.32.0",
59
+ "@tiptap/extension-image": "3.32.0",
60
+ "@tiptap/extension-italic": "3.32.0",
61
+ "@tiptap/extension-link": "3.32.0",
62
+ "@tiptap/extension-list": "3.32.0",
63
+ "@tiptap/extension-paragraph": "3.32.0",
64
+ "@tiptap/extension-strike": "3.32.0",
65
+ "@tiptap/extension-text": "3.32.0",
66
+ "@tiptap/extension-text-align": "3.32.0",
67
+ "@tiptap/extension-underline": "3.32.0",
68
+ "@tiptap/extensions": "3.32.0",
69
+ "@tiptap/pm": "3.32.0",
70
+ "@tiptap/react": "3.32.0",
71
+ "@tiptap/extension-bubble-menu": "3.32.0",
72
+ "@tiptap/extension-floating-menu": "3.32.0",
73
+ "fast-xml-parser": "5.11.2",
74
+ "react-dom": "19.1.4"
75
+ },
76
+ "expo": {
77
+ "install": {
78
+ "exclude": [
79
+ "react",
80
+ "react-dom",
81
+ "react-native"
82
+ ]
83
+ }
84
+ },
85
+ "allowScripts": {
86
+ "@legendapp/spark": true,
87
+ "react-native-enriched-markdown": true,
88
+ "fsevents": true
89
+ },
90
+ "trustedDependencies": [
91
+ "@legendapp/spark",
92
+ "react-native-enriched-markdown",
93
+ "fsevents"
94
+ ],
95
+ "pnpm": {
96
+ "onlyBuiltDependencies": [
97
+ "@legendapp/spark",
98
+ "react-native-enriched-markdown",
99
+ "fsevents"
100
+ ]
101
+ }
102
+ }
@@ -0,0 +1,2 @@
1
+ // Generated by spark; extend with configuration plugins.
2
+ module.exports = require("@legendapp/spark/native").nativeConfig(__dirname);
@@ -0,0 +1,10 @@
1
+ {
2
+ "extends": "expo/tsconfig.base",
3
+ "compilerOptions": {
4
+ "strict": true
5
+ },
6
+ "include": [
7
+ "**/*.ts",
8
+ "**/*.tsx"
9
+ ]
10
+ }