@legendapp/spark 0.0.1-next.2
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/README.md +21 -0
- package/app.ts +1 -0
- package/audio.ts +1 -0
- package/auth-session.ts +1 -0
- package/bin/spark.cjs +5 -0
- package/clipboard.ts +1 -0
- package/config-plugin.cjs +1 -0
- package/config.cjs +1 -0
- package/config.d.cts +1 -0
- package/context-menu.ts +1 -0
- package/dialogs.ts +2 -0
- package/drag-drop.ts +1 -0
- package/expo-config.cjs +1 -0
- package/expo-metro.cjs +1 -0
- package/files.ts +1 -0
- package/global-shortcuts.ts +1 -0
- package/init-template.cjs +2 -0
- package/links.ts +1 -0
- package/menus.ts +1 -0
- package/message-dialog.ts +1 -0
- package/metro-gate.cjs +1 -0
- package/metro.cjs +1 -0
- package/native.cjs +1 -0
- package/notifications.ts +1 -0
- package/package.json +161 -0
- package/processes.ts +1 -0
- package/runtime-entry.cjs +1 -0
- package/schema.json +305 -0
- package/secure-storage.ts +1 -0
- package/settings.ts +1 -0
- package/shortcuts.ts +1 -0
- package/sqlite.ts +1 -0
- package/system.ts +1 -0
- package/tray.ts +1 -0
- package/ui-uniwind.ts +1 -0
- package/ui.ts +1 -0
- package/universal.cjs +1 -0
- package/updates.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/RNSparkAudio.podspec +18 -0
- package/vendor/node_modules/@legendapp/spark-audio/macos/RNSparkAudio.h +4 -0
- package/vendor/node_modules/@legendapp/spark-audio/macos/RNSparkAudio.mm +154 -0
- package/vendor/node_modules/@legendapp/spark-audio/package.json +49 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/NativeSparkAudio.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/desktop.ts +39 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/index.android.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/index.ios.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/index.web.ts +42 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/media-session-unavailable.ts +5 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/media-session.ts +25 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/media-session.web.ts +35 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/media-types.ts +32 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/mobile.ts +38 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/status-listeners.ts +22 -0
- package/vendor/node_modules/@legendapp/spark-audio/src/types.ts +21 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.def +3 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.h +146 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/SparkAudio.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-audio/windows/SparkAudio.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/package.json +41 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/core.ts +68 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/index.android.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/index.ios.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/index.ts +22 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/index.web.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/mobile.ts +52 -0
- package/vendor/node_modules/@legendapp/spark-auth-session/src/types.ts +38 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/add-desktop.js +164 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/build-mode.js +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/build.js +278 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/commands.js +107 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/create.js +99 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/credentials.js +69 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/dev-command.js +81 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/dev.js +408 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/examples.js +43 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/executable.js +19 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-dev-extension.cjs +51 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-dev-patch.cjs +38 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-dev-preload.cjs +19 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-metro.cjs +41 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-native.cjs +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/expo-node.js +21 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/go-profile.js +20 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/helpers.js +79 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/index.js +263 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/init-template.cjs +25 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/local.js +124 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/macos-release.js +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/metro-gate.cjs +33 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/metro.cjs +63 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/metro.js +25 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/npm-bin/npm +6 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/npm-bin/npm.cmd +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/pack-archive.js +23 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/package-manager.js +45 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/package.js +199 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/platform.js +34 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/process.js +57 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/project.js +324 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/release.js +42 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/release.json +37 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/runner-install.js +138 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/runtime-entry.cjs +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/sdk-install.js +66 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/sdk-transfer.js +113 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/session-status.js +22 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/signing.js +175 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/universal.cjs +28 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/updates.js +110 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/windows-associations.js +45 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/windows-associations.ps1 +57 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/windows-geometry.js +33 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/windows-metro.js +112 -0
- package/vendor/node_modules/@legendapp/spark-cli/dist/windows.js +141 -0
- package/vendor/node_modules/@legendapp/spark-cli/package.json +22 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/App.tsx +29 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/app.json +11 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/assets/icon.png +0 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/desktop.config.json +19 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/gitignore +8 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/index.ts +5 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/metro.config.js +3 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/package.json +55 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/blank-typescript/tsconfig.json +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/App.tsx +34 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/Git.macos.tsx +13 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/Git.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/diff-lite/compare.ts +12 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/App.tsx +34 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.macos.tsx +57 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.tsx +13 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.web.tsx +14 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/Integration.windows.tsx +57 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/document.ts +58 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.desktop.ts +24 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.macos.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.ts +31 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.web.ts +21 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/io.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/sessions.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/document-editor/useDocument.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.desktop.tsx +31 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.macos.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.tsx +14 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.web.tsx +20 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/Lifecycle.windows.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.desktop.tsx +28 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.macos.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.tsx +2 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/OpenFiles.windows.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/document.ts +58 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.desktop.ts +24 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.macos.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.ts +31 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.web.ts +21 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/io.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/lifecycle-types.ts +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/lifetime.ts +23 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/records.ts +51 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/storage.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/example-shared/useModel.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.desktop.tsx +4 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.macos.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/Activation.windows.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/App.tsx +38 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.desktop.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.macos.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.ts +18 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.web.ts +37 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/assets.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/model.ts +91 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/music-lite/store.ts +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.desktop.tsx +5 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.macos.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Activation.windows.tsx +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/App.tsx +92 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.desktop.ts +25 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.macos.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Desktop.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/Theme.tsx +17 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/model.ts +61 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/search.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/session.ts +16 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/store.ts +4 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/notes-lite/window-session.ts +62 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/App.tsx +57 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/app.json +15 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/assets/icon.png +0 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/desktop.config.json +62 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/gitignore +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/global.css +31 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/index.ts +4 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/metro.config.js +7 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/package.json +70 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/react-native.config.js +2 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/tsconfig.json +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/universal/uniwind-types.d.ts +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/App.tsx +16 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/app.json +11 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/assets/icon.png +0 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/desktop.config.json +10 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/gitignore +8 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/index.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/metro.config.js +3 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/package.json +56 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/react-native.config.js +2 -0
- package/vendor/node_modules/@legendapp/spark-cli/templates/windows/tsconfig.json +10 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/RNDesktopClipboard.podspec +16 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/macos/RNDesktopClipboard.h +4 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/macos/RNDesktopClipboard.mm +87 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/package.json +52 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/NativeDesktopClipboard.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/desktop.ts +39 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/expo.ts +12 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/formats.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/index.android.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/index.ios.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/index.web.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.def +3 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.h +119 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/SparkClipboard.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-clipboard/windows/SparkClipboard.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/RNContextMenu.podspec +16 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/macos/RNContextMenu.h +9 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/macos/RNContextMenu.mm +160 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/src/NativeContextMenu.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/src/index.ts +29 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.def +3 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.h +112 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/SparkContextMenu.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-context-menu/windows/SparkContextMenu.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/RNDesktopApp.podspec +15 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/macos/RNDesktopApp.h +4 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/macos/RNDesktopApp.mm +34 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/macos/SparkDesktop.h +23 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/macos/SparkDesktop.mm +135 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/macos/SparkWindow.mm +81 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/package.json +39 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/src/NativeDesktopApp.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/src/api.ts +42 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-app/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/app.plugin.cjs +75 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/config.cjs +161 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/config.d.cts +13 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/entitlements.cjs +23 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/expo.cjs +26 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/fabric-lifecycle.cjs +125 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/helpers.cjs +20 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/identity.cjs +28 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/keyboard-events.cjs +44 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/package.json +19 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/schema.json +305 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/updates.cjs +24 -0
- package/vendor/node_modules/@legendapp/spark-desktop-config/windows.plugin.cjs +72 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/AppDelegate.mm +79 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/package.json +13 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/windows/SparkComponentGeometry.h +9 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/windows/application.inc +647 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/windows/notifications.inc +60 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/windows/runtime.inc +63 -0
- package/vendor/node_modules/@legendapp/spark-desktop-host/windows/runtimes.inc +162 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/RNDesktopLinks.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/common/AuthLoopback.h +121 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/macos/RNDesktopLinks.h +4 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/macos/RNDesktopLinks.mm +79 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/package.json +53 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/NativeDesktopLinks.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/api.ts +37 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/expo.ts +5 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.android.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.ios.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.web.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.def +3 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.h +128 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/SparkLinks.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-desktop-links/windows/SparkLinks.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/RNDesktopShortcuts.podspec +16 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/macos/RNDesktopShortcuts.h +4 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/macos/RNDesktopShortcuts.mm +56 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/package.json +43 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/NativeDesktopShortcuts.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/accelerator.ts +22 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/api.ts +20 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-shortcuts/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/RNDesktopWindows.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/macos/RNDesktopWindows.h +4 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/macos/RNDesktopWindows.mm +210 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/package.json +44 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/src/NativeDesktopWindowManager.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/src/api.ts +79 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-desktop-windows/src/windows-options.ts +11 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/RNDesktopDrag.podspec +20 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/macos/RNDesktopDragView.h +4 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/macos/RNDesktopDragView.mm +94 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/package.json +44 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/src/DesktopDragViewNativeComponent.ts +16 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/src/contracts.ts +28 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/src/index.tsx +17 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/ReactPackageProvider.cpp +21 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.def +3 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.h +209 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/SparkDragDrop.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-drag-drop/windows/SparkDragDrop.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/RNFileDialog.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/ios/RNFileDialog.h +9 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/ios/RNFileDialog.mm +259 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/package.json +43 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/src/NativeFileDialog.ts +13 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/src/index.ts +89 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/src/index.windows.ts +15 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/src/options.ts +16 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.def +3 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.h +128 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/SparkFileDialog.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-file-dialog/windows/SparkFileDialog.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-file-system/RNDesktopFileSystem.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-file-system/macos/RNDesktopFileSystem.h +4 -0
- package/vendor/node_modules/@legendapp/spark-file-system/macos/RNDesktopFileSystem.mm +211 -0
- package/vendor/node_modules/@legendapp/spark-file-system/package.json +47 -0
- package/vendor/node_modules/@legendapp/spark-file-system/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-file-system/src/NativeDesktopFileSystem.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-file-system/src/handles.ts +45 -0
- package/vendor/node_modules/@legendapp/spark-file-system/src/index.ts +61 -0
- package/vendor/node_modules/@legendapp/spark-file-system/src/path.ts +9 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.def +3 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.h +295 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.vcxproj +144 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/SparkFileSystem.vcxproj.filters +45 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/Trash.h +52 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-file-system/windows/SparkFileSystem.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/RNDesktopGlobalShortcuts.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/macos/RNDesktopGlobalShortcuts.h +3 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/macos/RNDesktopGlobalShortcuts.mm +65 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/src/NativeDesktopGlobalShortcuts.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/src/accelerator.ts +22 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/src/index.ts +16 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.def +3 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.h +80 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/SparkGlobalShortcuts.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-global-shortcuts/windows/SparkGlobalShortcuts.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/RNDesktopMessageDialog.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/macos/RNDesktopMessageDialog.h +3 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/macos/RNDesktopMessageDialog.mm +36 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/src/NativeDesktopMessageDialog.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/src/index.ts +13 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.def +3 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.h +145 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/SparkMessageDialog.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-message-dialog/windows/SparkMessageDialog.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/RNNativeMenu.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/ios/RNNativeMenu.h +10 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/ios/RNNativeMenu.mm +632 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/package.json +41 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/src/NativeMenu.ts +13 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/src/api.ts +128 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/src/index.windows.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-native-menu/src/windows-menus.ts +43 -0
- package/vendor/node_modules/@legendapp/spark-notifications/RNDesktopNotifications.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-notifications/macos/RNDesktopNotifications.h +4 -0
- package/vendor/node_modules/@legendapp/spark-notifications/macos/RNDesktopNotifications.mm +111 -0
- package/vendor/node_modules/@legendapp/spark-notifications/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-notifications/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-notifications/src/NativeDesktopNotifications.ts +4 -0
- package/vendor/node_modules/@legendapp/spark-notifications/src/index.ts +53 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.def +3 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.h +132 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/SparkNotifications.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-notifications/windows/SparkNotifications.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-processes/RNDesktopProcesses.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-processes/macos/RNDesktopProcesses.h +3 -0
- package/vendor/node_modules/@legendapp/spark-processes/macos/RNDesktopProcesses.mm +153 -0
- package/vendor/node_modules/@legendapp/spark-processes/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-processes/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-processes/src/NativeDesktopProcesses.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-processes/src/index.ts +39 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.def +3 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.h +171 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/SparkProcesses.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-processes/windows/SparkProcesses.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/RNDesktopSecureStorage.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/macos/RNDesktopSecureStorage.h +4 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/macos/RNDesktopSecureStorage.mm +53 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/package.json +52 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/NativeDesktopSecureStorage.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/desktop.ts +24 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/expo.ts +14 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.android.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.ios.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.web.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/index.windows.ts +2 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/options.ts +6 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/src/unavailable.ts +5 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.def +3 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.h +48 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/SparkSecureStorage.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-secure-storage/windows/SparkSecureStorage.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-settings/package.json +13 -0
- package/vendor/node_modules/@legendapp/spark-settings/src/filename.ts +1 -0
- package/vendor/node_modules/@legendapp/spark-settings/src/filename.windows.ts +9 -0
- package/vendor/node_modules/@legendapp/spark-settings/src/index.ts +19 -0
- package/vendor/node_modules/@legendapp/spark-settings/src/store.ts +37 -0
- package/vendor/node_modules/@legendapp/spark-sqlite/package.json +16 -0
- package/vendor/node_modules/@legendapp/spark-sqlite/src/index.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-system/RNDesktopSystem.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-system/macos/RNDesktopSystem.h +3 -0
- package/vendor/node_modules/@legendapp/spark-system/macos/RNDesktopSystem.mm +108 -0
- package/vendor/node_modules/@legendapp/spark-system/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-system/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-system/src/NativeDesktopSystem.ts +3 -0
- package/vendor/node_modules/@legendapp/spark-system/src/index.ts +35 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.def +3 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.h +154 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/SparkSystem.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-system/windows/SparkSystem.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-tray/RNDesktopTray.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-tray/macos/RNDesktopTray.h +4 -0
- package/vendor/node_modules/@legendapp/spark-tray/macos/RNDesktopTray.mm +63 -0
- package/vendor/node_modules/@legendapp/spark-tray/package.json +46 -0
- package/vendor/node_modules/@legendapp/spark-tray/react-native.config.js +6 -0
- package/vendor/node_modules/@legendapp/spark-tray/src/NativeDesktopTray.ts +4 -0
- package/vendor/node_modules/@legendapp/spark-tray/src/index.ts +46 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/ReactPackageProvider.cpp +20 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.def +3 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.h +133 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.vcxproj +143 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/SparkTray.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-tray/windows/SparkTray.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-ui/RNSparkUI.podspec +17 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkButton.h +4 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkButton.mm +51 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkSelect.h +4 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkSelect.mm +53 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkTextInput.h +4 -0
- package/vendor/node_modules/@legendapp/spark-ui/macos/RNSparkTextInput.mm +45 -0
- package/vendor/node_modules/@legendapp/spark-ui/package.json +61 -0
- package/vendor/node_modules/@legendapp/spark-ui/react-native.config.js +5 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/SparkButtonNativeComponent.ts +12 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/SparkSelectNativeComponent.ts +10 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/SparkTextInputNativeComponent.ts +9 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/index.android.tsx +25 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/index.ios.tsx +30 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/index.tsx +27 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/index.web.tsx +23 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/index.windows.tsx +42 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/select.ts +7 -0
- package/vendor/node_modules/@legendapp/spark-ui/src/types.ts +28 -0
- package/vendor/node_modules/@legendapp/spark-ui/uniwind.ts +8 -0
- package/vendor/node_modules/@legendapp/spark-ui/uniwind.web.ts +17 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/ExperimentalFeatures.props +33 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/LICENSE +25 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/ReactPackageProvider.cpp +21 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/ReactPackageProvider.h +24 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/ReactPackageProvider.idl +9 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkAppearance.h +61 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.cpp +2 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.def +3 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.h +181 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.rc +0 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.vcxproj +144 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/SparkUI.vcxproj.filters +44 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/pch.cpp +1 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/pch.h +30 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/resource.h +5 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI/targetver.h +8 -0
- package/vendor/node_modules/@legendapp/spark-ui/windows/SparkUI.sln +43 -0
- package/vendor/node_modules/@legendapp/spark-updates/RNDesktopUpdates.podspec +18 -0
- package/vendor/node_modules/@legendapp/spark-updates/Sparkle.podspec.json +39 -0
- package/vendor/node_modules/@legendapp/spark-updates/macos/RNDesktopUpdates.h +4 -0
- package/vendor/node_modules/@legendapp/spark-updates/macos/RNDesktopUpdates.mm +72 -0
- package/vendor/node_modules/@legendapp/spark-updates/package.json +44 -0
- package/vendor/node_modules/@legendapp/spark-updates/src/NativeDesktopUpdates.ts +4 -0
- package/vendor/node_modules/@legendapp/spark-updates/src/index.ts +23 -0
- package/vendor/node_modules/@legendapp/spark-webview/package.json +15 -0
- package/vendor/node_modules/@legendapp/spark-webview/src/index.ts +2 -0
- package/vendor/node_modules/@legendapp/spark-window-options/index.cjs +25 -0
- package/vendor/node_modules/@legendapp/spark-window-options/index.d.ts +12 -0
- package/vendor/node_modules/@legendapp/spark-window-options/package.json +12 -0
- package/webview.ts +1 -0
- package/windows.ts +1 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { packageManager, managerCommand } from "./package-manager.js";
|
|
2
|
+
import { cpSync, writeFileSync } from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { readJson, writeJson } from "./project.js";
|
|
5
|
+
import { run } from "./commands.js";
|
|
6
|
+
export const examples = ["document-editor", "notes-lite", "music-lite", "diff-lite"];
|
|
7
|
+
export async function configureExample(root, example) {
|
|
8
|
+
const pkg = readJson(path.join(root, "package.json"));
|
|
9
|
+
const suffixes = ["desktop-app", "desktop-windows", "desktop-shortcuts", "native-menu", "file-dialog", "message-dialog"];
|
|
10
|
+
if (example === "music-lite")
|
|
11
|
+
suffixes.push("audio");
|
|
12
|
+
if (example === "diff-lite")
|
|
13
|
+
suffixes.push("processes");
|
|
14
|
+
const desktop = suffixes.map(name => name === "desktop" ? "@legendapp/spark" : `@legendapp/spark-${name}`);
|
|
15
|
+
if (!pkg.dependencies["@legendapp/spark"])
|
|
16
|
+
throw new Error("SDK example requires @legendapp/spark");
|
|
17
|
+
Object.assign(pkg.dependencies, { "expo-document-picker": "14.0.8", "expo-file-system": "19.0.24", "expo-sharing": "14.0.8" });
|
|
18
|
+
if (example !== "document-editor")
|
|
19
|
+
pkg.dependencies["@react-native-async-storage/async-storage"] = "2.2.0";
|
|
20
|
+
if (example === "music-lite")
|
|
21
|
+
pkg.dependencies["expo-audio"] = "1.1.1";
|
|
22
|
+
if (example === "diff-lite")
|
|
23
|
+
pkg.dependencies["diff"] = "8.0.2";
|
|
24
|
+
writeJson(path.join(root, "package.json"), pkg);
|
|
25
|
+
const config = readJson(path.join(root, "desktop.config.json"));
|
|
26
|
+
for (const platform of ["ios", "android", "macos", "windows"]) {
|
|
27
|
+
const options = config.expoByPlatform[platform] ??= {};
|
|
28
|
+
const excluded = options.autolinking?.exclude ?? [];
|
|
29
|
+
const extra = ["macos", "windows"].includes(platform) ? ["expo-document-picker", "expo-sharing", "expo-file-system", "expo-audio"] : desktop;
|
|
30
|
+
if (platform === "windows")
|
|
31
|
+
extra.push(...desktop.filter(name => !["@legendapp/spark-file-dialog", "@legendapp/spark-audio", "@legendapp/spark-desktop-app", "@legendapp/spark-desktop-windows", "@legendapp/spark-desktop-shortcuts", "@legendapp/spark-native-menu"].includes(name)));
|
|
32
|
+
options.autolinking = { ...options.autolinking, exclude: [...new Set([...excluded, ...extra])] };
|
|
33
|
+
if (example === "music-lite" && ["ios", "android"].includes(platform))
|
|
34
|
+
options.plugins = [...(options.plugins ?? []), ["expo-audio", { microphonePermission: false, enableBackgroundPlayback: true, recordAudioAndroid: false }]];
|
|
35
|
+
}
|
|
36
|
+
writeJson(path.join(root, "desktop.config.json"), config);
|
|
37
|
+
cpSync(path.resolve(import.meta.dirname, "../templates", example), root, { recursive: true });
|
|
38
|
+
if (example !== "document-editor") {
|
|
39
|
+
cpSync(path.resolve(import.meta.dirname, "../templates/example-shared"), path.join(root, "shared"), { recursive: true });
|
|
40
|
+
writeFileSync(path.join(root, "shared/identity.ts"), `export const projectId = ${JSON.stringify(config.projectId)};\n`);
|
|
41
|
+
}
|
|
42
|
+
await run(root, managerCommand(packageManager(root), ["install"]));
|
|
43
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { accessSync, constants, statSync } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
export function which(command, env = process.env) {
|
|
4
|
+
const extensions = process.platform === "win32" ? ["", ...(env.PATHEXT ?? ".COM;.EXE;.BAT;.CMD").split(";")] : [""];
|
|
5
|
+
const directories = command.includes(path.sep) || path.isAbsolute(command) ? [""] : (env.PATH ?? "").split(path.delimiter);
|
|
6
|
+
for (const directory of directories) {
|
|
7
|
+
for (const extension of extensions) {
|
|
8
|
+
const file = path.resolve(directory, command + extension);
|
|
9
|
+
try {
|
|
10
|
+
if (statSync(file).isFile()) {
|
|
11
|
+
accessSync(file, constants.X_OK);
|
|
12
|
+
return file;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
catch { }
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
let state = { target: 'go', canBuild: false };
|
|
2
|
+
let sequence = 0;
|
|
3
|
+
const pending = new Map();
|
|
4
|
+
|
|
5
|
+
function commands(platform = process.env.SPARK_PLATFORM, host = process.platform, current = state) {
|
|
6
|
+
const name = platform === 'macos' ? 'macOS' : platform === 'windows' ? 'Windows' : undefined;
|
|
7
|
+
if (!name) return [];
|
|
8
|
+
const disabled = platform === 'macos' ? host !== 'darwin' : host !== 'win32';
|
|
9
|
+
return [
|
|
10
|
+
{ key: 'd', msg: `open ${name} (${current.target === 'go' ? 'Spark Runner' : 'development build'})`, disabled },
|
|
11
|
+
{ key: 'g', msg: `switch desktop to ${current.target === 'go' ? 'development build' : 'Spark Runner'}`, disabled },
|
|
12
|
+
{ key: 'b', msg: `build and open ${name} development build`, disabled: disabled || !current.canBuild },
|
|
13
|
+
];
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
async function handleKey(key) {
|
|
17
|
+
if (!commands().some(command => command.key === key)) return false;
|
|
18
|
+
if (commands().find(command => command.key === key).disabled) return true;
|
|
19
|
+
const id = ++sequence;
|
|
20
|
+
await new Promise((resolve, reject) => {
|
|
21
|
+
pending.set(id, { resolve, reject });
|
|
22
|
+
process.send({ type: 'spark:action', id, action: { d: 'open', g: 'switch', b: 'build' }[key] }, error => {
|
|
23
|
+
if (error) { pending.delete(id); reject(error); }
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function integrateCommands(ui) {
|
|
30
|
+
const desktop = commands();
|
|
31
|
+
return ui.flatMap(item => {
|
|
32
|
+
const keys = item?.key === 's' ? ['g'] : item?.key === 'w' ? ['d', 'b'] : [];
|
|
33
|
+
return [item, ...desktop.filter(command => keys.includes(command.key))];
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (process.send) {
|
|
38
|
+
process.on('message', message => {
|
|
39
|
+
if (message?.type === 'spark:state') state = message.state;
|
|
40
|
+
if (message?.type === 'spark:result') {
|
|
41
|
+
const request = pending.get(message.id);
|
|
42
|
+
pending.delete(message.id);
|
|
43
|
+
if (message.error) request?.reject(new Error(message.error));
|
|
44
|
+
else request?.resolve();
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
// The supervisor owns the native app; do not leave Expo alive if it disappears.
|
|
48
|
+
process.on('disconnect', () => process.exit());
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
module.exports = { commands, integrateCommands, handleKey, ready: (port, options) => process.send({ type: 'spark:ready', port, options }) };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const fs = require('node:fs');
|
|
2
|
+
const path = require('node:path');
|
|
3
|
+
const { createRequire } = require('node:module');
|
|
4
|
+
const { createHash } = require('node:crypto');
|
|
5
|
+
|
|
6
|
+
const VERSION = '54.0.27';
|
|
7
|
+
const extension = JSON.stringify(path.join(__dirname, 'expo-dev-extension.cjs'));
|
|
8
|
+
// Process-local patches: installed Expo files remain untouched. Verify the exact
|
|
9
|
+
// upstream inputs before starting, so an Expo upgrade cannot silently lose keys.
|
|
10
|
+
const patches = [
|
|
11
|
+
['interface/commandsTable.js', 'eeb1700b0ae26613bf6dedab556479a4c15d3a3c94c63ecbb5db21c4899e1645',
|
|
12
|
+
'function logCommandsTable(ui) {',
|
|
13
|
+
`function logCommandsTable(ui) {\n ui = require(${extension}).integrateCommands(ui);`],
|
|
14
|
+
['interface/startInterface.js', 'c8e55431b18a37e1ab2be22f068c980e9cc41ffc105ea7478e34fc11b91a22bd',
|
|
15
|
+
' const onPressAsync = async (key)=>{',
|
|
16
|
+
` const onPressAsync = async (key)=>{\n try {\n if (await require(${extension}).handleKey(key)) return;\n } catch (error) {\n _log.exception(error);\n return;\n }`],
|
|
17
|
+
['startAsync.js', '0e062078e63ad6264b1393d403ad56d65a38c6430d30fdac50cd656486cd418b',
|
|
18
|
+
' mcpServer == null ? void 0 : mcpServer.start();',
|
|
19
|
+
` mcpServer == null ? void 0 : mcpServer.start();\n require(${extension}).ready(devServerManager.getNativeDevServerPort(), { dev: options.dev, minify: options.minify, https: options.https });`],
|
|
20
|
+
];
|
|
21
|
+
|
|
22
|
+
function preparePatch(root) {
|
|
23
|
+
const appRequire = createRequire(path.join(root, 'package.json'));
|
|
24
|
+
const expoRequire = createRequire(appRequire.resolve('expo/package.json'));
|
|
25
|
+
const manifest = expoRequire.resolve('@expo/cli/package.json');
|
|
26
|
+
const version = JSON.parse(fs.readFileSync(manifest, 'utf8')).version;
|
|
27
|
+
if (version !== VERSION) throw new Error(`spark desktop keys require @expo/cli ${VERSION}; found ${version}. Restore the supported version or update the spark Expo patch.`);
|
|
28
|
+
return new Map(patches.map(([relative, hash, before, after]) => {
|
|
29
|
+
const file = fs.realpathSync(path.join(path.dirname(manifest), 'build/src/start', relative));
|
|
30
|
+
const source = fs.readFileSync(file, 'utf8');
|
|
31
|
+
if (createHash('sha256').update(source).digest('hex') !== hash || source.split(before).length !== 2) {
|
|
32
|
+
throw new Error(`Unsupported Expo CLI source: ${relative}. Update the spark Expo patch before starting desktop development.`);
|
|
33
|
+
}
|
|
34
|
+
return [file, source.replace(before, after)];
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
module.exports = { VERSION, preparePatch };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const Module = require('node:module');
|
|
2
|
+
const { preparePatch } = require('./expo-dev-patch.cjs');
|
|
3
|
+
|
|
4
|
+
// Node forks inherit --require, including Metro transform workers. Only the
|
|
5
|
+
// top-level Expo process may attach to the Spark supervisor's IPC channel.
|
|
6
|
+
if (!process.env.SPARK_EXPO_PRELOADED) {
|
|
7
|
+
process.env.SPARK_EXPO_PRELOADED = '1';
|
|
8
|
+
if (!process.send) throw new Error('Start the Spark Expo integration through spark dev.');
|
|
9
|
+
const patches = preparePatch(process.cwd());
|
|
10
|
+
const load = Module._extensions['.js'];
|
|
11
|
+
Module._extensions['.js'] = function(module, filename) {
|
|
12
|
+
const source = patches.get(filename);
|
|
13
|
+
if (source === undefined) return load(module, filename);
|
|
14
|
+
patches.delete(filename);
|
|
15
|
+
if (!patches.size) Module._extensions['.js'] = load;
|
|
16
|
+
module._compile(source, filename);
|
|
17
|
+
};
|
|
18
|
+
require('./expo-dev-extension.cjs');
|
|
19
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const { createRequire } = require('node:module');
|
|
2
|
+
const path = require('node:path');
|
|
3
|
+
const defaults = new Map();
|
|
4
|
+
const desktopSession = () => process.env.SPARK_DEV_SESSION === '1' || ['macos', 'windows'].includes(process.env.SPARK_PLATFORM);
|
|
5
|
+
|
|
6
|
+
// A drop-in getDefaultConfig import: let upstream supply each target's defaults
|
|
7
|
+
// before the application's existing Metro customizations are applied.
|
|
8
|
+
exports.getDefaultConfig = (root, ...options) => {
|
|
9
|
+
const requireApp = createRequire(path.join(root, 'package.json'));
|
|
10
|
+
const config = desktopSession()
|
|
11
|
+
? requireApp('expo-desktop-metro-config').makeMetroConfig(root, ...options)
|
|
12
|
+
: requireApp('expo/metro-config').getDefaultConfig(root, ...options);
|
|
13
|
+
defaults.set(path.resolve(root), { resolveRequest: config.resolver.resolveRequest, rewriteRequestUrl: config.server?.rewriteRequestUrl });
|
|
14
|
+
return config;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
exports.withSparkMetro = config => {
|
|
18
|
+
if (!desktopSession()) return config;
|
|
19
|
+
if (config && typeof config.then === 'function') return config.then(exports.withSparkMetro);
|
|
20
|
+
if (!config || typeof config !== 'object') throw new Error('Spark needs an object or promise from metro.config');
|
|
21
|
+
const upstream = defaults.get(path.resolve(config.projectRoot || process.cwd()));
|
|
22
|
+
if (!upstream) throw new Error('Compose Metro with getDefaultConfig from @legendapp/spark-cli/src/expo-metro.cjs');
|
|
23
|
+
const customResolve = config.resolver?.resolveRequest;
|
|
24
|
+
if (customResolve && customResolve !== upstream.resolveRequest) {
|
|
25
|
+
const desktopResolve = upstream.resolveRequest;
|
|
26
|
+
config = { ...config, resolver: { ...config.resolver, resolveRequest(context, name, platform) {
|
|
27
|
+
return customResolve({ ...context, resolveRequest(nextContext, nextName, nextPlatform) {
|
|
28
|
+
return desktopResolve({ ...nextContext, resolveRequest: context.resolveRequest }, nextName, nextPlatform);
|
|
29
|
+
} }, name, platform);
|
|
30
|
+
} } };
|
|
31
|
+
}
|
|
32
|
+
const rewrite = config.server?.rewriteRequestUrl;
|
|
33
|
+
const result = require('./metro.cjs').withDesktop(config, { runtimes: false });
|
|
34
|
+
return { ...result, server: { ...result.server, rewriteRequestUrl(url) {
|
|
35
|
+
// Existing desktop hosts request index. Expo resolves the application's
|
|
36
|
+
// actual package.json main, including its default AppEntry, without a shim.
|
|
37
|
+
const entry = url.replace(/\/index(?:\.windows)?\.bundle\?/, '/.expo/.virtual-metro-entry.bundle?');
|
|
38
|
+
const rewritten = rewrite ? rewrite(entry) : entry;
|
|
39
|
+
return upstream.rewriteRequestUrl ? upstream.rewriteRequestUrl(rewritten) : rewritten;
|
|
40
|
+
} } };
|
|
41
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
exports.withSparkNative = (original, root) => {
|
|
2
|
+
if (!['macos', 'windows'].includes(process.env.SPARK_PLATFORM)) return original;
|
|
3
|
+
const generated = require('./universal.cjs').nativeConfig(root);
|
|
4
|
+
const dependencies = { ...original.dependencies };
|
|
5
|
+
for (const [name, config] of Object.entries(generated.dependencies ?? {})) {
|
|
6
|
+
dependencies[name] = { ...dependencies[name], ...config,
|
|
7
|
+
platforms: { ...dependencies[name]?.platforms, ...config.platforms } };
|
|
8
|
+
}
|
|
9
|
+
return { ...original, platforms: { ...generated.platforms, ...original.platforms }, dependencies };
|
|
10
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { spawnProcess, which } from "./process.js";
|
|
2
|
+
import { createRequire } from "node:module";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { pathToFileURL } from "node:url";
|
|
5
|
+
/** Check the actual Node/Expo pair before handing work to Expo Desktop beta. */
|
|
6
|
+
export async function checkExpoDesktopNode(root) {
|
|
7
|
+
const requireApp = createRequire(path.join(root, "package.json"));
|
|
8
|
+
const requireDesktop = createRequire(requireApp.resolve("expo-desktop/package.json"));
|
|
9
|
+
const configPlugins = pathToFileURL(requireDesktop.resolve("@expo/config-plugins")).href;
|
|
10
|
+
const node = which("node");
|
|
11
|
+
if (!node)
|
|
12
|
+
throw new Error("Missing node. Install Node 24.19.0 (the version in .nvmrc), then retry.");
|
|
13
|
+
// Use the same static named imports as beta.5. Older Node releases cannot
|
|
14
|
+
// discover these exports in Expo's Babel-generated CommonJS modules.
|
|
15
|
+
const child = spawnProcess([node, "--input-type=module", "-e",
|
|
16
|
+
`import { AndroidConfig, IOSConfig } from ${JSON.stringify(configPlugins)}; if (!AndroidConfig || !IOSConfig) throw new Error('Missing Expo config exports');`,
|
|
17
|
+
], { cwd: root, stdout: "ignore", stderr: "pipe" });
|
|
18
|
+
const [stderr, code] = await Promise.all([new Response(child.stderr).text(), child.exited]);
|
|
19
|
+
if (code !== 0)
|
|
20
|
+
throw new Error(`Expo Desktop beta could not load its config plugins using ${node}. Use Node 24.19.0 (nvm install && nvm use from the framework checkout), then retry. Node 24.12.0 cannot import these CommonJS named exports.\n${stderr.trim()}`);
|
|
21
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { packageManager, managerCommand, localArchive } from "./package-manager.js";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { readJson, writeJson } from "./project.js";
|
|
4
|
+
import { run } from "./commands.js";
|
|
5
|
+
/** Modules shipped in the maintained client, in addition to its platform starter. */
|
|
6
|
+
export async function prepareGoProfile(root, manifest, platform, selectedManager) {
|
|
7
|
+
const manager = packageManager(root, selectedManager);
|
|
8
|
+
const pkg = readJson(path.join(root, "package.json"));
|
|
9
|
+
const archives = readJson(manifest);
|
|
10
|
+
if (!archives["@legendapp/spark"])
|
|
11
|
+
throw new Error("Spark Runner profile requires @legendapp/spark");
|
|
12
|
+
pkg.dependencies["@legendapp/spark"] = localArchive(path.resolve(path.dirname(manifest), archives["@legendapp/spark"]));
|
|
13
|
+
pkg.dependencies["@react-native-async-storage/async-storage"] = "2.2.0";
|
|
14
|
+
// Expo's mobile development client brings this native utility into universal
|
|
15
|
+
// consumers' conservative graph. It builds on macOS and must be present in Go.
|
|
16
|
+
if (platform === "macos")
|
|
17
|
+
pkg.dependencies["expo-json-utils"] = "0.15.0";
|
|
18
|
+
writeJson(path.join(root, "package.json"), pkg);
|
|
19
|
+
await run(root, managerCommand(manager, ["install"]));
|
|
20
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { copyFileSync, lstatSync, mkdirSync, realpathSync, chmodSync, readdirSync, rmSync, writeFileSync } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { createRequire } from "node:module";
|
|
4
|
+
import { architecture } from "./platform.js";
|
|
5
|
+
const { validateHelpers } = createRequire(import.meta.url)("@legendapp/spark-desktop-config/helpers.cjs");
|
|
6
|
+
export function resolveHelpers(root, helpers = {}, platform = "macos", arch = architecture(platform)) {
|
|
7
|
+
validateHelpers(helpers);
|
|
8
|
+
const base = realpathSync(root);
|
|
9
|
+
function inspect(file) {
|
|
10
|
+
// Reject symlinks at every level, including parent directories. Bundles are
|
|
11
|
+
// relocatable plain directories; links and special files aren't portable.
|
|
12
|
+
const relative = path.relative(base, file);
|
|
13
|
+
let current = base;
|
|
14
|
+
for (const part of relative.split(path.sep)) {
|
|
15
|
+
current = path.join(current, part);
|
|
16
|
+
if (lstatSync(current).isSymbolicLink())
|
|
17
|
+
throw new Error(`Helper contains a symlink: ${current}`);
|
|
18
|
+
}
|
|
19
|
+
return lstatSync(file);
|
|
20
|
+
}
|
|
21
|
+
return Object.entries(helpers).map(([name, value]) => {
|
|
22
|
+
const bundle = typeof value === "string" ? undefined : value[`${platform}-${arch}`];
|
|
23
|
+
if (typeof value !== "string" && !bundle)
|
|
24
|
+
throw new Error(`Helper ${name} has no ${platform}-${arch} bundle`);
|
|
25
|
+
const directory = bundle ? path.join(base, bundle.directory) : undefined;
|
|
26
|
+
const file = bundle ? path.join(directory, bundle.executable) : path.join(base, value);
|
|
27
|
+
if (!inspect(file).isFile())
|
|
28
|
+
throw new Error(`Helper must be a regular file: ${name}`);
|
|
29
|
+
const files = [];
|
|
30
|
+
const directories = [];
|
|
31
|
+
const modes = [];
|
|
32
|
+
function visit(entry) {
|
|
33
|
+
const stat = inspect(entry);
|
|
34
|
+
if (stat.isDirectory()) {
|
|
35
|
+
directories.push(path.relative(directory, entry));
|
|
36
|
+
for (const child of readdirSync(entry).sort())
|
|
37
|
+
visit(path.join(entry, child));
|
|
38
|
+
}
|
|
39
|
+
else if (stat.isFile()) {
|
|
40
|
+
files.push(path.relative(base, entry));
|
|
41
|
+
modes.push([path.relative(base, entry), stat.mode & 0o777]);
|
|
42
|
+
}
|
|
43
|
+
else
|
|
44
|
+
throw new Error(`Helper contains a special file: ${entry}`);
|
|
45
|
+
}
|
|
46
|
+
visit(directory ?? file);
|
|
47
|
+
if (bundle && readdirSync(directory).some(name => name.toLowerCase() === ".spark-entry"))
|
|
48
|
+
throw new Error(".spark-entry is reserved for helper metadata");
|
|
49
|
+
return { name, file, relative: path.relative(base, file), directory, files, directories, modes, executable: bundle?.executable };
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
export function copyHelpers(root, app, helpers = {}, platform = "macos", arch = architecture(platform)) {
|
|
53
|
+
const bundles = resolveHelpers(root, helpers, platform, arch);
|
|
54
|
+
const destination = path.join(app, platform === "windows" ? "Helpers" : "Contents/Helpers");
|
|
55
|
+
// This directory is framework-owned. Removed helpers must not survive rebuilds.
|
|
56
|
+
rmSync(destination, { recursive: true, force: true });
|
|
57
|
+
if (!bundles.length)
|
|
58
|
+
return;
|
|
59
|
+
mkdirSync(destination, { recursive: true });
|
|
60
|
+
for (const helper of bundles) {
|
|
61
|
+
if (!helper.directory) {
|
|
62
|
+
const file = path.join(destination, helper.name + (platform === "windows" ? ".exe" : ""));
|
|
63
|
+
copyFileSync(helper.file, file);
|
|
64
|
+
chmodSync(file, 0o755);
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
67
|
+
const directory = path.join(destination, `${helper.name}.helper`);
|
|
68
|
+
for (const relative of helper.directories)
|
|
69
|
+
mkdirSync(path.join(directory, relative), { recursive: true });
|
|
70
|
+
for (const relative of helper.files) {
|
|
71
|
+
const source = path.join(realpathSync(root), relative);
|
|
72
|
+
const target = path.join(directory, path.relative(helper.directory, source));
|
|
73
|
+
mkdirSync(path.dirname(target), { recursive: true });
|
|
74
|
+
copyFileSync(source, target);
|
|
75
|
+
}
|
|
76
|
+
chmodSync(path.join(directory, helper.executable), 0o755);
|
|
77
|
+
writeFileSync(path.join(directory, ".spark-entry"), helper.executable, "utf8");
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
import { spawnProcess } from "./process.js";
|
|
2
|
+
import { examples } from "./examples.js";
|
|
3
|
+
import { prepareGoProfile } from "./go-profile.js";
|
|
4
|
+
import { exportSDK, importSDK } from "./sdk-transfer.js";
|
|
5
|
+
import { hostPlatform } from "./platform.js";
|
|
6
|
+
import path from "node:path";
|
|
7
|
+
import { parseArgs } from "node:util";
|
|
8
|
+
import { existsSync, readFileSync, writeFileSync } from "node:fs";
|
|
9
|
+
import { prepareConfig, readConfig, isExpoProject } from "@legendapp/spark-desktop-config/config.cjs";
|
|
10
|
+
import { nodeCommand, prepareWindows } from "./windows.js";
|
|
11
|
+
import { create, refreshLocalPackages } from "./create.js";
|
|
12
|
+
import { addDesktop } from "./add-desktop.js";
|
|
13
|
+
import { buildMode } from "./build-mode.js";
|
|
14
|
+
import { initializeUpdates } from "./updates.js";
|
|
15
|
+
import { packageApp } from "./package.js";
|
|
16
|
+
import { credentials } from "./credentials.js";
|
|
17
|
+
import { build, analyze } from "./build.js";
|
|
18
|
+
import { launch } from "./dev.js";
|
|
19
|
+
import { doctor, run } from "./commands.js";
|
|
20
|
+
import { findFramework, findProject, sparkHome, creationManifest, packageManifest, registerRuntime } from "./local.js";
|
|
21
|
+
import { readJson, stateFile, VERSION, writeJson } from "./project.js";
|
|
22
|
+
import { devCommand } from "./dev-command.js";
|
|
23
|
+
async function main() {
|
|
24
|
+
const argv = process.argv.slice(2);
|
|
25
|
+
if (argv[0] === "dev")
|
|
26
|
+
return devCommand(argv.slice(1));
|
|
27
|
+
const { positionals, values } = parseArgs({
|
|
28
|
+
args: argv,
|
|
29
|
+
allowPositionals: true,
|
|
30
|
+
options: {
|
|
31
|
+
example: { type: "string" },
|
|
32
|
+
"package-manager": { type: "string" },
|
|
33
|
+
runtime: { type: "string", multiple: true },
|
|
34
|
+
universal: { type: "boolean" },
|
|
35
|
+
device: { type: "string" },
|
|
36
|
+
project: { type: "string" },
|
|
37
|
+
platform: { type: "string" },
|
|
38
|
+
packages: { type: "string" },
|
|
39
|
+
port: { type: "string" },
|
|
40
|
+
runner: { type: "boolean" },
|
|
41
|
+
prebuilt: { type: "boolean" },
|
|
42
|
+
go: { type: "boolean" }, // Legacy desktop build alias; dev --go belongs to Expo.
|
|
43
|
+
dev: { type: "boolean" },
|
|
44
|
+
release: { type: "boolean" },
|
|
45
|
+
preview: { type: "boolean" },
|
|
46
|
+
force: { type: "boolean" },
|
|
47
|
+
"no-open": { type: "boolean" },
|
|
48
|
+
"submission-id": { type: "string" },
|
|
49
|
+
help: { type: "boolean", short: "h" },
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
if (values.platform && !["macos", "windows", "ios", "android", "web"].includes(values.platform))
|
|
53
|
+
throw new Error("Platform must be macos, windows, ios, android, or web.");
|
|
54
|
+
if (values.platform)
|
|
55
|
+
process.env.SPARK_PLATFORM = values.platform;
|
|
56
|
+
const platform = (values.platform ?? hostPlatform());
|
|
57
|
+
const projectOption = values.project;
|
|
58
|
+
const start = path.resolve(projectOption ?? process.cwd());
|
|
59
|
+
const project = () => findProject(start);
|
|
60
|
+
const port = values.port === undefined ? undefined : Number(values.port);
|
|
61
|
+
if (port !== undefined && (!Number.isInteger(port) || port < 1 || port > 65535))
|
|
62
|
+
throw new Error("Port must be an integer between 1 and 65535.");
|
|
63
|
+
const command = positionals[0];
|
|
64
|
+
if (!values.help && !values.platform && !(command === "open" && positionals[1]) && ["build", "prebuild", "analyze", "package", "open", "updates", "credentials"].includes(command ?? "") && isExpoProject(project())) {
|
|
65
|
+
process.env.SPARK_PLATFORM = readConfig(project()).expo.platforms[0];
|
|
66
|
+
}
|
|
67
|
+
if (values.example && (command !== "create" || !examples.includes(values.example)))
|
|
68
|
+
throw new Error(`Use create --example ${examples.join(" | ")}`);
|
|
69
|
+
if (values.universal && command !== "create")
|
|
70
|
+
throw new Error("--universal is a create option.");
|
|
71
|
+
if (!values.help && ["build", "prebuild"].includes(command ?? "")) {
|
|
72
|
+
const root = project();
|
|
73
|
+
const selected = readConfig(root).expo.platforms[0];
|
|
74
|
+
if (["ios", "android", "web"].includes(selected)) {
|
|
75
|
+
if (command === "build" && selected === "web")
|
|
76
|
+
throw new Error("Use expo export --platform web for web production output.");
|
|
77
|
+
if (command === "prebuild" && selected === "web")
|
|
78
|
+
throw new Error("Web has no native project to prebuild.");
|
|
79
|
+
if (values.runner || values.prebuilt || values.go || values.release || values.preview || (command === "build" && !values.dev))
|
|
80
|
+
throw new Error("Mobile builds use --dev in this slice; Expo owns mobile distribution workflows.");
|
|
81
|
+
prepareConfig(root);
|
|
82
|
+
const args = command === "prebuild" ? ["prebuild", "--platform", selected, "--no-install"] : [`run:${selected}`, ...(values.device ? ["--device", values.device] : []), ...(port ? ["--port", String(port)] : [])];
|
|
83
|
+
const manifest = readFileSync(path.join(root, "package.json"), "utf8");
|
|
84
|
+
try {
|
|
85
|
+
const child = spawnProcess(nodeCommand(root, "expo", "expo", args), { cwd: root, env: process.env, stdin: "inherit", stdout: "inherit", stderr: "inherit" });
|
|
86
|
+
process.exitCode = await child.exited;
|
|
87
|
+
}
|
|
88
|
+
finally {
|
|
89
|
+
writeFileSync(path.join(root, "package.json"), manifest);
|
|
90
|
+
}
|
|
91
|
+
process.exit(process.exitCode);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (values.help || !command) {
|
|
95
|
+
console.log(`Legend Spark
|
|
96
|
+
|
|
97
|
+
spark create MyApp Create an app (--universal for shared Settings; --platform selects a target)
|
|
98
|
+
spark create MyEditor --example document-editor Shared document editor
|
|
99
|
+
spark create MyNotes --example notes-lite Local notes
|
|
100
|
+
spark create MyMusic --example music-lite Audio queue
|
|
101
|
+
spark create MyDiff --example diff-lite Text comparison
|
|
102
|
+
spark add desktop Add desktop to an existing Expo app without replacing its entry point
|
|
103
|
+
spark dev Develop with Fast Refresh
|
|
104
|
+
spark build Build a standalone desktop app
|
|
105
|
+
spark prebuild Generate a Windows/mobile native project
|
|
106
|
+
spark package Sign and notarize a distribution archive
|
|
107
|
+
|
|
108
|
+
Inside an app: npm run dev, npm run build, npm run package (or pnpm, yarn, bun)
|
|
109
|
+
|
|
110
|
+
Advanced: updates init <feedURL>, credentials, doctor, analyze, open [app], build --dev, build --preview
|
|
111
|
+
Windows: dev and build --dev; production builds are not yet supported.
|
|
112
|
+
SDK transfer: sdk export <directory> [--runtime <Spark Runner directory>], sdk import <directory>
|
|
113
|
+
SDK maintainers: sdk pack, sdk package-runner, sdk build-runner [--platform windows], sdk register <runtime directory>
|
|
114
|
+
Targets: dev/build/prebuild --platform macos|windows|ios|android|web
|
|
115
|
+
Overrides: --project <directory>, --port <number>, dev --runner-binary <runtime path>, create --packages <manifest>, create / sdk build-runner --package-manager npm|pnpm|yarn|bun`);
|
|
116
|
+
}
|
|
117
|
+
else
|
|
118
|
+
switch (command) {
|
|
119
|
+
case "add": {
|
|
120
|
+
if (positionals[1] !== "desktop")
|
|
121
|
+
throw new Error("Usage: spark add desktop [--project <Expo app>]");
|
|
122
|
+
await addDesktop(start, creationManifest(values.packages));
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
case "create": {
|
|
126
|
+
if (!positionals[1])
|
|
127
|
+
throw new Error("Usage: spark create MyApp");
|
|
128
|
+
if (!values.universal && !["macos", "windows"].includes(platform))
|
|
129
|
+
throw new Error("Use create --universal for mobile/web targets");
|
|
130
|
+
await create(path.resolve(positionals[1]), creationManifest(values.packages), platform, !!values.universal || !!values.example, values.example, values["package-manager"]);
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
case "sdk": {
|
|
134
|
+
if (!["macos", "windows"].includes(platform))
|
|
135
|
+
throw new Error("SDK commands require a desktop target");
|
|
136
|
+
switch (positionals[1]) {
|
|
137
|
+
case "export": {
|
|
138
|
+
if (!positionals[2])
|
|
139
|
+
throw new Error("Usage: spark sdk export <directory> [--runtime <Spark Runner directory>]");
|
|
140
|
+
console.log(`Exported SDK to ${exportSDK(packageManifest(values.packages), positionals[2], values.runtime)}. Transfer the directory and run node install.mjs there.`);
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
case "import": {
|
|
144
|
+
if (!positionals[2])
|
|
145
|
+
throw new Error("Usage: spark sdk import <SDK directory>");
|
|
146
|
+
console.log(`Registered SDK from ${importSDK(positionals[2])}`);
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
case "pack": {
|
|
150
|
+
const framework = findFramework(start) ?? findFramework();
|
|
151
|
+
if (!framework)
|
|
152
|
+
throw new Error("Run spark sdk pack inside the framework checkout.");
|
|
153
|
+
await run(framework, [process.execPath, path.join(framework, "scripts/pack.ts"), ...(platform === "windows" ? ["--platform=windows"] : [])]);
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
case "register": {
|
|
157
|
+
if (!positionals[2])
|
|
158
|
+
throw new Error("Usage: spark sdk register <runtime directory>");
|
|
159
|
+
const result = registerRuntime(positionals[2]);
|
|
160
|
+
console.log(`Registered Spark Runner for SDK ${result.runtime.framework}. Apps will discover it automatically.`);
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
case "package-runner": {
|
|
164
|
+
if (platform !== "macos")
|
|
165
|
+
throw new Error("Signed Runner distribution currently supports macOS only.");
|
|
166
|
+
const root = projectOption ? project() : path.join(sparkHome(), "sdk-builds", VERSION, "SparkRunner");
|
|
167
|
+
const result = await packageApp(root, { runner: true, force: !!values.force, submissionId: values["submission-id"] });
|
|
168
|
+
if (result.pending)
|
|
169
|
+
process.exitCode = 2;
|
|
170
|
+
break;
|
|
171
|
+
}
|
|
172
|
+
case "build-go": // Legacy alias; persisted runtime metadata still uses "go".
|
|
173
|
+
case "build-prebuilt": // Legacy command alias.
|
|
174
|
+
case "build-runner": {
|
|
175
|
+
let root;
|
|
176
|
+
if (projectOption)
|
|
177
|
+
root = project();
|
|
178
|
+
else {
|
|
179
|
+
root = path.join(sparkHome(), "sdk-builds", VERSION, ...(platform === "windows" ? ["windows"] : []), "SparkRunner");
|
|
180
|
+
const manifest = packageManifest(values.packages);
|
|
181
|
+
const manager = values["package-manager"];
|
|
182
|
+
if (!existsSync(path.join(root, "package.json")))
|
|
183
|
+
await create(root, manifest, platform, false, undefined, manager);
|
|
184
|
+
else
|
|
185
|
+
await refreshLocalPackages(root, manifest, manager);
|
|
186
|
+
await prepareGoProfile(root, manifest, platform, manager);
|
|
187
|
+
const configFile = path.join(root, "desktop.config.json");
|
|
188
|
+
const config = readJson(configFile);
|
|
189
|
+
config.version = VERSION.split("-")[0];
|
|
190
|
+
writeJson(configFile, config);
|
|
191
|
+
}
|
|
192
|
+
await build(root, "go", !!values.force);
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
default: throw new Error("SDK commands: spark sdk pack, spark sdk build-runner, spark sdk register <runtime directory>");
|
|
196
|
+
}
|
|
197
|
+
break;
|
|
198
|
+
}
|
|
199
|
+
case "prebuild":
|
|
200
|
+
if (readConfig(project()).expo.platforms[0] !== "windows")
|
|
201
|
+
throw new Error("For macOS, spark build --dev generates and builds the native project.");
|
|
202
|
+
await prepareWindows(project(), "dev");
|
|
203
|
+
break;
|
|
204
|
+
case "doctor":
|
|
205
|
+
await doctor(start);
|
|
206
|
+
console.log("Native toolchain available.");
|
|
207
|
+
break;
|
|
208
|
+
case "updates": {
|
|
209
|
+
if (positionals[1] !== "init" || !positionals[2])
|
|
210
|
+
throw new Error("Usage: spark updates init https://example.com/updates/appcast.xml");
|
|
211
|
+
await initializeUpdates(project(), positionals[2]);
|
|
212
|
+
break;
|
|
213
|
+
}
|
|
214
|
+
case "credentials":
|
|
215
|
+
await credentials(project(), true);
|
|
216
|
+
console.log("Signing credentials configured. Run spark package to prepare a distribution archive.");
|
|
217
|
+
break;
|
|
218
|
+
case "package": {
|
|
219
|
+
if (process.platform !== "darwin" || process.arch !== "arm64")
|
|
220
|
+
throw new Error("Packaging currently supports Apple Silicon macOS only.");
|
|
221
|
+
const result = await packageApp(project(), { force: !!values.force, submissionId: values["submission-id"] });
|
|
222
|
+
if (result.pending)
|
|
223
|
+
process.exitCode = 2;
|
|
224
|
+
break;
|
|
225
|
+
}
|
|
226
|
+
case "build": {
|
|
227
|
+
const mode = buildMode(values);
|
|
228
|
+
const root = project();
|
|
229
|
+
await build(root, mode, !!values.force);
|
|
230
|
+
if (mode === "dev") {
|
|
231
|
+
const settings = stateFile(root, "settings.json");
|
|
232
|
+
writeJson(settings, { ...(existsSync(settings) ? readJson(settings) : {}), target: "dev" });
|
|
233
|
+
}
|
|
234
|
+
break;
|
|
235
|
+
}
|
|
236
|
+
case "analyze": {
|
|
237
|
+
const result = await analyze(project());
|
|
238
|
+
console.log(JSON.stringify({ included: result.included.map((p) => p.name), excluded: result.excluded.map((p) => p.name) }, null, 2));
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
241
|
+
case "open": {
|
|
242
|
+
// No path opens the project's last standalone build. In-session `o` opens the development runtime.
|
|
243
|
+
const root = positionals[1] ? start : project();
|
|
244
|
+
const record = stateFile(root, "release-build.json");
|
|
245
|
+
if (!positionals[1] && !existsSync(record))
|
|
246
|
+
throw new Error("No standalone app has been built. Run npm run build first.");
|
|
247
|
+
const product = positionals[1] ? path.resolve(positionals[1]) : readJson(record).app;
|
|
248
|
+
if (!existsSync(product))
|
|
249
|
+
throw new Error("The app binary is missing. Rebuild it with npm run build.");
|
|
250
|
+
const app = await launch(root, product, port);
|
|
251
|
+
await app.exited;
|
|
252
|
+
break;
|
|
253
|
+
}
|
|
254
|
+
default: throw new Error(`Unknown command: ${command}. Run spark --help.`);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
try {
|
|
258
|
+
await main();
|
|
259
|
+
}
|
|
260
|
+
catch (error) {
|
|
261
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
262
|
+
process.exitCode = 1;
|
|
263
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const fs = require('node:fs');
|
|
2
|
+
const path = require('node:path');
|
|
3
|
+
const { prepareConfig, toExpo } = require('@legendapp/spark-desktop-config/config.cjs');
|
|
4
|
+
|
|
5
|
+
// Expo Desktop assigns the application names and native IDs. Initialize only
|
|
6
|
+
// spark-owned configuration, once, after its template dependencies are installed.
|
|
7
|
+
function initializeTemplate(root) {
|
|
8
|
+
const file = path.join(root, 'desktop.config.json');
|
|
9
|
+
if (!fs.existsSync(file)) return;
|
|
10
|
+
const config = JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
11
|
+
if (config.projectId) return;
|
|
12
|
+
const { expo } = JSON.parse(fs.readFileSync(path.join(root, 'app.json'), 'utf8'));
|
|
13
|
+
if (!expo?.windows?.projectGuid || !expo.name || !expo.macos?.bundleIdentifier) {
|
|
14
|
+
throw new Error('Create this template with expo-desktop create-app so its application identity is initialized.');
|
|
15
|
+
}
|
|
16
|
+
config.name = expo.name;
|
|
17
|
+
config.projectId = expo.windows.projectGuid;
|
|
18
|
+
config.expo = { ...expo, ...config.expo };
|
|
19
|
+
if (config.macos) config.macos = { ...expo.macos, ...config.macos, bundleIdentifier: expo.macos.bundleIdentifier };
|
|
20
|
+
toExpo(config);
|
|
21
|
+
fs.writeFileSync(file, JSON.stringify(config, null, 2) + '\n');
|
|
22
|
+
prepareConfig(root);
|
|
23
|
+
}
|
|
24
|
+
module.exports = { initializeTemplate };
|
|
25
|
+
if (require.main === module) initializeTemplate(process.cwd());
|