├── .gitignore ├── LICENSE ├── README.md ├── babel-plugin-native-class.js ├── nativescript.webpack.js ├── package-lock.json ├── package.json └── src ├── dom.js ├── index.js └── renderer.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | 3 | # Logs 4 | logs 5 | *.log 6 | npm-debug.log* 7 | yarn-debug.log* 8 | yarn-error.log* 9 | 10 | # General 11 | .DS_Store 12 | .AppleDouble 13 | .LSOverride 14 | .idea 15 | .cloud 16 | .project 17 | tmp/ 18 | typings/ 19 | 20 | # Visual Studio Code 21 | .vscode/* 22 | !.vscode/settings.json 23 | !.vscode/tasks.json 24 | !.vscode/launch.json 25 | !.vscode/extensions.json 26 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2022 Yukino Song 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NativeScript SolidJS 2 | 3 | ### **Custom render and patches for SolidJS to work with [DOMiNATIVE](https://github.com/SudoMaker/DOMiNATIVE) on [NativeScript](https://nativescript.org/)** 4 | 5 | [Playground](https://stackblitz.com/edit/nativescript-dominative-solid?file=app/app.jsx) 6 | 7 | --- 8 | 9 | ## Installation 10 | 11 | Via npm: 12 | 13 | ```shell 14 | npm install @nativescript-community/solid-js dominative undom-ng solid-js @babel/preset-typescript babel-preset-solid 15 | ``` 16 | 17 | **Note:** `dominative`, `undom-ng`, `solid-js` are peer dependencies, you have to install them manually. As the benefit for using peer dependencies, you'll be able to upgrade these dependencies directly from upstream, no need to wait for an update with `@nativescript-community/solid-js` 18 | 19 | --- 20 | 21 | ## Usage 22 | 23 | ```jsx 24 | import { Application } from "@nativescript/core" 25 | import { render } from "@nativescript-community/solid-js" 26 | import { createSignal } from "solid-js" 27 | 28 | document.body.actionBarHidden = false 29 | 30 | const App = () => { 31 | const [count, setCount] = createSignal(0) 32 | const increment = () => { 33 | setCount(c => c + 1) 34 | } 35 | return <> 36 | 37 | 38 | 39 | 40 | 41 | 42 | } 43 | 44 | const create = () => { 45 | render(App, document.body) 46 | return document 47 | } 48 | 49 | Application.run({ create }) 50 | 51 | ``` 52 | 53 | --- 54 | 55 | ## Caveats 56 | 57 | ### Event handling 58 | 59 | Use `on:raw-EventName` and `oncapture:RawEvent-Name` to register event handlers instead of `on___`. It may be a little annoying, but NativeScript uses case sensitive event names and don't have native event bubbling, which means delegation couldn't function. 60 | 61 | To enable capture and bubble phase of an event, please refer to this [doc](https://github.com/SudoMaker/DOMiNATIVE#tweakabledefineeventoptioneventname-string-option-eventoption) 62 | 63 | ## License 64 | 65 | MIT 66 | -------------------------------------------------------------------------------- /babel-plugin-native-class.js: -------------------------------------------------------------------------------- 1 | const ts = require('typescript'); 2 | const parser = require('@babel/parser'); 3 | 4 | module.exports = function () { 5 | return { 6 | name: 'babel-plugin-native-class', 7 | visitor: { 8 | Program(path) { 9 | path.traverse({ 10 | ClassDeclaration(classPath) { 11 | const { node } = classPath; 12 | 13 | if (hasNativeClassDecorator(node)) { 14 | const tsSource = classPath.hub.file.code; 15 | const transpiledCode = transpileClassToES5(node, tsSource); 16 | 17 | if (transpiledCode) { 18 | const babelAst = parser.parse(transpiledCode, { 19 | sourceType: 'module', 20 | plugins: ['typescript', 'decorators-legacy'], 21 | }).program.body; 22 | 23 | classPath.replaceWithMultiple(babelAst); 24 | } 25 | } 26 | }, 27 | }); 28 | }, 29 | }, 30 | }; 31 | }; 32 | 33 | function hasNativeClassDecorator(node) { 34 | return ( 35 | node.decorators && 36 | node.decorators.some(decorator => { 37 | const expression = decorator.expression; 38 | return expression.name === 'NativeClass' || (expression.callee && expression.callee.name === 'NativeClass'); 39 | }) 40 | ); 41 | } 42 | 43 | function removeNativeClassDecorator(code, className) { 44 | const decoratorRegex = new RegExp(`@NativeClass(\\((.|\\n)*?\\))?\\s*class\\s+${className}`, 'gm'); 45 | return code.replace(decoratorRegex, `class ${className}`); 46 | } 47 | 48 | function transpileClassToES5(node, sourceCode) { 49 | const className = node.id.name; 50 | const classStart = node.start; 51 | const classEnd = node.end; 52 | 53 | const classCode = sourceCode.slice(classStart, classEnd); 54 | const cleanedCode = removeNativeClassDecorator(classCode, className); 55 | 56 | const transpiled = ts.transpileModule(cleanedCode, { 57 | compilerOptions: { 58 | noEmitHelpers: true, 59 | module: ts.ModuleKind.ESNext, 60 | target: ts.ScriptTarget.ES5, 61 | experimentalDecorators: true, 62 | emitDecoratorMetadata: true, 63 | }, 64 | }); 65 | 66 | return transpiled.outputText.replace( 67 | /(Object\.defineProperty\(.*?{.*?)(enumerable:\s*false)(.*?}\))/gs, 68 | '$1enumerable: true$3' 69 | ); 70 | } 71 | -------------------------------------------------------------------------------- /nativescript.webpack.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | const { 3 | getPlatformName, 4 | } = require('@nativescript/webpack/dist/helpers/platform'); 5 | 6 | const solid = (config, env) => { 7 | const platform = getPlatformName(); 8 | 9 | const solidPath = path.resolve(require.resolve("solid-js"), "../.."); 10 | 11 | config.resolve.extensions 12 | .prepend('.js') 13 | .prepend('.ts') 14 | .prepend('.tsx') 15 | .prepend('.jsx') 16 | .prepend(`.${platform}.js`) 17 | .prepend(`.${platform}.ts`) 18 | .prepend(`.${platform}.jsx`) 19 | .prepend(`.${platform}.tsx`); 20 | 21 | config.resolve.alias 22 | .set( 23 | 'solid-js/universal', 24 | path.resolve(solidPath, `universal/dist/${env.production ? 'universal' : 'dev'}.js`) 25 | ) 26 | .set( 27 | 'solid-js/store', 28 | path.resolve(solidPath, `store/dist/${env.production ? 'store' : 'dev'}.js`) 29 | ) 30 | .set( 31 | 'solid-js', 32 | path.resolve(solidPath, `dist/${env.production ? 'solid' : 'dev'}.js`) 33 | ) 34 | .set( 35 | 'solid-js/web', 36 | path.resolve(solidPath, `dist/${env.production ? 'web' : 'dev'}.js`) 37 | ); 38 | 39 | config.module 40 | .rule('bundle-source') 41 | .test(/\.(|t|j)sx?$/) 42 | .exclude.add(/node_modules/) 43 | .end() 44 | .use('babel-loader') 45 | .loader('babel-loader') 46 | .before('ts-loader') 47 | .options({ 48 | babelrc: false, 49 | configFile: false, 50 | presets: [ 51 | [ 52 | 'babel-preset-solid', 53 | { 54 | moduleName: '@nativescript-community/solid-js', 55 | generate: 'universal', 56 | }, 57 | ], 58 | "@babel/typescript" 59 | ], 60 | plugins: [ 61 | path.resolve(__dirname, 'babel-plugin-native-class.js'), 62 | ['@babel/plugin-proposal-decorators', { legacy: true }], 63 | ['@babel/plugin-proposal-class-properties', { loose: true }] 64 | ], 65 | env: { 66 | development: { 67 | plugins: [['solid-refresh/babel', { bundler: 'webpack5' }]], 68 | }, 69 | }, 70 | }); 71 | 72 | if (!env.production) { 73 | config.output.devtoolNamespace('app'); 74 | config.devServer.hotOnly(true); 75 | config.devServer.hot(true); 76 | } 77 | }; 78 | 79 | module.exports = webpack => webpack.chainWebpack(solid); 80 | 81 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@nativescript-community/solid-js", 3 | "version": "0.0.6", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "@nativescript-community/solid-js", 9 | "version": "0.0.6", 10 | "license": "MIT", 11 | "peerDependencies": { 12 | "@babel/preset-typescript": "7.23.3", 13 | "babel-preset-solid": "^1.8.9", 14 | "dominative": "^0.1.2", 15 | "solid-js": "^1.8.11" 16 | } 17 | }, 18 | "node_modules/@ampproject/remapping": { 19 | "version": "2.2.1", 20 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", 21 | "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", 22 | "peer": true, 23 | "dependencies": { 24 | "@jridgewell/gen-mapping": "^0.3.0", 25 | "@jridgewell/trace-mapping": "^0.3.9" 26 | }, 27 | "engines": { 28 | "node": ">=6.0.0" 29 | } 30 | }, 31 | "node_modules/@babel/code-frame": { 32 | "version": "7.23.5", 33 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", 34 | "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", 35 | "peer": true, 36 | "dependencies": { 37 | "@babel/highlight": "^7.23.4", 38 | "chalk": "^2.4.2" 39 | }, 40 | "engines": { 41 | "node": ">=6.9.0" 42 | } 43 | }, 44 | "node_modules/@babel/compat-data": { 45 | "version": "7.23.5", 46 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", 47 | "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", 48 | "peer": true, 49 | "engines": { 50 | "node": ">=6.9.0" 51 | } 52 | }, 53 | "node_modules/@babel/core": { 54 | "version": "7.23.7", 55 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", 56 | "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", 57 | "peer": true, 58 | "dependencies": { 59 | "@ampproject/remapping": "^2.2.0", 60 | "@babel/code-frame": "^7.23.5", 61 | "@babel/generator": "^7.23.6", 62 | "@babel/helper-compilation-targets": "^7.23.6", 63 | "@babel/helper-module-transforms": "^7.23.3", 64 | "@babel/helpers": "^7.23.7", 65 | "@babel/parser": "^7.23.6", 66 | "@babel/template": "^7.22.15", 67 | "@babel/traverse": "^7.23.7", 68 | "@babel/types": "^7.23.6", 69 | "convert-source-map": "^2.0.0", 70 | "debug": "^4.1.0", 71 | "gensync": "^1.0.0-beta.2", 72 | "json5": "^2.2.3", 73 | "semver": "^6.3.1" 74 | }, 75 | "engines": { 76 | "node": ">=6.9.0" 77 | }, 78 | "funding": { 79 | "type": "opencollective", 80 | "url": "https://opencollective.com/babel" 81 | } 82 | }, 83 | "node_modules/@babel/generator": { 84 | "version": "7.23.6", 85 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", 86 | "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", 87 | "peer": true, 88 | "dependencies": { 89 | "@babel/types": "^7.23.6", 90 | "@jridgewell/gen-mapping": "^0.3.2", 91 | "@jridgewell/trace-mapping": "^0.3.17", 92 | "jsesc": "^2.5.1" 93 | }, 94 | "engines": { 95 | "node": ">=6.9.0" 96 | } 97 | }, 98 | "node_modules/@babel/helper-annotate-as-pure": { 99 | "version": "7.22.5", 100 | "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", 101 | "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", 102 | "peer": true, 103 | "dependencies": { 104 | "@babel/types": "^7.22.5" 105 | }, 106 | "engines": { 107 | "node": ">=6.9.0" 108 | } 109 | }, 110 | "node_modules/@babel/helper-compilation-targets": { 111 | "version": "7.23.6", 112 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", 113 | "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", 114 | "peer": true, 115 | "dependencies": { 116 | "@babel/compat-data": "^7.23.5", 117 | "@babel/helper-validator-option": "^7.23.5", 118 | "browserslist": "^4.22.2", 119 | "lru-cache": "^5.1.1", 120 | "semver": "^6.3.1" 121 | }, 122 | "engines": { 123 | "node": ">=6.9.0" 124 | } 125 | }, 126 | "node_modules/@babel/helper-create-class-features-plugin": { 127 | "version": "7.23.7", 128 | "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz", 129 | "integrity": "sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==", 130 | "peer": true, 131 | "dependencies": { 132 | "@babel/helper-annotate-as-pure": "^7.22.5", 133 | "@babel/helper-environment-visitor": "^7.22.20", 134 | "@babel/helper-function-name": "^7.23.0", 135 | "@babel/helper-member-expression-to-functions": "^7.23.0", 136 | "@babel/helper-optimise-call-expression": "^7.22.5", 137 | "@babel/helper-replace-supers": "^7.22.20", 138 | "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", 139 | "@babel/helper-split-export-declaration": "^7.22.6", 140 | "semver": "^6.3.1" 141 | }, 142 | "engines": { 143 | "node": ">=6.9.0" 144 | }, 145 | "peerDependencies": { 146 | "@babel/core": "^7.0.0" 147 | } 148 | }, 149 | "node_modules/@babel/helper-environment-visitor": { 150 | "version": "7.22.20", 151 | "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", 152 | "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", 153 | "peer": true, 154 | "engines": { 155 | "node": ">=6.9.0" 156 | } 157 | }, 158 | "node_modules/@babel/helper-function-name": { 159 | "version": "7.23.0", 160 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", 161 | "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", 162 | "peer": true, 163 | "dependencies": { 164 | "@babel/template": "^7.22.15", 165 | "@babel/types": "^7.23.0" 166 | }, 167 | "engines": { 168 | "node": ">=6.9.0" 169 | } 170 | }, 171 | "node_modules/@babel/helper-hoist-variables": { 172 | "version": "7.22.5", 173 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", 174 | "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", 175 | "peer": true, 176 | "dependencies": { 177 | "@babel/types": "^7.22.5" 178 | }, 179 | "engines": { 180 | "node": ">=6.9.0" 181 | } 182 | }, 183 | "node_modules/@babel/helper-member-expression-to-functions": { 184 | "version": "7.23.0", 185 | "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", 186 | "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", 187 | "peer": true, 188 | "dependencies": { 189 | "@babel/types": "^7.23.0" 190 | }, 191 | "engines": { 192 | "node": ">=6.9.0" 193 | } 194 | }, 195 | "node_modules/@babel/helper-module-imports": { 196 | "version": "7.22.15", 197 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", 198 | "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", 199 | "peer": true, 200 | "dependencies": { 201 | "@babel/types": "^7.22.15" 202 | }, 203 | "engines": { 204 | "node": ">=6.9.0" 205 | } 206 | }, 207 | "node_modules/@babel/helper-module-transforms": { 208 | "version": "7.23.3", 209 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", 210 | "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", 211 | "peer": true, 212 | "dependencies": { 213 | "@babel/helper-environment-visitor": "^7.22.20", 214 | "@babel/helper-module-imports": "^7.22.15", 215 | "@babel/helper-simple-access": "^7.22.5", 216 | "@babel/helper-split-export-declaration": "^7.22.6", 217 | "@babel/helper-validator-identifier": "^7.22.20" 218 | }, 219 | "engines": { 220 | "node": ">=6.9.0" 221 | }, 222 | "peerDependencies": { 223 | "@babel/core": "^7.0.0" 224 | } 225 | }, 226 | "node_modules/@babel/helper-optimise-call-expression": { 227 | "version": "7.22.5", 228 | "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", 229 | "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", 230 | "peer": true, 231 | "dependencies": { 232 | "@babel/types": "^7.22.5" 233 | }, 234 | "engines": { 235 | "node": ">=6.9.0" 236 | } 237 | }, 238 | "node_modules/@babel/helper-plugin-utils": { 239 | "version": "7.22.5", 240 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", 241 | "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", 242 | "peer": true, 243 | "engines": { 244 | "node": ">=6.9.0" 245 | } 246 | }, 247 | "node_modules/@babel/helper-replace-supers": { 248 | "version": "7.22.20", 249 | "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", 250 | "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", 251 | "peer": true, 252 | "dependencies": { 253 | "@babel/helper-environment-visitor": "^7.22.20", 254 | "@babel/helper-member-expression-to-functions": "^7.22.15", 255 | "@babel/helper-optimise-call-expression": "^7.22.5" 256 | }, 257 | "engines": { 258 | "node": ">=6.9.0" 259 | }, 260 | "peerDependencies": { 261 | "@babel/core": "^7.0.0" 262 | } 263 | }, 264 | "node_modules/@babel/helper-simple-access": { 265 | "version": "7.22.5", 266 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", 267 | "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", 268 | "peer": true, 269 | "dependencies": { 270 | "@babel/types": "^7.22.5" 271 | }, 272 | "engines": { 273 | "node": ">=6.9.0" 274 | } 275 | }, 276 | "node_modules/@babel/helper-skip-transparent-expression-wrappers": { 277 | "version": "7.22.5", 278 | "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", 279 | "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", 280 | "peer": true, 281 | "dependencies": { 282 | "@babel/types": "^7.22.5" 283 | }, 284 | "engines": { 285 | "node": ">=6.9.0" 286 | } 287 | }, 288 | "node_modules/@babel/helper-split-export-declaration": { 289 | "version": "7.22.6", 290 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", 291 | "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", 292 | "peer": true, 293 | "dependencies": { 294 | "@babel/types": "^7.22.5" 295 | }, 296 | "engines": { 297 | "node": ">=6.9.0" 298 | } 299 | }, 300 | "node_modules/@babel/helper-string-parser": { 301 | "version": "7.23.4", 302 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", 303 | "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", 304 | "peer": true, 305 | "engines": { 306 | "node": ">=6.9.0" 307 | } 308 | }, 309 | "node_modules/@babel/helper-validator-identifier": { 310 | "version": "7.22.20", 311 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", 312 | "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", 313 | "peer": true, 314 | "engines": { 315 | "node": ">=6.9.0" 316 | } 317 | }, 318 | "node_modules/@babel/helper-validator-option": { 319 | "version": "7.23.5", 320 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", 321 | "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", 322 | "peer": true, 323 | "engines": { 324 | "node": ">=6.9.0" 325 | } 326 | }, 327 | "node_modules/@babel/helpers": { 328 | "version": "7.23.7", 329 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.7.tgz", 330 | "integrity": "sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==", 331 | "peer": true, 332 | "dependencies": { 333 | "@babel/template": "^7.22.15", 334 | "@babel/traverse": "^7.23.7", 335 | "@babel/types": "^7.23.6" 336 | }, 337 | "engines": { 338 | "node": ">=6.9.0" 339 | } 340 | }, 341 | "node_modules/@babel/highlight": { 342 | "version": "7.23.4", 343 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", 344 | "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", 345 | "peer": true, 346 | "dependencies": { 347 | "@babel/helper-validator-identifier": "^7.22.20", 348 | "chalk": "^2.4.2", 349 | "js-tokens": "^4.0.0" 350 | }, 351 | "engines": { 352 | "node": ">=6.9.0" 353 | } 354 | }, 355 | "node_modules/@babel/parser": { 356 | "version": "7.23.6", 357 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", 358 | "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", 359 | "peer": true, 360 | "bin": { 361 | "parser": "bin/babel-parser.js" 362 | }, 363 | "engines": { 364 | "node": ">=6.0.0" 365 | } 366 | }, 367 | "node_modules/@babel/plugin-syntax-jsx": { 368 | "version": "7.23.3", 369 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", 370 | "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", 371 | "peer": true, 372 | "dependencies": { 373 | "@babel/helper-plugin-utils": "^7.22.5" 374 | }, 375 | "engines": { 376 | "node": ">=6.9.0" 377 | }, 378 | "peerDependencies": { 379 | "@babel/core": "^7.0.0-0" 380 | } 381 | }, 382 | "node_modules/@babel/plugin-syntax-typescript": { 383 | "version": "7.23.3", 384 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", 385 | "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", 386 | "peer": true, 387 | "dependencies": { 388 | "@babel/helper-plugin-utils": "^7.22.5" 389 | }, 390 | "engines": { 391 | "node": ">=6.9.0" 392 | }, 393 | "peerDependencies": { 394 | "@babel/core": "^7.0.0-0" 395 | } 396 | }, 397 | "node_modules/@babel/plugin-transform-modules-commonjs": { 398 | "version": "7.23.3", 399 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", 400 | "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", 401 | "peer": true, 402 | "dependencies": { 403 | "@babel/helper-module-transforms": "^7.23.3", 404 | "@babel/helper-plugin-utils": "^7.22.5", 405 | "@babel/helper-simple-access": "^7.22.5" 406 | }, 407 | "engines": { 408 | "node": ">=6.9.0" 409 | }, 410 | "peerDependencies": { 411 | "@babel/core": "^7.0.0-0" 412 | } 413 | }, 414 | "node_modules/@babel/plugin-transform-typescript": { 415 | "version": "7.23.6", 416 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", 417 | "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", 418 | "peer": true, 419 | "dependencies": { 420 | "@babel/helper-annotate-as-pure": "^7.22.5", 421 | "@babel/helper-create-class-features-plugin": "^7.23.6", 422 | "@babel/helper-plugin-utils": "^7.22.5", 423 | "@babel/plugin-syntax-typescript": "^7.23.3" 424 | }, 425 | "engines": { 426 | "node": ">=6.9.0" 427 | }, 428 | "peerDependencies": { 429 | "@babel/core": "^7.0.0-0" 430 | } 431 | }, 432 | "node_modules/@babel/preset-typescript": { 433 | "version": "7.23.3", 434 | "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", 435 | "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", 436 | "peer": true, 437 | "dependencies": { 438 | "@babel/helper-plugin-utils": "^7.22.5", 439 | "@babel/helper-validator-option": "^7.22.15", 440 | "@babel/plugin-syntax-jsx": "^7.23.3", 441 | "@babel/plugin-transform-modules-commonjs": "^7.23.3", 442 | "@babel/plugin-transform-typescript": "^7.23.3" 443 | }, 444 | "engines": { 445 | "node": ">=6.9.0" 446 | }, 447 | "peerDependencies": { 448 | "@babel/core": "^7.0.0-0" 449 | } 450 | }, 451 | "node_modules/@babel/template": { 452 | "version": "7.22.15", 453 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", 454 | "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", 455 | "peer": true, 456 | "dependencies": { 457 | "@babel/code-frame": "^7.22.13", 458 | "@babel/parser": "^7.22.15", 459 | "@babel/types": "^7.22.15" 460 | }, 461 | "engines": { 462 | "node": ">=6.9.0" 463 | } 464 | }, 465 | "node_modules/@babel/traverse": { 466 | "version": "7.23.7", 467 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", 468 | "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", 469 | "peer": true, 470 | "dependencies": { 471 | "@babel/code-frame": "^7.23.5", 472 | "@babel/generator": "^7.23.6", 473 | "@babel/helper-environment-visitor": "^7.22.20", 474 | "@babel/helper-function-name": "^7.23.0", 475 | "@babel/helper-hoist-variables": "^7.22.5", 476 | "@babel/helper-split-export-declaration": "^7.22.6", 477 | "@babel/parser": "^7.23.6", 478 | "@babel/types": "^7.23.6", 479 | "debug": "^4.3.1", 480 | "globals": "^11.1.0" 481 | }, 482 | "engines": { 483 | "node": ">=6.9.0" 484 | } 485 | }, 486 | "node_modules/@babel/types": { 487 | "version": "7.23.6", 488 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", 489 | "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", 490 | "peer": true, 491 | "dependencies": { 492 | "@babel/helper-string-parser": "^7.23.4", 493 | "@babel/helper-validator-identifier": "^7.22.20", 494 | "to-fast-properties": "^2.0.0" 495 | }, 496 | "engines": { 497 | "node": ">=6.9.0" 498 | } 499 | }, 500 | "node_modules/@jridgewell/gen-mapping": { 501 | "version": "0.3.3", 502 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", 503 | "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 504 | "peer": true, 505 | "dependencies": { 506 | "@jridgewell/set-array": "^1.0.1", 507 | "@jridgewell/sourcemap-codec": "^1.4.10", 508 | "@jridgewell/trace-mapping": "^0.3.9" 509 | }, 510 | "engines": { 511 | "node": ">=6.0.0" 512 | } 513 | }, 514 | "node_modules/@jridgewell/resolve-uri": { 515 | "version": "3.1.1", 516 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", 517 | "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", 518 | "peer": true, 519 | "engines": { 520 | "node": ">=6.0.0" 521 | } 522 | }, 523 | "node_modules/@jridgewell/set-array": { 524 | "version": "1.1.2", 525 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 526 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 527 | "peer": true, 528 | "engines": { 529 | "node": ">=6.0.0" 530 | } 531 | }, 532 | "node_modules/@jridgewell/sourcemap-codec": { 533 | "version": "1.4.15", 534 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 535 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 536 | "peer": true 537 | }, 538 | "node_modules/@jridgewell/trace-mapping": { 539 | "version": "0.3.20", 540 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", 541 | "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", 542 | "peer": true, 543 | "dependencies": { 544 | "@jridgewell/resolve-uri": "^3.1.0", 545 | "@jridgewell/sourcemap-codec": "^1.4.14" 546 | } 547 | }, 548 | "node_modules/@nativescript/core": { 549 | "version": "8.6.2", 550 | "resolved": "https://registry.npmjs.org/@nativescript/core/-/core-8.6.2.tgz", 551 | "integrity": "sha512-TR5tGS6vqcRIeDU7hrf7pA7rXHB7b+U29rmjXG83jmS4y1Yd03kjoOqmIP6UZq7JBYogk0MW476qVUdsAXHfNw==", 552 | "hasInstallScript": true, 553 | "peer": true, 554 | "dependencies": { 555 | "@nativescript/hook": "~2.0.0", 556 | "acorn": "^8.7.0", 557 | "css-tree": "^1.1.2", 558 | "emoji-regex": "^10.2.1", 559 | "reduce-css-calc": "^2.1.7", 560 | "tslib": "^2.0.0" 561 | } 562 | }, 563 | "node_modules/@nativescript/hook": { 564 | "version": "2.0.0", 565 | "resolved": "https://registry.npmjs.org/@nativescript/hook/-/hook-2.0.0.tgz", 566 | "integrity": "sha512-v3Hj3Zpd69sQJfFpDNXonV0EjO1a2OL4l48wlo1Ycsqk4r7RY822d/irFTjt0LllRG0OcdEGgfG6wKb0YgPyHw==", 567 | "peer": true, 568 | "dependencies": { 569 | "glob": "^7.1.0", 570 | "mkdirp": "^1.0.4" 571 | } 572 | }, 573 | "node_modules/acorn": { 574 | "version": "8.11.3", 575 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", 576 | "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", 577 | "peer": true, 578 | "bin": { 579 | "acorn": "bin/acorn" 580 | }, 581 | "engines": { 582 | "node": ">=0.4.0" 583 | } 584 | }, 585 | "node_modules/ansi-styles": { 586 | "version": "3.2.1", 587 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 588 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 589 | "peer": true, 590 | "dependencies": { 591 | "color-convert": "^1.9.0" 592 | }, 593 | "engines": { 594 | "node": ">=4" 595 | } 596 | }, 597 | "node_modules/babel-plugin-jsx-dom-expressions": { 598 | "version": "0.37.13", 599 | "resolved": "https://registry.npmjs.org/babel-plugin-jsx-dom-expressions/-/babel-plugin-jsx-dom-expressions-0.37.13.tgz", 600 | "integrity": "sha512-oAEMMIgU0h1DmHn4ZDaBBFc08nsVJciLq9pF7g0ZdpeIDKfY4zXjXr8+/oBjKhXG8nyomhnTodPjeG+/ZXcWXQ==", 601 | "peer": true, 602 | "dependencies": { 603 | "@babel/helper-module-imports": "7.18.6", 604 | "@babel/plugin-syntax-jsx": "^7.18.6", 605 | "@babel/types": "^7.20.7", 606 | "html-entities": "2.3.3", 607 | "validate-html-nesting": "^1.2.1" 608 | }, 609 | "peerDependencies": { 610 | "@babel/core": "^7.20.12" 611 | } 612 | }, 613 | "node_modules/babel-plugin-jsx-dom-expressions/node_modules/@babel/helper-module-imports": { 614 | "version": "7.18.6", 615 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", 616 | "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", 617 | "peer": true, 618 | "dependencies": { 619 | "@babel/types": "^7.18.6" 620 | }, 621 | "engines": { 622 | "node": ">=6.9.0" 623 | } 624 | }, 625 | "node_modules/babel-preset-solid": { 626 | "version": "1.8.9", 627 | "resolved": "https://registry.npmjs.org/babel-preset-solid/-/babel-preset-solid-1.8.9.tgz", 628 | "integrity": "sha512-1awR1QCoryXtAdnjsrx/eVBTYz+tpHUDOdBXqG9oVV7S0ojf2MV/woR0+8BG+LMXVzIr60oKYzCZ9UZGafxmpg==", 629 | "peer": true, 630 | "dependencies": { 631 | "babel-plugin-jsx-dom-expressions": "^0.37.13" 632 | }, 633 | "peerDependencies": { 634 | "@babel/core": "^7.0.0" 635 | } 636 | }, 637 | "node_modules/balanced-match": { 638 | "version": "1.0.2", 639 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 640 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 641 | "peer": true 642 | }, 643 | "node_modules/brace-expansion": { 644 | "version": "1.1.11", 645 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 646 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 647 | "peer": true, 648 | "dependencies": { 649 | "balanced-match": "^1.0.0", 650 | "concat-map": "0.0.1" 651 | } 652 | }, 653 | "node_modules/browserslist": { 654 | "version": "4.22.2", 655 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", 656 | "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", 657 | "funding": [ 658 | { 659 | "type": "opencollective", 660 | "url": "https://opencollective.com/browserslist" 661 | }, 662 | { 663 | "type": "tidelift", 664 | "url": "https://tidelift.com/funding/github/npm/browserslist" 665 | }, 666 | { 667 | "type": "github", 668 | "url": "https://github.com/sponsors/ai" 669 | } 670 | ], 671 | "peer": true, 672 | "dependencies": { 673 | "caniuse-lite": "^1.0.30001565", 674 | "electron-to-chromium": "^1.4.601", 675 | "node-releases": "^2.0.14", 676 | "update-browserslist-db": "^1.0.13" 677 | }, 678 | "bin": { 679 | "browserslist": "cli.js" 680 | }, 681 | "engines": { 682 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 683 | } 684 | }, 685 | "node_modules/caniuse-lite": { 686 | "version": "1.0.30001574", 687 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001574.tgz", 688 | "integrity": "sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg==", 689 | "funding": [ 690 | { 691 | "type": "opencollective", 692 | "url": "https://opencollective.com/browserslist" 693 | }, 694 | { 695 | "type": "tidelift", 696 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 697 | }, 698 | { 699 | "type": "github", 700 | "url": "https://github.com/sponsors/ai" 701 | } 702 | ], 703 | "peer": true 704 | }, 705 | "node_modules/chalk": { 706 | "version": "2.4.2", 707 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 708 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 709 | "peer": true, 710 | "dependencies": { 711 | "ansi-styles": "^3.2.1", 712 | "escape-string-regexp": "^1.0.5", 713 | "supports-color": "^5.3.0" 714 | }, 715 | "engines": { 716 | "node": ">=4" 717 | } 718 | }, 719 | "node_modules/color-convert": { 720 | "version": "1.9.3", 721 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 722 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 723 | "peer": true, 724 | "dependencies": { 725 | "color-name": "1.1.3" 726 | } 727 | }, 728 | "node_modules/color-name": { 729 | "version": "1.1.3", 730 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 731 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 732 | "peer": true 733 | }, 734 | "node_modules/concat-map": { 735 | "version": "0.0.1", 736 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 737 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 738 | "peer": true 739 | }, 740 | "node_modules/convert-source-map": { 741 | "version": "2.0.0", 742 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 743 | "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", 744 | "peer": true 745 | }, 746 | "node_modules/css-tree": { 747 | "version": "1.1.3", 748 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", 749 | "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", 750 | "peer": true, 751 | "dependencies": { 752 | "mdn-data": "2.0.14", 753 | "source-map": "^0.6.1" 754 | }, 755 | "engines": { 756 | "node": ">=8.0.0" 757 | } 758 | }, 759 | "node_modules/css-unit-converter": { 760 | "version": "1.1.2", 761 | "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", 762 | "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", 763 | "peer": true 764 | }, 765 | "node_modules/csstype": { 766 | "version": "3.1.1", 767 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", 768 | "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", 769 | "peer": true 770 | }, 771 | "node_modules/debug": { 772 | "version": "4.3.4", 773 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 774 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 775 | "peer": true, 776 | "dependencies": { 777 | "ms": "2.1.2" 778 | }, 779 | "engines": { 780 | "node": ">=6.0" 781 | }, 782 | "peerDependenciesMeta": { 783 | "supports-color": { 784 | "optional": true 785 | } 786 | } 787 | }, 788 | "node_modules/dominative": { 789 | "version": "0.1.2", 790 | "resolved": "https://registry.npmjs.org/dominative/-/dominative-0.1.2.tgz", 791 | "integrity": "sha512-hyoNhrZH61sMdZLMuCXWpPsnrkOUdNUHOnxtUTnW9SBe0hM9EI32hhHJLC/FP50anT4EyP8I87GRgFWKWtUG4Q==", 792 | "peer": true, 793 | "peerDependencies": { 794 | "@nativescript/core": "^8.6.2", 795 | "undom-ng": "^1.1.2" 796 | } 797 | }, 798 | "node_modules/electron-to-chromium": { 799 | "version": "1.4.620", 800 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.620.tgz", 801 | "integrity": "sha512-a2fcSHOHrqBJsPNXtf6ZCEZpXrFCcbK1FBxfX3txoqWzNgtEDG1f3M59M98iwxhRW4iMKESnSjbJ310/rkrp0g==", 802 | "peer": true 803 | }, 804 | "node_modules/emoji-regex": { 805 | "version": "10.3.0", 806 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", 807 | "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", 808 | "peer": true 809 | }, 810 | "node_modules/escalade": { 811 | "version": "3.1.1", 812 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 813 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 814 | "peer": true, 815 | "engines": { 816 | "node": ">=6" 817 | } 818 | }, 819 | "node_modules/escape-string-regexp": { 820 | "version": "1.0.5", 821 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 822 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 823 | "peer": true, 824 | "engines": { 825 | "node": ">=0.8.0" 826 | } 827 | }, 828 | "node_modules/fs.realpath": { 829 | "version": "1.0.0", 830 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 831 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 832 | "peer": true 833 | }, 834 | "node_modules/gensync": { 835 | "version": "1.0.0-beta.2", 836 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 837 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 838 | "peer": true, 839 | "engines": { 840 | "node": ">=6.9.0" 841 | } 842 | }, 843 | "node_modules/glob": { 844 | "version": "7.2.3", 845 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 846 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 847 | "peer": true, 848 | "dependencies": { 849 | "fs.realpath": "^1.0.0", 850 | "inflight": "^1.0.4", 851 | "inherits": "2", 852 | "minimatch": "^3.1.1", 853 | "once": "^1.3.0", 854 | "path-is-absolute": "^1.0.0" 855 | }, 856 | "engines": { 857 | "node": "*" 858 | }, 859 | "funding": { 860 | "url": "https://github.com/sponsors/isaacs" 861 | } 862 | }, 863 | "node_modules/globals": { 864 | "version": "11.12.0", 865 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 866 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 867 | "peer": true, 868 | "engines": { 869 | "node": ">=4" 870 | } 871 | }, 872 | "node_modules/has-flag": { 873 | "version": "3.0.0", 874 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 875 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 876 | "peer": true, 877 | "engines": { 878 | "node": ">=4" 879 | } 880 | }, 881 | "node_modules/html-entities": { 882 | "version": "2.3.3", 883 | "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", 884 | "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", 885 | "peer": true 886 | }, 887 | "node_modules/inflight": { 888 | "version": "1.0.6", 889 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 890 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 891 | "peer": true, 892 | "dependencies": { 893 | "once": "^1.3.0", 894 | "wrappy": "1" 895 | } 896 | }, 897 | "node_modules/inherits": { 898 | "version": "2.0.4", 899 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 900 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 901 | "peer": true 902 | }, 903 | "node_modules/js-tokens": { 904 | "version": "4.0.0", 905 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 906 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 907 | "peer": true 908 | }, 909 | "node_modules/jsesc": { 910 | "version": "2.5.2", 911 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", 912 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", 913 | "peer": true, 914 | "bin": { 915 | "jsesc": "bin/jsesc" 916 | }, 917 | "engines": { 918 | "node": ">=4" 919 | } 920 | }, 921 | "node_modules/json5": { 922 | "version": "2.2.3", 923 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 924 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 925 | "peer": true, 926 | "bin": { 927 | "json5": "lib/cli.js" 928 | }, 929 | "engines": { 930 | "node": ">=6" 931 | } 932 | }, 933 | "node_modules/lru-cache": { 934 | "version": "5.1.1", 935 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 936 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 937 | "peer": true, 938 | "dependencies": { 939 | "yallist": "^3.0.2" 940 | } 941 | }, 942 | "node_modules/mdn-data": { 943 | "version": "2.0.14", 944 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", 945 | "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", 946 | "peer": true 947 | }, 948 | "node_modules/minimatch": { 949 | "version": "3.1.2", 950 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 951 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 952 | "peer": true, 953 | "dependencies": { 954 | "brace-expansion": "^1.1.7" 955 | }, 956 | "engines": { 957 | "node": "*" 958 | } 959 | }, 960 | "node_modules/mkdirp": { 961 | "version": "1.0.4", 962 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 963 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 964 | "peer": true, 965 | "bin": { 966 | "mkdirp": "bin/cmd.js" 967 | }, 968 | "engines": { 969 | "node": ">=10" 970 | } 971 | }, 972 | "node_modules/ms": { 973 | "version": "2.1.2", 974 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 975 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 976 | "peer": true 977 | }, 978 | "node_modules/node-releases": { 979 | "version": "2.0.14", 980 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", 981 | "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", 982 | "peer": true 983 | }, 984 | "node_modules/once": { 985 | "version": "1.4.0", 986 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 987 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 988 | "peer": true, 989 | "dependencies": { 990 | "wrappy": "1" 991 | } 992 | }, 993 | "node_modules/path-is-absolute": { 994 | "version": "1.0.1", 995 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 996 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 997 | "peer": true, 998 | "engines": { 999 | "node": ">=0.10.0" 1000 | } 1001 | }, 1002 | "node_modules/picocolors": { 1003 | "version": "1.0.0", 1004 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1005 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 1006 | "peer": true 1007 | }, 1008 | "node_modules/postcss-value-parser": { 1009 | "version": "3.3.1", 1010 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", 1011 | "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", 1012 | "peer": true 1013 | }, 1014 | "node_modules/reduce-css-calc": { 1015 | "version": "2.1.8", 1016 | "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", 1017 | "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", 1018 | "peer": true, 1019 | "dependencies": { 1020 | "css-unit-converter": "^1.1.1", 1021 | "postcss-value-parser": "^3.3.0" 1022 | } 1023 | }, 1024 | "node_modules/semver": { 1025 | "version": "6.3.1", 1026 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 1027 | "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 1028 | "peer": true, 1029 | "bin": { 1030 | "semver": "bin/semver.js" 1031 | } 1032 | }, 1033 | "node_modules/seroval": { 1034 | "version": "1.0.4", 1035 | "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.0.4.tgz", 1036 | "integrity": "sha512-qQs/N+KfJu83rmszFQaTxcoJoPn6KNUruX4KmnmyD0oZkUoiNvJ1rpdYKDf4YHM05k+HOgCxa3yvf15QbVijGg==", 1037 | "peer": true, 1038 | "engines": { 1039 | "node": ">=10" 1040 | } 1041 | }, 1042 | "node_modules/seroval-plugins": { 1043 | "version": "1.0.4", 1044 | "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.0.4.tgz", 1045 | "integrity": "sha512-DQ2IK6oQVvy8k+c2V5x5YCtUa/GGGsUwUBNN9UqohrZ0rWdUapBFpNMYP1bCyRHoxOJjdKGl+dieacFIpU/i1A==", 1046 | "peer": true, 1047 | "engines": { 1048 | "node": ">=10" 1049 | }, 1050 | "peerDependencies": { 1051 | "seroval": "^1.0" 1052 | } 1053 | }, 1054 | "node_modules/solid-js": { 1055 | "version": "1.8.11", 1056 | "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.8.11.tgz", 1057 | "integrity": "sha512-WdwmER+TwBJiN4rVQTVBxocg+9pKlOs41KzPYntrC86xO5sek8TzBYozPEZPL1IRWDouf2lMrvSbIs3CanlPvQ==", 1058 | "peer": true, 1059 | "dependencies": { 1060 | "csstype": "^3.1.0", 1061 | "seroval": "^1.0.3", 1062 | "seroval-plugins": "^1.0.3" 1063 | } 1064 | }, 1065 | "node_modules/source-map": { 1066 | "version": "0.6.1", 1067 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1068 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1069 | "peer": true, 1070 | "engines": { 1071 | "node": ">=0.10.0" 1072 | } 1073 | }, 1074 | "node_modules/supports-color": { 1075 | "version": "5.5.0", 1076 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1077 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1078 | "peer": true, 1079 | "dependencies": { 1080 | "has-flag": "^3.0.0" 1081 | }, 1082 | "engines": { 1083 | "node": ">=4" 1084 | } 1085 | }, 1086 | "node_modules/to-fast-properties": { 1087 | "version": "2.0.0", 1088 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 1089 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", 1090 | "peer": true, 1091 | "engines": { 1092 | "node": ">=4" 1093 | } 1094 | }, 1095 | "node_modules/tslib": { 1096 | "version": "2.6.2", 1097 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 1098 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", 1099 | "peer": true 1100 | }, 1101 | "node_modules/undom-ng": { 1102 | "version": "1.1.2", 1103 | "resolved": "https://registry.npmjs.org/undom-ng/-/undom-ng-1.1.2.tgz", 1104 | "integrity": "sha512-ZYKxr3cM2X4x4D+y1uo82fBHtOM8lNr5od/msdI2AI7YGCwrLkGt/ofOF0RlnDDF9f8gqqSbdMua1eoTc2LbYQ==", 1105 | "peer": true 1106 | }, 1107 | "node_modules/update-browserslist-db": { 1108 | "version": "1.0.13", 1109 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", 1110 | "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", 1111 | "funding": [ 1112 | { 1113 | "type": "opencollective", 1114 | "url": "https://opencollective.com/browserslist" 1115 | }, 1116 | { 1117 | "type": "tidelift", 1118 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1119 | }, 1120 | { 1121 | "type": "github", 1122 | "url": "https://github.com/sponsors/ai" 1123 | } 1124 | ], 1125 | "peer": true, 1126 | "dependencies": { 1127 | "escalade": "^3.1.1", 1128 | "picocolors": "^1.0.0" 1129 | }, 1130 | "bin": { 1131 | "update-browserslist-db": "cli.js" 1132 | }, 1133 | "peerDependencies": { 1134 | "browserslist": ">= 4.21.0" 1135 | } 1136 | }, 1137 | "node_modules/validate-html-nesting": { 1138 | "version": "1.2.2", 1139 | "resolved": "https://registry.npmjs.org/validate-html-nesting/-/validate-html-nesting-1.2.2.tgz", 1140 | "integrity": "sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==", 1141 | "peer": true 1142 | }, 1143 | "node_modules/wrappy": { 1144 | "version": "1.0.2", 1145 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1146 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 1147 | "peer": true 1148 | }, 1149 | "node_modules/yallist": { 1150 | "version": "3.1.1", 1151 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 1152 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 1153 | "peer": true 1154 | } 1155 | }, 1156 | "dependencies": { 1157 | "@ampproject/remapping": { 1158 | "version": "2.2.1", 1159 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", 1160 | "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", 1161 | "peer": true, 1162 | "requires": { 1163 | "@jridgewell/gen-mapping": "^0.3.0", 1164 | "@jridgewell/trace-mapping": "^0.3.9" 1165 | } 1166 | }, 1167 | "@babel/code-frame": { 1168 | "version": "7.23.5", 1169 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", 1170 | "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", 1171 | "peer": true, 1172 | "requires": { 1173 | "@babel/highlight": "^7.23.4", 1174 | "chalk": "^2.4.2" 1175 | } 1176 | }, 1177 | "@babel/compat-data": { 1178 | "version": "7.23.5", 1179 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", 1180 | "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", 1181 | "peer": true 1182 | }, 1183 | "@babel/core": { 1184 | "version": "7.23.7", 1185 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", 1186 | "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", 1187 | "peer": true, 1188 | "requires": { 1189 | "@ampproject/remapping": "^2.2.0", 1190 | "@babel/code-frame": "^7.23.5", 1191 | "@babel/generator": "^7.23.6", 1192 | "@babel/helper-compilation-targets": "^7.23.6", 1193 | "@babel/helper-module-transforms": "^7.23.3", 1194 | "@babel/helpers": "^7.23.7", 1195 | "@babel/parser": "^7.23.6", 1196 | "@babel/template": "^7.22.15", 1197 | "@babel/traverse": "^7.23.7", 1198 | "@babel/types": "^7.23.6", 1199 | "convert-source-map": "^2.0.0", 1200 | "debug": "^4.1.0", 1201 | "gensync": "^1.0.0-beta.2", 1202 | "json5": "^2.2.3", 1203 | "semver": "^6.3.1" 1204 | } 1205 | }, 1206 | "@babel/generator": { 1207 | "version": "7.23.6", 1208 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", 1209 | "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", 1210 | "peer": true, 1211 | "requires": { 1212 | "@babel/types": "^7.23.6", 1213 | "@jridgewell/gen-mapping": "^0.3.2", 1214 | "@jridgewell/trace-mapping": "^0.3.17", 1215 | "jsesc": "^2.5.1" 1216 | } 1217 | }, 1218 | "@babel/helper-annotate-as-pure": { 1219 | "version": "7.22.5", 1220 | "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", 1221 | "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", 1222 | "peer": true, 1223 | "requires": { 1224 | "@babel/types": "^7.22.5" 1225 | } 1226 | }, 1227 | "@babel/helper-compilation-targets": { 1228 | "version": "7.23.6", 1229 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", 1230 | "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", 1231 | "peer": true, 1232 | "requires": { 1233 | "@babel/compat-data": "^7.23.5", 1234 | "@babel/helper-validator-option": "^7.23.5", 1235 | "browserslist": "^4.22.2", 1236 | "lru-cache": "^5.1.1", 1237 | "semver": "^6.3.1" 1238 | } 1239 | }, 1240 | "@babel/helper-create-class-features-plugin": { 1241 | "version": "7.23.7", 1242 | "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz", 1243 | "integrity": "sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==", 1244 | "peer": true, 1245 | "requires": { 1246 | "@babel/helper-annotate-as-pure": "^7.22.5", 1247 | "@babel/helper-environment-visitor": "^7.22.20", 1248 | "@babel/helper-function-name": "^7.23.0", 1249 | "@babel/helper-member-expression-to-functions": "^7.23.0", 1250 | "@babel/helper-optimise-call-expression": "^7.22.5", 1251 | "@babel/helper-replace-supers": "^7.22.20", 1252 | "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", 1253 | "@babel/helper-split-export-declaration": "^7.22.6", 1254 | "semver": "^6.3.1" 1255 | } 1256 | }, 1257 | "@babel/helper-environment-visitor": { 1258 | "version": "7.22.20", 1259 | "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", 1260 | "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", 1261 | "peer": true 1262 | }, 1263 | "@babel/helper-function-name": { 1264 | "version": "7.23.0", 1265 | "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", 1266 | "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", 1267 | "peer": true, 1268 | "requires": { 1269 | "@babel/template": "^7.22.15", 1270 | "@babel/types": "^7.23.0" 1271 | } 1272 | }, 1273 | "@babel/helper-hoist-variables": { 1274 | "version": "7.22.5", 1275 | "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", 1276 | "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", 1277 | "peer": true, 1278 | "requires": { 1279 | "@babel/types": "^7.22.5" 1280 | } 1281 | }, 1282 | "@babel/helper-member-expression-to-functions": { 1283 | "version": "7.23.0", 1284 | "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", 1285 | "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", 1286 | "peer": true, 1287 | "requires": { 1288 | "@babel/types": "^7.23.0" 1289 | } 1290 | }, 1291 | "@babel/helper-module-imports": { 1292 | "version": "7.22.15", 1293 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", 1294 | "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", 1295 | "peer": true, 1296 | "requires": { 1297 | "@babel/types": "^7.22.15" 1298 | } 1299 | }, 1300 | "@babel/helper-module-transforms": { 1301 | "version": "7.23.3", 1302 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", 1303 | "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", 1304 | "peer": true, 1305 | "requires": { 1306 | "@babel/helper-environment-visitor": "^7.22.20", 1307 | "@babel/helper-module-imports": "^7.22.15", 1308 | "@babel/helper-simple-access": "^7.22.5", 1309 | "@babel/helper-split-export-declaration": "^7.22.6", 1310 | "@babel/helper-validator-identifier": "^7.22.20" 1311 | } 1312 | }, 1313 | "@babel/helper-optimise-call-expression": { 1314 | "version": "7.22.5", 1315 | "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", 1316 | "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", 1317 | "peer": true, 1318 | "requires": { 1319 | "@babel/types": "^7.22.5" 1320 | } 1321 | }, 1322 | "@babel/helper-plugin-utils": { 1323 | "version": "7.22.5", 1324 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", 1325 | "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", 1326 | "peer": true 1327 | }, 1328 | "@babel/helper-replace-supers": { 1329 | "version": "7.22.20", 1330 | "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", 1331 | "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", 1332 | "peer": true, 1333 | "requires": { 1334 | "@babel/helper-environment-visitor": "^7.22.20", 1335 | "@babel/helper-member-expression-to-functions": "^7.22.15", 1336 | "@babel/helper-optimise-call-expression": "^7.22.5" 1337 | } 1338 | }, 1339 | "@babel/helper-simple-access": { 1340 | "version": "7.22.5", 1341 | "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", 1342 | "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", 1343 | "peer": true, 1344 | "requires": { 1345 | "@babel/types": "^7.22.5" 1346 | } 1347 | }, 1348 | "@babel/helper-skip-transparent-expression-wrappers": { 1349 | "version": "7.22.5", 1350 | "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", 1351 | "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", 1352 | "peer": true, 1353 | "requires": { 1354 | "@babel/types": "^7.22.5" 1355 | } 1356 | }, 1357 | "@babel/helper-split-export-declaration": { 1358 | "version": "7.22.6", 1359 | "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", 1360 | "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", 1361 | "peer": true, 1362 | "requires": { 1363 | "@babel/types": "^7.22.5" 1364 | } 1365 | }, 1366 | "@babel/helper-string-parser": { 1367 | "version": "7.23.4", 1368 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", 1369 | "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", 1370 | "peer": true 1371 | }, 1372 | "@babel/helper-validator-identifier": { 1373 | "version": "7.22.20", 1374 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", 1375 | "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", 1376 | "peer": true 1377 | }, 1378 | "@babel/helper-validator-option": { 1379 | "version": "7.23.5", 1380 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", 1381 | "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", 1382 | "peer": true 1383 | }, 1384 | "@babel/helpers": { 1385 | "version": "7.23.7", 1386 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.7.tgz", 1387 | "integrity": "sha512-6AMnjCoC8wjqBzDHkuqpa7jAKwvMo4dC+lr/TFBz+ucfulO1XMpDnwWPGBNwClOKZ8h6xn5N81W/R5OrcKtCbQ==", 1388 | "peer": true, 1389 | "requires": { 1390 | "@babel/template": "^7.22.15", 1391 | "@babel/traverse": "^7.23.7", 1392 | "@babel/types": "^7.23.6" 1393 | } 1394 | }, 1395 | "@babel/highlight": { 1396 | "version": "7.23.4", 1397 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", 1398 | "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", 1399 | "peer": true, 1400 | "requires": { 1401 | "@babel/helper-validator-identifier": "^7.22.20", 1402 | "chalk": "^2.4.2", 1403 | "js-tokens": "^4.0.0" 1404 | } 1405 | }, 1406 | "@babel/parser": { 1407 | "version": "7.23.6", 1408 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", 1409 | "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", 1410 | "peer": true 1411 | }, 1412 | "@babel/plugin-syntax-jsx": { 1413 | "version": "7.23.3", 1414 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", 1415 | "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", 1416 | "peer": true, 1417 | "requires": { 1418 | "@babel/helper-plugin-utils": "^7.22.5" 1419 | } 1420 | }, 1421 | "@babel/plugin-syntax-typescript": { 1422 | "version": "7.23.3", 1423 | "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", 1424 | "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", 1425 | "peer": true, 1426 | "requires": { 1427 | "@babel/helper-plugin-utils": "^7.22.5" 1428 | } 1429 | }, 1430 | "@babel/plugin-transform-modules-commonjs": { 1431 | "version": "7.23.3", 1432 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", 1433 | "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", 1434 | "peer": true, 1435 | "requires": { 1436 | "@babel/helper-module-transforms": "^7.23.3", 1437 | "@babel/helper-plugin-utils": "^7.22.5", 1438 | "@babel/helper-simple-access": "^7.22.5" 1439 | } 1440 | }, 1441 | "@babel/plugin-transform-typescript": { 1442 | "version": "7.23.6", 1443 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", 1444 | "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", 1445 | "peer": true, 1446 | "requires": { 1447 | "@babel/helper-annotate-as-pure": "^7.22.5", 1448 | "@babel/helper-create-class-features-plugin": "^7.23.6", 1449 | "@babel/helper-plugin-utils": "^7.22.5", 1450 | "@babel/plugin-syntax-typescript": "^7.23.3" 1451 | } 1452 | }, 1453 | "@babel/preset-typescript": { 1454 | "version": "7.23.3", 1455 | "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", 1456 | "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", 1457 | "peer": true, 1458 | "requires": { 1459 | "@babel/helper-plugin-utils": "^7.22.5", 1460 | "@babel/helper-validator-option": "^7.22.15", 1461 | "@babel/plugin-syntax-jsx": "^7.23.3", 1462 | "@babel/plugin-transform-modules-commonjs": "^7.23.3", 1463 | "@babel/plugin-transform-typescript": "^7.23.3" 1464 | } 1465 | }, 1466 | "@babel/template": { 1467 | "version": "7.22.15", 1468 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", 1469 | "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", 1470 | "peer": true, 1471 | "requires": { 1472 | "@babel/code-frame": "^7.22.13", 1473 | "@babel/parser": "^7.22.15", 1474 | "@babel/types": "^7.22.15" 1475 | } 1476 | }, 1477 | "@babel/traverse": { 1478 | "version": "7.23.7", 1479 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", 1480 | "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", 1481 | "peer": true, 1482 | "requires": { 1483 | "@babel/code-frame": "^7.23.5", 1484 | "@babel/generator": "^7.23.6", 1485 | "@babel/helper-environment-visitor": "^7.22.20", 1486 | "@babel/helper-function-name": "^7.23.0", 1487 | "@babel/helper-hoist-variables": "^7.22.5", 1488 | "@babel/helper-split-export-declaration": "^7.22.6", 1489 | "@babel/parser": "^7.23.6", 1490 | "@babel/types": "^7.23.6", 1491 | "debug": "^4.3.1", 1492 | "globals": "^11.1.0" 1493 | } 1494 | }, 1495 | "@babel/types": { 1496 | "version": "7.23.6", 1497 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", 1498 | "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", 1499 | "peer": true, 1500 | "requires": { 1501 | "@babel/helper-string-parser": "^7.23.4", 1502 | "@babel/helper-validator-identifier": "^7.22.20", 1503 | "to-fast-properties": "^2.0.0" 1504 | } 1505 | }, 1506 | "@jridgewell/gen-mapping": { 1507 | "version": "0.3.3", 1508 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", 1509 | "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", 1510 | "peer": true, 1511 | "requires": { 1512 | "@jridgewell/set-array": "^1.0.1", 1513 | "@jridgewell/sourcemap-codec": "^1.4.10", 1514 | "@jridgewell/trace-mapping": "^0.3.9" 1515 | } 1516 | }, 1517 | "@jridgewell/resolve-uri": { 1518 | "version": "3.1.1", 1519 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", 1520 | "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", 1521 | "peer": true 1522 | }, 1523 | "@jridgewell/set-array": { 1524 | "version": "1.1.2", 1525 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", 1526 | "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", 1527 | "peer": true 1528 | }, 1529 | "@jridgewell/sourcemap-codec": { 1530 | "version": "1.4.15", 1531 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 1532 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 1533 | "peer": true 1534 | }, 1535 | "@jridgewell/trace-mapping": { 1536 | "version": "0.3.20", 1537 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", 1538 | "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", 1539 | "peer": true, 1540 | "requires": { 1541 | "@jridgewell/resolve-uri": "^3.1.0", 1542 | "@jridgewell/sourcemap-codec": "^1.4.14" 1543 | } 1544 | }, 1545 | "@nativescript/core": { 1546 | "version": "8.6.2", 1547 | "resolved": "https://registry.npmjs.org/@nativescript/core/-/core-8.6.2.tgz", 1548 | "integrity": "sha512-TR5tGS6vqcRIeDU7hrf7pA7rXHB7b+U29rmjXG83jmS4y1Yd03kjoOqmIP6UZq7JBYogk0MW476qVUdsAXHfNw==", 1549 | "peer": true, 1550 | "requires": { 1551 | "@nativescript/hook": "~2.0.0", 1552 | "acorn": "^8.7.0", 1553 | "css-tree": "^1.1.2", 1554 | "emoji-regex": "^10.2.1", 1555 | "reduce-css-calc": "^2.1.7", 1556 | "tslib": "^2.0.0" 1557 | } 1558 | }, 1559 | "@nativescript/hook": { 1560 | "version": "2.0.0", 1561 | "resolved": "https://registry.npmjs.org/@nativescript/hook/-/hook-2.0.0.tgz", 1562 | "integrity": "sha512-v3Hj3Zpd69sQJfFpDNXonV0EjO1a2OL4l48wlo1Ycsqk4r7RY822d/irFTjt0LllRG0OcdEGgfG6wKb0YgPyHw==", 1563 | "peer": true, 1564 | "requires": { 1565 | "glob": "^7.1.0", 1566 | "mkdirp": "^1.0.4" 1567 | } 1568 | }, 1569 | "acorn": { 1570 | "version": "8.11.3", 1571 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", 1572 | "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", 1573 | "peer": true 1574 | }, 1575 | "ansi-styles": { 1576 | "version": "3.2.1", 1577 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 1578 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 1579 | "peer": true, 1580 | "requires": { 1581 | "color-convert": "^1.9.0" 1582 | } 1583 | }, 1584 | "babel-plugin-jsx-dom-expressions": { 1585 | "version": "0.37.13", 1586 | "resolved": "https://registry.npmjs.org/babel-plugin-jsx-dom-expressions/-/babel-plugin-jsx-dom-expressions-0.37.13.tgz", 1587 | "integrity": "sha512-oAEMMIgU0h1DmHn4ZDaBBFc08nsVJciLq9pF7g0ZdpeIDKfY4zXjXr8+/oBjKhXG8nyomhnTodPjeG+/ZXcWXQ==", 1588 | "peer": true, 1589 | "requires": { 1590 | "@babel/helper-module-imports": "7.18.6", 1591 | "@babel/plugin-syntax-jsx": "^7.18.6", 1592 | "@babel/types": "^7.20.7", 1593 | "html-entities": "2.3.3", 1594 | "validate-html-nesting": "^1.2.1" 1595 | }, 1596 | "dependencies": { 1597 | "@babel/helper-module-imports": { 1598 | "version": "7.18.6", 1599 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", 1600 | "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", 1601 | "peer": true, 1602 | "requires": { 1603 | "@babel/types": "^7.18.6" 1604 | } 1605 | } 1606 | } 1607 | }, 1608 | "babel-preset-solid": { 1609 | "version": "1.8.9", 1610 | "resolved": "https://registry.npmjs.org/babel-preset-solid/-/babel-preset-solid-1.8.9.tgz", 1611 | "integrity": "sha512-1awR1QCoryXtAdnjsrx/eVBTYz+tpHUDOdBXqG9oVV7S0ojf2MV/woR0+8BG+LMXVzIr60oKYzCZ9UZGafxmpg==", 1612 | "peer": true, 1613 | "requires": { 1614 | "babel-plugin-jsx-dom-expressions": "^0.37.13" 1615 | } 1616 | }, 1617 | "balanced-match": { 1618 | "version": "1.0.2", 1619 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1620 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1621 | "peer": true 1622 | }, 1623 | "brace-expansion": { 1624 | "version": "1.1.11", 1625 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1626 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1627 | "peer": true, 1628 | "requires": { 1629 | "balanced-match": "^1.0.0", 1630 | "concat-map": "0.0.1" 1631 | } 1632 | }, 1633 | "browserslist": { 1634 | "version": "4.22.2", 1635 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", 1636 | "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", 1637 | "peer": true, 1638 | "requires": { 1639 | "caniuse-lite": "^1.0.30001565", 1640 | "electron-to-chromium": "^1.4.601", 1641 | "node-releases": "^2.0.14", 1642 | "update-browserslist-db": "^1.0.13" 1643 | } 1644 | }, 1645 | "caniuse-lite": { 1646 | "version": "1.0.30001574", 1647 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001574.tgz", 1648 | "integrity": "sha512-BtYEK4r/iHt/txm81KBudCUcTy7t+s9emrIaHqjYurQ10x71zJ5VQ9x1dYPcz/b+pKSp4y/v1xSI67A+LzpNyg==", 1649 | "peer": true 1650 | }, 1651 | "chalk": { 1652 | "version": "2.4.2", 1653 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 1654 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 1655 | "peer": true, 1656 | "requires": { 1657 | "ansi-styles": "^3.2.1", 1658 | "escape-string-regexp": "^1.0.5", 1659 | "supports-color": "^5.3.0" 1660 | } 1661 | }, 1662 | "color-convert": { 1663 | "version": "1.9.3", 1664 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 1665 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 1666 | "peer": true, 1667 | "requires": { 1668 | "color-name": "1.1.3" 1669 | } 1670 | }, 1671 | "color-name": { 1672 | "version": "1.1.3", 1673 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 1674 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 1675 | "peer": true 1676 | }, 1677 | "concat-map": { 1678 | "version": "0.0.1", 1679 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1680 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1681 | "peer": true 1682 | }, 1683 | "convert-source-map": { 1684 | "version": "2.0.0", 1685 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 1686 | "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", 1687 | "peer": true 1688 | }, 1689 | "css-tree": { 1690 | "version": "1.1.3", 1691 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", 1692 | "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", 1693 | "peer": true, 1694 | "requires": { 1695 | "mdn-data": "2.0.14", 1696 | "source-map": "^0.6.1" 1697 | } 1698 | }, 1699 | "css-unit-converter": { 1700 | "version": "1.1.2", 1701 | "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", 1702 | "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", 1703 | "peer": true 1704 | }, 1705 | "csstype": { 1706 | "version": "3.1.1", 1707 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", 1708 | "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==", 1709 | "peer": true 1710 | }, 1711 | "debug": { 1712 | "version": "4.3.4", 1713 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", 1714 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", 1715 | "peer": true, 1716 | "requires": { 1717 | "ms": "2.1.2" 1718 | } 1719 | }, 1720 | "dominative": { 1721 | "version": "0.1.2", 1722 | "resolved": "https://registry.npmjs.org/dominative/-/dominative-0.1.2.tgz", 1723 | "integrity": "sha512-hyoNhrZH61sMdZLMuCXWpPsnrkOUdNUHOnxtUTnW9SBe0hM9EI32hhHJLC/FP50anT4EyP8I87GRgFWKWtUG4Q==", 1724 | "peer": true, 1725 | "requires": {} 1726 | }, 1727 | "electron-to-chromium": { 1728 | "version": "1.4.620", 1729 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.620.tgz", 1730 | "integrity": "sha512-a2fcSHOHrqBJsPNXtf6ZCEZpXrFCcbK1FBxfX3txoqWzNgtEDG1f3M59M98iwxhRW4iMKESnSjbJ310/rkrp0g==", 1731 | "peer": true 1732 | }, 1733 | "emoji-regex": { 1734 | "version": "10.3.0", 1735 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", 1736 | "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", 1737 | "peer": true 1738 | }, 1739 | "escalade": { 1740 | "version": "3.1.1", 1741 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", 1742 | "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", 1743 | "peer": true 1744 | }, 1745 | "escape-string-regexp": { 1746 | "version": "1.0.5", 1747 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1748 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 1749 | "peer": true 1750 | }, 1751 | "fs.realpath": { 1752 | "version": "1.0.0", 1753 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1754 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 1755 | "peer": true 1756 | }, 1757 | "gensync": { 1758 | "version": "1.0.0-beta.2", 1759 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 1760 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 1761 | "peer": true 1762 | }, 1763 | "glob": { 1764 | "version": "7.2.3", 1765 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 1766 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 1767 | "peer": true, 1768 | "requires": { 1769 | "fs.realpath": "^1.0.0", 1770 | "inflight": "^1.0.4", 1771 | "inherits": "2", 1772 | "minimatch": "^3.1.1", 1773 | "once": "^1.3.0", 1774 | "path-is-absolute": "^1.0.0" 1775 | } 1776 | }, 1777 | "globals": { 1778 | "version": "11.12.0", 1779 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 1780 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 1781 | "peer": true 1782 | }, 1783 | "has-flag": { 1784 | "version": "3.0.0", 1785 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1786 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 1787 | "peer": true 1788 | }, 1789 | "html-entities": { 1790 | "version": "2.3.3", 1791 | "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", 1792 | "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", 1793 | "peer": true 1794 | }, 1795 | "inflight": { 1796 | "version": "1.0.6", 1797 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1798 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1799 | "peer": true, 1800 | "requires": { 1801 | "once": "^1.3.0", 1802 | "wrappy": "1" 1803 | } 1804 | }, 1805 | "inherits": { 1806 | "version": "2.0.4", 1807 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1808 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1809 | "peer": true 1810 | }, 1811 | "js-tokens": { 1812 | "version": "4.0.0", 1813 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1814 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 1815 | "peer": true 1816 | }, 1817 | "jsesc": { 1818 | "version": "2.5.2", 1819 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", 1820 | "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", 1821 | "peer": true 1822 | }, 1823 | "json5": { 1824 | "version": "2.2.3", 1825 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 1826 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 1827 | "peer": true 1828 | }, 1829 | "lru-cache": { 1830 | "version": "5.1.1", 1831 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 1832 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 1833 | "peer": true, 1834 | "requires": { 1835 | "yallist": "^3.0.2" 1836 | } 1837 | }, 1838 | "mdn-data": { 1839 | "version": "2.0.14", 1840 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", 1841 | "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", 1842 | "peer": true 1843 | }, 1844 | "minimatch": { 1845 | "version": "3.1.2", 1846 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1847 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1848 | "peer": true, 1849 | "requires": { 1850 | "brace-expansion": "^1.1.7" 1851 | } 1852 | }, 1853 | "mkdirp": { 1854 | "version": "1.0.4", 1855 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 1856 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 1857 | "peer": true 1858 | }, 1859 | "ms": { 1860 | "version": "2.1.2", 1861 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1862 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1863 | "peer": true 1864 | }, 1865 | "node-releases": { 1866 | "version": "2.0.14", 1867 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", 1868 | "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", 1869 | "peer": true 1870 | }, 1871 | "once": { 1872 | "version": "1.4.0", 1873 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 1874 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 1875 | "peer": true, 1876 | "requires": { 1877 | "wrappy": "1" 1878 | } 1879 | }, 1880 | "path-is-absolute": { 1881 | "version": "1.0.1", 1882 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 1883 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 1884 | "peer": true 1885 | }, 1886 | "picocolors": { 1887 | "version": "1.0.0", 1888 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 1889 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 1890 | "peer": true 1891 | }, 1892 | "postcss-value-parser": { 1893 | "version": "3.3.1", 1894 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", 1895 | "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", 1896 | "peer": true 1897 | }, 1898 | "reduce-css-calc": { 1899 | "version": "2.1.8", 1900 | "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", 1901 | "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", 1902 | "peer": true, 1903 | "requires": { 1904 | "css-unit-converter": "^1.1.1", 1905 | "postcss-value-parser": "^3.3.0" 1906 | } 1907 | }, 1908 | "semver": { 1909 | "version": "6.3.1", 1910 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 1911 | "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 1912 | "peer": true 1913 | }, 1914 | "seroval": { 1915 | "version": "1.0.4", 1916 | "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.0.4.tgz", 1917 | "integrity": "sha512-qQs/N+KfJu83rmszFQaTxcoJoPn6KNUruX4KmnmyD0oZkUoiNvJ1rpdYKDf4YHM05k+HOgCxa3yvf15QbVijGg==", 1918 | "peer": true 1919 | }, 1920 | "seroval-plugins": { 1921 | "version": "1.0.4", 1922 | "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.0.4.tgz", 1923 | "integrity": "sha512-DQ2IK6oQVvy8k+c2V5x5YCtUa/GGGsUwUBNN9UqohrZ0rWdUapBFpNMYP1bCyRHoxOJjdKGl+dieacFIpU/i1A==", 1924 | "peer": true, 1925 | "requires": {} 1926 | }, 1927 | "solid-js": { 1928 | "version": "1.8.11", 1929 | "resolved": "https://registry.npmjs.org/solid-js/-/solid-js-1.8.11.tgz", 1930 | "integrity": "sha512-WdwmER+TwBJiN4rVQTVBxocg+9pKlOs41KzPYntrC86xO5sek8TzBYozPEZPL1IRWDouf2lMrvSbIs3CanlPvQ==", 1931 | "peer": true, 1932 | "requires": { 1933 | "csstype": "^3.1.0", 1934 | "seroval": "^1.0.3", 1935 | "seroval-plugins": "^1.0.3" 1936 | } 1937 | }, 1938 | "source-map": { 1939 | "version": "0.6.1", 1940 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 1941 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 1942 | "peer": true 1943 | }, 1944 | "supports-color": { 1945 | "version": "5.5.0", 1946 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 1947 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 1948 | "peer": true, 1949 | "requires": { 1950 | "has-flag": "^3.0.0" 1951 | } 1952 | }, 1953 | "to-fast-properties": { 1954 | "version": "2.0.0", 1955 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", 1956 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", 1957 | "peer": true 1958 | }, 1959 | "tslib": { 1960 | "version": "2.6.2", 1961 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 1962 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", 1963 | "peer": true 1964 | }, 1965 | "undom-ng": { 1966 | "version": "1.1.2", 1967 | "resolved": "https://registry.npmjs.org/undom-ng/-/undom-ng-1.1.2.tgz", 1968 | "integrity": "sha512-ZYKxr3cM2X4x4D+y1uo82fBHtOM8lNr5od/msdI2AI7YGCwrLkGt/ofOF0RlnDDF9f8gqqSbdMua1eoTc2LbYQ==", 1969 | "peer": true 1970 | }, 1971 | "update-browserslist-db": { 1972 | "version": "1.0.13", 1973 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", 1974 | "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", 1975 | "peer": true, 1976 | "requires": { 1977 | "escalade": "^3.1.1", 1978 | "picocolors": "^1.0.0" 1979 | } 1980 | }, 1981 | "validate-html-nesting": { 1982 | "version": "1.2.2", 1983 | "resolved": "https://registry.npmjs.org/validate-html-nesting/-/validate-html-nesting-1.2.2.tgz", 1984 | "integrity": "sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==", 1985 | "peer": true 1986 | }, 1987 | "wrappy": { 1988 | "version": "1.0.2", 1989 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 1990 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 1991 | "peer": true 1992 | }, 1993 | "yallist": { 1994 | "version": "3.1.1", 1995 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 1996 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 1997 | "peer": true 1998 | } 1999 | } 2000 | } 2001 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@nativescript-community/solid-js", 3 | "version": "0.1.1", 4 | "description": "SolidJS to work with NativeScript", 5 | "main": "src/index.js", 6 | "types": "index.d.ts", 7 | "scripts": {}, 8 | "keywords": [ 9 | "{N}", 10 | "DOM", 11 | "DOMiNATIVE", 12 | "Solid", 13 | "SolidJS", 14 | "NativeScript", 15 | "native" 16 | ], 17 | "author": "Yukino Song", 18 | "license": "MIT", 19 | "repository": "nativescript-community/solid-js", 20 | "bugs": "https://github.com/nativescript-community/solid-js/issues", 21 | "homepage": "https://github.com/nativescript-community/solid-js", 22 | "dependencies": { 23 | "@babel/plugin-proposal-class-properties": "^7.18.6", 24 | "@babel/plugin-proposal-decorators": "^7.25.9" 25 | }, 26 | "peerDependencies": { 27 | "@babel/preset-typescript": "^7.23.3", 28 | "babel-preset-solid": "^1.8.9", 29 | "dominative": "^0.1.2", 30 | "solid-js": "^1.8.11" 31 | }, 32 | "publishConfig": { 33 | "access": "public" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/dom.js: -------------------------------------------------------------------------------- 1 | import { aliasTagName, globalRegister } from 'dominative' 2 | 3 | globalRegister(global) 4 | 5 | aliasTagName(tag => tag.toLowerCase()) -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | export * from './renderer.js' 2 | -------------------------------------------------------------------------------- /src/renderer.js: -------------------------------------------------------------------------------- 1 | import './dom.js' 2 | import { createRenderer } from 'solid-js/universal' 3 | 4 | 5 | export const { 6 | render, 7 | effect, 8 | memo, 9 | createComponent, 10 | createElement, 11 | createTextNode, 12 | insertNode, 13 | insert, 14 | spread, 15 | setProp, 16 | mergeProps 17 | } = createRenderer({ 18 | createElement(string) { 19 | return document.createElement(string) 20 | }, 21 | createTextNode(value) { 22 | return document.createTextNode(value) 23 | }, 24 | replaceText(textNode, value) { 25 | textNode.nodeValue = value 26 | }, 27 | // eslint-disable-next-line max-params 28 | setProperty(node, name, value, prev) { 29 | if (name === 'style') return Object.assign(node.style, value) 30 | if (value === prev) return 31 | 32 | if (name === 'ref') return value(node) 33 | 34 | if (name.startsWith('on:')) { 35 | const eventName = name.slice(3) 36 | if (prev) node.removeEventListener(eventName, prev) 37 | if (value) node.addEventListener(eventName, value) 38 | } else if (name.startsWith('oncapture:')) { 39 | const eventName = name.slice(10) 40 | if (prev) node.removeEventListener(eventName, prev, true) 41 | if (value) node.addEventListener(eventName, value, true) 42 | } else { 43 | if (process.env.NODE_ENV !== 'production' && name.startsWith('on')) { 44 | console.warn(`[DOMiSOLID] Can not register '${name}' as an event handler. 45 | For event handlers, pleas use 'on:raw-eventName' or 'oncapture:rawEvent-name'. 46 | Event delegation isn't supported, also event names are case sensitive on NativeScript. 47 | Refer to https://www.solidjs.com/docs/latest/api#on___oncapture___ for details about 'on:___' and 'oncapture:___'. 48 | Refer to https://github.com/SudoMaker/dominative#tweaking to learn how to enable event bubbling and capturing.`) 49 | } 50 | node.setAttribute(name, value) 51 | } 52 | }, 53 | insertNode(parent, node, anchor) { 54 | parent.insertBefore(node, anchor) 55 | }, 56 | isTextNode(node) { 57 | return node.nodeType === 3 58 | }, 59 | removeNode(parent, node) { 60 | parent.removeChild(node) 61 | }, 62 | getParentNode(node) { 63 | return node.parentNode 64 | }, 65 | getFirstChild(node) { 66 | return node.firstChild 67 | }, 68 | getNextSibling(node) { 69 | return node.nextSibling 70 | } 71 | }); 72 | 73 | export function use(fn, args) { 74 | return fn?.(args); 75 | } 76 | 77 | // Forward Solid control flow 78 | export { 79 | For, 80 | Show, 81 | Suspense, 82 | SuspenseList, 83 | Switch, 84 | Match, 85 | Index, 86 | ErrorBoundary 87 | } from "solid-js" --------------------------------------------------------------------------------