git0 0.2.10 → 0.2.11
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/TypeScript-React-Starter/LICENSE +21 -0
- package/TypeScript-React-Starter/README-CRA.md +1281 -0
- package/TypeScript-React-Starter/README.md +810 -0
- package/TypeScript-React-Starter/package.json +28 -0
- package/TypeScript-React-Starter/public/favicon.ico +0 -0
- package/TypeScript-React-Starter/public/index.html +31 -0
- package/TypeScript-React-Starter/src/App.css +24 -0
- package/TypeScript-React-Starter/src/App.test.tsx +8 -0
- package/TypeScript-React-Starter/src/App.tsx +23 -0
- package/TypeScript-React-Starter/src/actions/index.tsx +24 -0
- package/TypeScript-React-Starter/src/components/Hello.css +13 -0
- package/TypeScript-React-Starter/src/components/Hello.test.tsx +30 -0
- package/TypeScript-React-Starter/src/components/Hello.tsx +35 -0
- package/TypeScript-React-Starter/src/constants/index.tsx +6 -0
- package/TypeScript-React-Starter/src/containers/Hello.tsx +20 -0
- package/TypeScript-React-Starter/src/index.css +5 -0
- package/TypeScript-React-Starter/src/index.tsx +22 -0
- package/TypeScript-React-Starter/src/logo.svg +7 -0
- package/TypeScript-React-Starter/src/reducers/index.tsx +15 -0
- package/TypeScript-React-Starter/src/types/index.tsx +5 -0
- package/TypeScript-React-Starter/tsconfig.json +29 -0
- package/TypeScript-React-Starter/tslint.json +11 -0
- package/TypeScript-React-Starter/yarn.lock +4785 -0
- package/package.json +2 -2
- package/src/github-api.js +1 -0
- package/svelte-nodegui/.all-contributorsrc +60 -0
- package/svelte-nodegui/.vscode/launch.json +29 -0
- package/svelte-nodegui/CHANGELOG.md +153 -0
- package/svelte-nodegui/LICENSE +22 -0
- package/svelte-nodegui/README.md +151 -0
- package/svelte-nodegui/demo/.editorconfig +15 -0
- package/svelte-nodegui/demo/.vscode/extensions.json +3 -0
- package/svelte-nodegui/demo/livereload.js +29 -0
- package/svelte-nodegui/demo/package-lock.json +3514 -0
- package/svelte-nodegui/demo/package.json +35 -0
- package/svelte-nodegui/demo/src/App.svelte +29 -0
- package/svelte-nodegui/demo/src/app.ts +31 -0
- package/svelte-nodegui/demo/tsconfig.json +40 -0
- package/svelte-nodegui/demo/webpack.config.js +110 -0
- package/svelte-nodegui/extras/assets/kitchen.png +0 -0
- package/svelte-nodegui/extras/assets/nodegui.png +0 -0
- package/svelte-nodegui/extras/assets/nodegui_white.png +0 -0
- package/svelte-nodegui/extras/assets/start_icon.png +0 -0
- package/svelte-nodegui/extras/legal/logo/thanks.md +13 -0
- package/svelte-nodegui/extras/legal/yode/LICENSE +21 -0
- package/svelte-nodegui/extras/legal/yoga/LICENSE +0 -0
- package/svelte-nodegui/extras/logo/nodegui-circle.png +0 -0
- package/svelte-nodegui/extras/logo/nodegui.png +0 -0
- package/svelte-nodegui/extras/logo/nodegui.svg +4 -0
- package/svelte-nodegui/nativescript-svelte-todo.gif +0 -0
- package/svelte-nodegui/package-lock.json +1749 -0
- package/svelte-nodegui/package.json +44 -0
- package/svelte-nodegui/repl-workers/bundler/commonjs.js +58 -0
- package/svelte-nodegui/repl-workers/bundler/index.js +353 -0
- package/svelte-nodegui/repl-workers/package-lock.json +484 -0
- package/svelte-nodegui/repl-workers/package.json +21 -0
- package/svelte-nodegui/repl-workers/rollup.config.js +21 -0
- package/svelte-nodegui/rollup.config.js +81 -0
- package/svelte-nodegui/scripts/create-pkg.js +42 -0
- package/svelte-nodegui/src/components/AsComponent.svelte +16 -0
- package/svelte-nodegui/src/components/SlotComponent.svelte +4 -0
- package/svelte-nodegui/src/components/Template.svelte +10 -0
- package/svelte-nodegui/src/components/Template.svelte.d.ts +6 -0
- package/svelte-nodegui/src/components/index.ts +2 -0
- package/svelte-nodegui/src/dom/index.ts +132 -0
- package/svelte-nodegui/src/dom/nativescript-vue-next/LICENCE +21 -0
- package/svelte-nodegui/src/dom/nativescript-vue-next/index.ts +19 -0
- package/svelte-nodegui/src/dom/nativescript-vue-next/runtime/index.ts +21 -0
- package/svelte-nodegui/src/dom/nativescript-vue-next/runtime/nodes.ts +890 -0
- package/svelte-nodegui/src/dom/nativescript-vue-next/runtime/registry.ts +262 -0
- package/svelte-nodegui/src/dom/nativescript-vue-next/runtime/runtimeHelpers.ts +20 -0
- package/svelte-nodegui/src/dom/react-nodegui/LICENSE +21 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/AbstractComponents/RNAbstractButton.ts +67 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Action/RNAction.ts +146 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Action/index.ts +37 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/AnimatedImage/RNAnimatedImage.ts +76 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/AnimatedImage/index.ts +45 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/BoxView/RNBoxView.ts +99 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/BoxView/index.ts +49 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Button/RNButton.ts +71 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Button/index.ts +49 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/CheckBox/RNCheckBox.ts +71 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/CheckBox/index.ts +50 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/ComboBox/RNComboBox.ts +118 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/ComboBox/index.ts +50 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Dial/RNDial.ts +69 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Dial/index.ts +41 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/GridView/GridColumn/RNGridColumn.ts +95 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/GridView/GridColumn/index.ts +49 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/GridView/GridRow/RNGridRow.ts +141 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/GridView/GridRow/index.ts +47 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/GridView/RNGridView.ts +185 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/GridView/index.ts +51 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/GridView/utils.ts +59 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Image/RNImage.ts +135 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Image/index.ts +46 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/LineEdit/RNLineEdit.ts +82 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/LineEdit/index.ts +41 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Menu/RNMenu.ts +49 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Menu/index.ts +44 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/MenuBar/RNMenuBar.ts +51 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/MenuBar/index.ts +42 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/PlainTextEdit/RNPlainTextEdit.ts +82 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/PlainTextEdit/index.ts +44 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/ProgressBar/RNProgressBar.ts +78 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/ProgressBar/index.ts +43 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/RadioButton/RNRadioButton.ts +50 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/RadioButton/index.ts +43 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/ScrollArea/RNScrollArea.ts +51 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/ScrollArea/index.ts +44 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Slider/RNSlider.ts +97 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Slider/index.ts +46 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/SpinBox/RNSpinBox.ts +88 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/SpinBox/index.ts +49 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Svg/RNSvg.ts +67 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Svg/index.ts +43 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/SystemTrayIcon/RNSystemTrayIcon.ts +141 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/SystemTrayIcon/index.ts +43 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Tab/RNTab.ts +69 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Tab/index.ts +48 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/TabItem/RNTabItem.ts +72 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/TabItem/index.ts +40 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Text/RNText.ts +65 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Text/index.ts +49 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/View/RNView.ts +306 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/View/index.ts +44 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Window/RNWindow.ts +66 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/Window/index.ts +50 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/components/config.ts +95 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/index.ts +52 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/reconciler/index.ts +226 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/utils/decoupleFromReact.ts +2 -0
- package/svelte-nodegui/src/dom/react-nodegui/src/utils/helpers.ts +14 -0
- package/svelte-nodegui/src/dom/shared/Logger.ts +16 -0
- package/svelte-nodegui/src/dom/shared/index.ts +1 -0
- package/svelte-nodegui/src/dom/svelte/HeadElement.ts +41 -0
- package/svelte-nodegui/src/dom/svelte/RNObject.ts +95 -0
- package/svelte-nodegui/src/dom/svelte/StyleElement.ts +92 -0
- package/svelte-nodegui/src/dom/svelte/SvelteNodeGUIDocument.ts +124 -0
- package/svelte-nodegui/src/dom/svelte/TemplateElement.ts +16 -0
- package/svelte-nodegui/src/dom/svelte-elements.ts +111 -0
- package/svelte-nodegui/src/index.ts +62 -0
- package/svelte-nodegui/src/svelte-nodegui.ts +159 -0
- package/svelte-nodegui/src/transitions/bezier.ts +112 -0
- package/svelte-nodegui/src/transitions/index.ts +227 -0
- package/svelte-nodegui/tsconfig.json +19 -0
- package/svelte-nodegui/website/README.md +33 -0
- package/svelte-nodegui/website/blog/2019-05-30-welcome.md +12 -0
- package/svelte-nodegui/website/docs/api/classes/renderer.md +49 -0
- package/svelte-nodegui/website/docs/api/classes/rnaction.md +608 -0
- package/svelte-nodegui/website/docs/api/classes/rngridcolumn.md +232 -0
- package/svelte-nodegui/website/docs/api/classes/rngridrow.md +247 -0
- package/svelte-nodegui/website/docs/api/classes/rnmenu.md +1337 -0
- package/svelte-nodegui/website/docs/api/classes/rnmenubar.md +1341 -0
- package/svelte-nodegui/website/docs/api/globals.md +832 -0
- package/svelte-nodegui/website/docs/api/index.md +0 -0
- package/svelte-nodegui/website/docs/api/interfaces/_react_proxy_.reactproxycomponent.md +38 -0
- package/svelte-nodegui/website/docs/api/interfaces/abstractbuttonprops.md +306 -0
- package/svelte-nodegui/website/docs/api/interfaces/actionprops.md +115 -0
- package/svelte-nodegui/website/docs/api/interfaces/animatedimageprops.md +297 -0
- package/svelte-nodegui/website/docs/api/interfaces/boxviewprops.md +245 -0
- package/svelte-nodegui/website/docs/api/interfaces/buttonprops.md +313 -0
- package/svelte-nodegui/website/docs/api/interfaces/checkboxprops.md +313 -0
- package/svelte-nodegui/website/docs/api/interfaces/comboboxprops.md +343 -0
- package/svelte-nodegui/website/docs/api/interfaces/datawithoffset.md +32 -0
- package/svelte-nodegui/website/docs/api/interfaces/dialprops.md +259 -0
- package/svelte-nodegui/website/docs/api/interfaces/gridviewprops.md +273 -0
- package/svelte-nodegui/website/docs/api/interfaces/imageprops.md +311 -0
- package/svelte-nodegui/website/docs/api/interfaces/lineeditprops.md +266 -0
- package/svelte-nodegui/website/docs/api/interfaces/menubarprops.md +245 -0
- package/svelte-nodegui/website/docs/api/interfaces/menuprops.md +245 -0
- package/svelte-nodegui/website/docs/api/interfaces/plaintexteditprops.md +259 -0
- package/svelte-nodegui/website/docs/api/interfaces/progressbarprops.md +266 -0
- package/svelte-nodegui/website/docs/api/interfaces/radiobuttonprops.md +282 -0
- package/svelte-nodegui/website/docs/api/interfaces/scrollareaprops.md +245 -0
- package/svelte-nodegui/website/docs/api/interfaces/sliderprops.md +329 -0
- package/svelte-nodegui/website/docs/api/interfaces/spinboxprops.md +273 -0
- package/svelte-nodegui/website/docs/api/interfaces/systemtrayiconprops.md +97 -0
- package/svelte-nodegui/website/docs/api/interfaces/tabitemprops.md +28 -0
- package/svelte-nodegui/website/docs/api/interfaces/tabprops.md +245 -0
- package/svelte-nodegui/website/docs/api/interfaces/textprops.md +277 -0
- package/svelte-nodegui/website/docs/api/interfaces/viewprops.md +261 -0
- package/svelte-nodegui/website/docs/api/interfaces/windowprops.md +245 -0
- package/svelte-nodegui/website/docs/api/modules/_react_proxy_.md +29 -0
- package/svelte-nodegui/website/docs/doc1.md +162 -0
- package/svelte-nodegui/website/docs/guides/custom-nodegui-native-plugin.md +6 -0
- package/svelte-nodegui/website/docs/guides/debugging-in-vscode.md +39 -0
- package/svelte-nodegui/website/docs/guides/debugging.md +59 -0
- package/svelte-nodegui/website/docs/guides/getting-started.md +141 -0
- package/svelte-nodegui/website/docs/guides/handle-events.md +188 -0
- package/svelte-nodegui/website/docs/guides/images.md +62 -0
- package/svelte-nodegui/website/docs/guides/layout.md +281 -0
- package/svelte-nodegui/website/docs/guides/networking.md +31 -0
- package/svelte-nodegui/website/docs/guides/packaging.md +32 -0
- package/svelte-nodegui/website/docs/guides/scroll-view.md +69 -0
- package/svelte-nodegui/website/docs/guides/styling.md +208 -0
- package/svelte-nodegui/website/docs/guides/tutorial.md +82 -0
- package/svelte-nodegui/website/docs/guides/using-native-node-modules.md +55 -0
- package/svelte-nodegui/website/docs/mdx.md +22 -0
- package/svelte-nodegui/website/docs/scripts/fixdocs.js +21 -0
- package/svelte-nodegui/website/docusaurus.config.js +131 -0
- package/svelte-nodegui/website/package.json +33 -0
- package/svelte-nodegui/website/sidebars.js +77 -0
- package/svelte-nodegui/website/src/components/CodeExample.js +42 -0
- package/svelte-nodegui/website/src/components/CreateNativeApps.js +46 -0
- package/svelte-nodegui/website/src/components/Features.js +62 -0
- package/svelte-nodegui/website/src/components/Hero.js +85 -0
- package/svelte-nodegui/website/src/components/SplitView.js +18 -0
- package/svelte-nodegui/website/src/components/Talks.js +68 -0
- package/svelte-nodegui/website/src/components/Try.js +83 -0
- package/svelte-nodegui/website/src/components/common.js +41 -0
- package/svelte-nodegui/website/src/components/styles.css +61 -0
- package/svelte-nodegui/website/src/css/custom.css +34 -0
- package/svelte-nodegui/website/src/pages/index.js +32 -0
- package/svelte-nodegui/website/src/pages/styles.module.css +35 -0
- package/svelte-nodegui/website/static/CNAME +1 -0
- package/svelte-nodegui/website/static/img/box-layout-1.png +0 -0
- package/svelte-nodegui/website/static/img/box-layout-2.png +0 -0
- package/svelte-nodegui/website/static/img/code-sample.png +0 -0
- package/svelte-nodegui/website/static/img/demo.png +0 -0
- package/svelte-nodegui/website/static/img/favicon.ico +0 -0
- package/svelte-nodegui/website/static/img/flex-layout-1.png +0 -0
- package/svelte-nodegui/website/static/img/grid-layout-1.png +0 -0
- package/svelte-nodegui/website/static/img/logo-circle.png +0 -0
- package/svelte-nodegui/website/static/img/logo.png +0 -0
- package/svelte-nodegui/website/static/img/logo.svg +5 -0
- package/svelte-nodegui/website/static/img/logox200.png +0 -0
- package/svelte-nodegui/website/static/img/undraw_building_websites.svg +1 -0
- package/svelte-nodegui/website/static/img/undraw_code_review.svg +1 -0
- package/svelte-nodegui/website/static/img/undraw_docusaurus_mountain.svg +170 -0
- package/svelte-nodegui/website/static/img/undraw_docusaurus_react.svg +169 -0
- package/svelte-nodegui/website/static/img/undraw_docusaurus_tree.svg +1 -0
- package/svelte-nodegui/website/static/img/undraw_react.svg +1 -0
- package/svelte-nodegui/website/static/img/undraw_website_setup.svg +1 -0
- package/svelte-nodegui/website/static/img/undraw_windows.svg +11 -0
- package/svelte-nodegui/website/website/sidebars.js +32 -0
- package/svelte-nodegui/website/yarn.lock +10533 -0
- package/bun.lock +0 -159
- package/docs-config/bun.lock +0 -6139
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nodegui/svelte-nodegui",
|
|
3
|
+
"version": "0.1.2",
|
|
4
|
+
"description": "Svelte integration for NodeGUI",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/nodegui/svelte-nodegui.git"
|
|
8
|
+
},
|
|
9
|
+
"homepage": "https://github.com/nodegui/svelte-nodegui",
|
|
10
|
+
"keywords": [
|
|
11
|
+
"nodegui",
|
|
12
|
+
"svelte"
|
|
13
|
+
],
|
|
14
|
+
"scripts": {
|
|
15
|
+
"clean": "npx rimraf ./dist/*",
|
|
16
|
+
"build": "npm run clean && rollup -c && node ./scripts/create-pkg.js",
|
|
17
|
+
"prepare": "npm run build",
|
|
18
|
+
"watch": "rollup -cw",
|
|
19
|
+
"deploy": "npm run build && cd dist && npm publish --access=public"
|
|
20
|
+
},
|
|
21
|
+
"author": "Jamie Birch (https://twitter.com/LinguaBrowse)",
|
|
22
|
+
"contributors": [
|
|
23
|
+
"Jamie Birch (https://twitter.com/LinguaBrowse)",
|
|
24
|
+
"Saurav Sahu <mrsauravsahu@outlook.com> (https://mrsauravsahu.github.io)"
|
|
25
|
+
],
|
|
26
|
+
"license": "MIT",
|
|
27
|
+
"peerDependencies": {
|
|
28
|
+
"@nodegui/nodegui": "^0.30.2",
|
|
29
|
+
"phin": "^3.5.1",
|
|
30
|
+
"svelte": "^3.24.1"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@nodegui/nodegui": "^0.30.2",
|
|
34
|
+
"glob": "^7.1.6",
|
|
35
|
+
"phin": "^3.5.1",
|
|
36
|
+
"rimraf": "^2.7.1",
|
|
37
|
+
"rollup": "^2.43.0",
|
|
38
|
+
"rollup-plugin-node-resolve": "^5.2.0",
|
|
39
|
+
"rollup-plugin-svelte": "^6.1.1",
|
|
40
|
+
"rollup-plugin-typescript2": "^0.25.3",
|
|
41
|
+
"svelte": "^3.35.0",
|
|
42
|
+
"typescript": "^4.2.3"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as acorn from 'acorn';
|
|
2
|
+
import { walk } from 'estree-walker';
|
|
3
|
+
|
|
4
|
+
const require = `function require(id) {
|
|
5
|
+
if (id in __repl_lookup) return __repl_lookup[id];
|
|
6
|
+
throw new Error(\`Cannot require modules dynamically (\${id})\`);
|
|
7
|
+
}`;
|
|
8
|
+
|
|
9
|
+
export default {
|
|
10
|
+
name: 'commonjs',
|
|
11
|
+
|
|
12
|
+
transform: (code, id) => {
|
|
13
|
+
|
|
14
|
+
if (!/\b(require|module|exports)\b/.test(code)) return;
|
|
15
|
+
console.log('transforming commonjs ', id)
|
|
16
|
+
try {
|
|
17
|
+
const ast = acorn.parse(code, {
|
|
18
|
+
ecmaVersion: 2015,
|
|
19
|
+
sourceType: 'module'
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
const requires = [];
|
|
23
|
+
|
|
24
|
+
walk(ast, {
|
|
25
|
+
enter: node => {
|
|
26
|
+
if (node.type === 'CallExpression' && node.callee.name === 'require') {
|
|
27
|
+
if (node.arguments.length !== 1) return;
|
|
28
|
+
const arg = node.arguments[0];
|
|
29
|
+
if (arg.type !== 'Literal' || typeof arg.value !== 'string') return;
|
|
30
|
+
|
|
31
|
+
requires.push(arg.value);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
const imports = requires.map((id, i) => `import __repl_${i} from '${id}';`).join('\n');
|
|
37
|
+
const lookup = `const __repl_lookup = { ${requires.map((id, i) => `'${id}': __repl_${i}`).join(', ')} };`;
|
|
38
|
+
|
|
39
|
+
const transformed = [
|
|
40
|
+
imports,
|
|
41
|
+
lookup,
|
|
42
|
+
require,
|
|
43
|
+
`const exports = {}; const module = { exports };`,
|
|
44
|
+
code,
|
|
45
|
+
`export default module.exports;`
|
|
46
|
+
].join('\n\n');
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
return {
|
|
50
|
+
code: transformed,
|
|
51
|
+
map: null
|
|
52
|
+
};
|
|
53
|
+
} catch (err) {
|
|
54
|
+
console.log("Error during commonjs transform", err)
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
};
|
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
import * as rollup from 'rollup/dist/es/rollup.browser.js';
|
|
2
|
+
import commonjs from './commonjs.js';
|
|
3
|
+
import svelteNativePreprocessor from 'svelte-native-preprocessor'
|
|
4
|
+
|
|
5
|
+
self.window = self; // egregious hack to get magic-string to work in a worker
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
let fulfil;
|
|
9
|
+
let ready = new Promise(f => fulfil = f);
|
|
10
|
+
|
|
11
|
+
let svelteUrl = 'https://unpkg.com/svelte@latest'
|
|
12
|
+
let packagesUrl = 'https://unpkg.com'
|
|
13
|
+
let current_id;
|
|
14
|
+
var version = 'latest';
|
|
15
|
+
|
|
16
|
+
self.addEventListener('message', async event => {
|
|
17
|
+
switch (event.data.type) {
|
|
18
|
+
case 'init':
|
|
19
|
+
version = event.data.version;
|
|
20
|
+
svelteUrl = version === 'local' ?
|
|
21
|
+
'/repl/local?file=' :
|
|
22
|
+
`https://unpkg.com/svelte@${version}`;
|
|
23
|
+
|
|
24
|
+
importScripts(
|
|
25
|
+
`${svelteUrl}/compiler.js`
|
|
26
|
+
);
|
|
27
|
+
|
|
28
|
+
fulfil();
|
|
29
|
+
break;
|
|
30
|
+
|
|
31
|
+
case 'bundle':
|
|
32
|
+
const { components, uid } = event.data;
|
|
33
|
+
|
|
34
|
+
if (components.length === 0) return;
|
|
35
|
+
|
|
36
|
+
current_id = uid;
|
|
37
|
+
|
|
38
|
+
await ready;
|
|
39
|
+
|
|
40
|
+
if (current_id !== uid) return;
|
|
41
|
+
|
|
42
|
+
const result = await bundle({ uid, components });
|
|
43
|
+
|
|
44
|
+
if (result.error === ABORT) return;
|
|
45
|
+
if (result && uid === current_id) postMessage(result);
|
|
46
|
+
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
let cached = {
|
|
52
|
+
dom: {},
|
|
53
|
+
ssr: {}
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
const ABORT = { aborted: true };
|
|
57
|
+
|
|
58
|
+
const fetch_cache = new Map();
|
|
59
|
+
function fetch_if_uncached(url) {
|
|
60
|
+
if (fetch_cache.has(url)) {
|
|
61
|
+
return fetch_cache.get(url);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const promise = fetch(url)
|
|
65
|
+
.then(async r => {
|
|
66
|
+
if (r.ok) {
|
|
67
|
+
return {
|
|
68
|
+
url: r.url,
|
|
69
|
+
body: await r.text()
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
throw new Error(await r.text());
|
|
74
|
+
})
|
|
75
|
+
.catch(err => {
|
|
76
|
+
fetch_cache.delete(url);
|
|
77
|
+
throw err;
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
fetch_cache.set(url, promise);
|
|
81
|
+
return promise;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
async function follow_redirects(url) {
|
|
85
|
+
const res = await fetch_if_uncached(url);
|
|
86
|
+
return res.url;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function compare_to_version(major, minor, patch) {
|
|
90
|
+
const v = svelte.VERSION.match(/^(\d+)\.(\d+)\.(\d+)/);
|
|
91
|
+
return (v[1] - major) || (v[2] - minor) || (v[3] - patch);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function is_legacy_package_structure() {
|
|
95
|
+
return compare_to_version(3, 4, 4) <= 0;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function has_loopGuardTimeout_feature() {
|
|
99
|
+
return compare_to_version(3, 14, 0) >= 0;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
async function get_bundle(uid, mode, cache, lookup) {
|
|
103
|
+
let bundle;
|
|
104
|
+
|
|
105
|
+
const imports = new Set();
|
|
106
|
+
const warnings = [];
|
|
107
|
+
const all_warnings = [];
|
|
108
|
+
|
|
109
|
+
const new_cache = {};
|
|
110
|
+
|
|
111
|
+
const repl_plugin = {
|
|
112
|
+
async resolveId(importee, importer) {
|
|
113
|
+
if (uid !== current_id) throw ABORT;
|
|
114
|
+
|
|
115
|
+
// importing from Svelte
|
|
116
|
+
if (importee === `svelte`) return `${svelteUrl}/index.mjs`;
|
|
117
|
+
if (importee.startsWith(`svelte/`)) {
|
|
118
|
+
return is_legacy_package_structure() ?
|
|
119
|
+
`${svelteUrl}/${importee.slice(7)}.mjs` :
|
|
120
|
+
`${svelteUrl}/${importee.slice(7)}/index.mjs`;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// importing one Svelte runtime module from another
|
|
124
|
+
if (importer && importer.startsWith(svelteUrl)) {
|
|
125
|
+
const resolved = new URL(importee, importer).href;
|
|
126
|
+
if (resolved.endsWith('.mjs')) return resolved;
|
|
127
|
+
return is_legacy_package_structure() ?
|
|
128
|
+
`${resolved}.mjs` :
|
|
129
|
+
`${resolved}/index.mjs`;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// importing from another file in REPL
|
|
133
|
+
if (importee in lookup) return importee;
|
|
134
|
+
if ((importee + '.js') in lookup) return importee + '.js';
|
|
135
|
+
if ((importee + '.json') in lookup) return importee + '.json';
|
|
136
|
+
|
|
137
|
+
// remove trailing slash
|
|
138
|
+
if (importee.endsWith('/')) importee = importee.slice(0, -1);
|
|
139
|
+
|
|
140
|
+
// importing from a URL
|
|
141
|
+
if (importee.startsWith('http:') || importee.startsWith('https:')) return importee;
|
|
142
|
+
|
|
143
|
+
if (importee == "svelte-native") {
|
|
144
|
+
return await follow_redirects(`${packagesUrl}/svelte-native/index.js`);
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if (importer && importer.startsWith(`${packagesUrl}/svelte-native`) && importee.startsWith('.')) {
|
|
148
|
+
const url = new URL(importee, importer).href + "/index.js"
|
|
149
|
+
return await follow_redirects(url);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// importing from (probably) unpkg
|
|
153
|
+
if (importee.startsWith('.')) {
|
|
154
|
+
const url = new URL(importee, importer).href;
|
|
155
|
+
self.postMessage({ type: 'status', uid, message: `resolving ${url}` });
|
|
156
|
+
|
|
157
|
+
return await follow_redirects(url);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
else {
|
|
161
|
+
// fetch from unpkg
|
|
162
|
+
self.postMessage({ type: 'status', uid, message: `resolving ${importee}` });
|
|
163
|
+
|
|
164
|
+
if (importer in lookup) {
|
|
165
|
+
const match = /^(@[^/]+\/)?[^/]+/.exec(importee);
|
|
166
|
+
if (match) imports.add(match[0]);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
try {
|
|
170
|
+
const pkg_url = await follow_redirects(`${packagesUrl}/${importee}/package.json`);
|
|
171
|
+
const pkg_json = (await fetch_if_uncached(pkg_url)).body;
|
|
172
|
+
const pkg = JSON.parse(pkg_json);
|
|
173
|
+
|
|
174
|
+
if (pkg.svelte || pkg.module || pkg.main) {
|
|
175
|
+
const url = pkg_url.replace(/\/package\.json$/, '');
|
|
176
|
+
return new URL(pkg.svelte || pkg.module || pkg.main, `${url}/`).href;
|
|
177
|
+
}
|
|
178
|
+
} catch (err) {
|
|
179
|
+
// ignore
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
return await follow_redirects(`${packagesUrl}/${importee}`);
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
async load(resolved) {
|
|
186
|
+
if (uid !== current_id) throw ABORT;
|
|
187
|
+
|
|
188
|
+
if (resolved in lookup) return lookup[resolved].source;
|
|
189
|
+
|
|
190
|
+
if (!fetch_cache.has(resolved)) {
|
|
191
|
+
self.postMessage({ type: 'status', uid, message: `fetching ${resolved}` });
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
const res = await fetch_if_uncached(resolved);
|
|
195
|
+
return res.body;
|
|
196
|
+
},
|
|
197
|
+
async transform(code, id) {
|
|
198
|
+
if (uid !== current_id) throw ABORT;
|
|
199
|
+
|
|
200
|
+
self.postMessage({ type: 'status', uid, message: `bundling ${id}` });
|
|
201
|
+
|
|
202
|
+
if (!/\.svelte$/.test(id)) return null;
|
|
203
|
+
|
|
204
|
+
const name = id.split('/').pop().split('.')[0];
|
|
205
|
+
|
|
206
|
+
const result = cache[id] && cache[id].code === code
|
|
207
|
+
? cache[id].result
|
|
208
|
+
: await svelte.preprocess(code, svelteNativePreprocessor())
|
|
209
|
+
.then(code =>
|
|
210
|
+
svelte.compile(code.toString(), {
|
|
211
|
+
generate: mode,
|
|
212
|
+
format: 'esm',
|
|
213
|
+
dev: true,
|
|
214
|
+
filename: name + '.svelte'
|
|
215
|
+
}));
|
|
216
|
+
|
|
217
|
+
new_cache[id] = { code, result };
|
|
218
|
+
|
|
219
|
+
(result.warnings || result.stats.warnings).forEach(warning => { // TODO remove stats post-launch
|
|
220
|
+
warnings.push({
|
|
221
|
+
message: warning.message,
|
|
222
|
+
filename: warning.filename,
|
|
223
|
+
start: warning.start,
|
|
224
|
+
end: warning.end
|
|
225
|
+
});
|
|
226
|
+
});
|
|
227
|
+
|
|
228
|
+
return result.js;
|
|
229
|
+
}
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
try {
|
|
233
|
+
bundle = await rollup.rollup({
|
|
234
|
+
input: './app.js',
|
|
235
|
+
external: id => {
|
|
236
|
+
if (id.startsWith('@nativescript/')) return true;
|
|
237
|
+
if (id.startsWith('tns-core-modules')) return true;
|
|
238
|
+
return false;
|
|
239
|
+
},
|
|
240
|
+
plugins: [
|
|
241
|
+
commonjs,
|
|
242
|
+
repl_plugin,
|
|
243
|
+
],
|
|
244
|
+
inlineDynamicImports: true,
|
|
245
|
+
onwarn(warning) {
|
|
246
|
+
all_warnings.push({
|
|
247
|
+
message: warning.message
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
});
|
|
251
|
+
|
|
252
|
+
return { bundle, imports: Array.from(imports), cache: new_cache, error: null, warnings, all_warnings };
|
|
253
|
+
} catch (error) {
|
|
254
|
+
return { error, imports: null, bundle: null, cache: new_cache, warnings, all_warnings };
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
async function bundle({ uid, components }) {
|
|
259
|
+
console.clear();
|
|
260
|
+
console.log(`running Svelte compiler version %c${svelte.VERSION}`, 'font-weight: bold');
|
|
261
|
+
|
|
262
|
+
const lookup = {};
|
|
263
|
+
components.forEach(component => {
|
|
264
|
+
const path = `./${component.name}.${component.type}`;
|
|
265
|
+
lookup[path] = component;
|
|
266
|
+
});
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
// svelte native bootstrap
|
|
270
|
+
lookup['./app.js'] = {
|
|
271
|
+
name: 'app',
|
|
272
|
+
type: 'js',
|
|
273
|
+
source: `
|
|
274
|
+
import { navigate, svelteNative, initializeDom } from "svelte-native"
|
|
275
|
+
import App from "./App.svelte"
|
|
276
|
+
|
|
277
|
+
export function start() {
|
|
278
|
+
svelteNative(App, {});
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
export function reload() {
|
|
282
|
+
initializeDom();
|
|
283
|
+
navigate({ page: App, clearHistory: true });
|
|
284
|
+
}
|
|
285
|
+
`
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
let dom;
|
|
290
|
+
let error;
|
|
291
|
+
|
|
292
|
+
try {
|
|
293
|
+
dom = await get_bundle(uid, 'dom', cached.dom, lookup);
|
|
294
|
+
if (dom.error) {
|
|
295
|
+
throw dom.error;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
cached.dom = dom.cache;
|
|
299
|
+
|
|
300
|
+
const dom_result = (await dom.bundle.generate({
|
|
301
|
+
format: 'cjs',
|
|
302
|
+
name: 'App',
|
|
303
|
+
// exports: 'named',
|
|
304
|
+
sourcemap: true,
|
|
305
|
+
})).output[0];
|
|
306
|
+
|
|
307
|
+
const ssr = false // TODO how can we do SSR?
|
|
308
|
+
? await get_bundle(uid, 'ssr', cached.ssr, lookup)
|
|
309
|
+
: null;
|
|
310
|
+
|
|
311
|
+
if (ssr) {
|
|
312
|
+
cached.ssr = ssr.cache;
|
|
313
|
+
if (ssr.error) {
|
|
314
|
+
throw ssr.error;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
const ssr_result = ssr
|
|
319
|
+
? (await ssr.bundle.generate({
|
|
320
|
+
format: 'iife',
|
|
321
|
+
name: 'SvelteComponent',
|
|
322
|
+
// exports: 'named',
|
|
323
|
+
sourcemap: true
|
|
324
|
+
})).output[0]
|
|
325
|
+
: null;
|
|
326
|
+
|
|
327
|
+
return {
|
|
328
|
+
uid,
|
|
329
|
+
dom: dom_result,
|
|
330
|
+
ssr: ssr_result,
|
|
331
|
+
imports: dom.imports,
|
|
332
|
+
warnings: dom.warnings,
|
|
333
|
+
error: null
|
|
334
|
+
};
|
|
335
|
+
} catch (err) {
|
|
336
|
+
console.error(err);
|
|
337
|
+
|
|
338
|
+
const e = error || err;
|
|
339
|
+
delete e.toString;
|
|
340
|
+
|
|
341
|
+
return {
|
|
342
|
+
uid,
|
|
343
|
+
dom: null,
|
|
344
|
+
ssr: null,
|
|
345
|
+
imports: null,
|
|
346
|
+
warnings: dom.warnings,
|
|
347
|
+
error: Object.assign({}, e, {
|
|
348
|
+
message: e.message,
|
|
349
|
+
stack: e.stack
|
|
350
|
+
})
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
}
|