diff --git a/.vscode/settings.json b/.vscode/settings.json index 7f76f35..5252036 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,5 @@ { "files.exclude": { - // "**/node_modules/**": true, - "**/node_modules/[^b]**": true + "**/node_modules/**": true } } diff --git a/addon/content/solid-example/panorama/layout/custom_game/app.xml b/addon/content/solid-example/panorama/layout/custom_game/app.xml deleted file mode 100644 index e212465..0000000 --- a/addon/content/solid-example/panorama/layout/custom_game/app.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/addon/content/solid-example/panorama/layout/custom_game/lowhud.xml b/addon/content/solid-example/panorama/layout/custom_game/lowhud.xml new file mode 100644 index 0000000..d351cfb --- /dev/null +++ b/addon/content/solid-example/panorama/layout/custom_game/lowhud.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/addon/content/solid-example/panorama/layout/custom_game/shop.xml b/addon/content/solid-example/panorama/layout/custom_game/shop.xml new file mode 100644 index 0000000..97ed0fe --- /dev/null +++ b/addon/content/solid-example/panorama/layout/custom_game/shop.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/addon/content/solid-example/panorama/scripts/custom_game/app.js b/addon/content/solid-example/panorama/scripts/custom_game/app.js deleted file mode 100644 index ee021fb..0000000 --- a/addon/content/solid-example/panorama/scripts/custom_game/app.js +++ /dev/null @@ -1,39 +0,0 @@ -'use strict'; const require = GameUI.__require; - -var libs = require('./libs.js'); - -function Item(props) { - let [root, setRoot] = libs.createSignal(null); - let [text, setText] = libs.createSignal(''); - let el; - libs.onMount(() => { - $.Msg('onMount ', el); - }); - libs.createEffect(() => { - $.Msg('effect root ', root()); - }, root); - return (() => { - const _el$ = libs.createElement("Panel", { - id: "root" - }, null), - _el$2 = libs.createElement("Label", {}, _el$); - const _ref$ = el; - typeof _ref$ === "function" ? libs.use(_ref$, _el$) : el = _el$; - libs.effect(_$p => libs.setProp(_el$2, "text", text(), _$p)); - return _el$; - })(); -} -function HelloWorld() { - return (() => { - const _el$3 = libs.createElement("Panel", {}, null); - libs.createTextNode(`Hello World!`, _el$3); - libs.setProp(_el$3, "style", { - flowChildren: 'right' - }); - libs.insert(_el$3, libs.createComponent(Item, { - show: true - }, _el$3), null); - return _el$3; - })(); -} -libs.render(() => libs.createComponent(HelloWorld, {}, null), $('#app')); diff --git a/addon/content/solid-example/panorama/scripts/custom_game/libs.js b/addon/content/solid-example/panorama/scripts/custom_game/libs.js index 27ba7b3..0866076 100644 --- a/addon/content/solid-example/panorama/scripts/custom_game/libs.js +++ b/addon/content/solid-example/panorama/scripts/custom_game/libs.js @@ -40,34 +40,10 @@ function createRoot(fn, detachedOwner) { Owner = owner; } } -function createSignal(value, options) { - options = options ? Object.assign({}, signalOptions, options) : signalOptions; - const s = { - value, - observers: null, - observerSlots: null, - comparator: options.equals || undefined - }; - const setter = value => { - if (typeof value === "function") { - value = value(s.value); - } - return writeSignal(s, value); - }; - return [readSignal.bind(s), setter]; -} function createRenderEffect(fn, value, options) { const c = createComputation(fn, value, false, STALE); updateComputation(c); } -function createEffect(fn, value, options) { - runEffects = runUserEffects; - const c = createComputation(fn, value, false, STALE), - s = SuspenseContext && lookup(Owner, SuspenseContext.id); - if (s) c.suspense = s; - c.user = true; - Effects ? Effects.push(c) : updateComputation(c); -} function createMemo(fn, value, options) { options = options ? Object.assign({}, signalOptions, options) : signalOptions; const c = createComputation(fn, value, true, 0); @@ -85,10 +61,6 @@ function untrack(fn) { Listener = listener; return result; } -function onMount(fn) { - createEffect(() => untrack(fn)); -} -let SuspenseContext; function readSignal() { const runningTransition = Transition ; if (this.sources && (this.state || runningTransition )) { @@ -240,15 +212,6 @@ function completeUpdates(wait) { function runQueue(queue) { for (let i = 0; i < queue.length; i++) runTop(queue[i]); } -function runUserEffects(queue) { - let i, - userLength = 0; - for (i = 0; i < queue.length; i++) { - const e = queue[i]; - if (!e.user) runTop(e);else queue[userLength++] = e; - } - for (i = 0; i < userLength; i++) runTop(queue[i]); -} function lookUpstream(node, ignore) { const runningTransition = Transition ; node.state = 0; @@ -309,9 +272,6 @@ function handleError(err) { err = castError(err); throw err; } -function lookup(owner, key) { - return owner ? owner.context && owner.context[key] !== undefined ? owner.context[key] : lookup(owner.owner, key) : undefined; -} function createComponent$1(Comp, props) { return untrack(() => Comp(props || {})); } @@ -627,33 +587,6 @@ function createRenderer(options) { return renderer; } -/****************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - -function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} - const StyleKeyAutoConvertToPixelList = [ 'x', 'y', @@ -686,7 +619,7 @@ const { render: _render, effect, memo, createComponent, createElement, createTex use } = createRenderer({ // @ts-ignore createElement(type, props, parent) { - const { id, snippet, vars, dialogVariables, text } = props, _props = __rest(props, ["id", "snippet", "vars", "dialogVariables", "text"]); + const { id, snippet, vars, dialogVariables, text, ..._props } = props; const el = $.CreatePanelWithProperties(type, parent || $.GetContextPanel(), id || '', _props); if (vars) { setDialogVariables(el, vars, {}); @@ -735,44 +668,6 @@ use } = createRenderer({ } return node.paneltype === 'Label'; }, - setProperty(node, name, value, prev) { - if (!node || !node.IsValid()) { - return; - } - if (name === 'class' || name === 'className') { - applyClassNames(node, value, prev || ''); - } - else if (name === 'classList') { - updateClassList(node, value); - } - else if (name === 'style') { - applyStyles(node, value, prev); - } - else if (name === 'vars' || name === 'dialogVariables') { - setDialogVariables(node, value, prev); - } - else if (name === 'inputnamespace') { - node.SetInputNamespace(value || ''); - } - else if (name === 'draggable') { - node.SetDraggable(value === true); - } - else if (name === 'acceptsfocus') { - node.SetAcceptsFocus(value === true); - } - else if (name.startsWith('on')) { - setPanelEvent(node, name, value); - } - else { - if (hasOwn.call(node, name)) { - // @ts-ignore - node[name] = value; - } - else { - node.SetAttributeString(name, String(value)); - } - } - }, insertNode(parent, node, anchor) { if (!parent || !parent.IsValid() || !node || !node.IsValid()) { return; @@ -820,6 +715,44 @@ use } = createRenderer({ return; } return el; + }, + setProperty(node, name, value, prev) { + if (!node || !node.IsValid()) { + return; + } + if (name === 'class' || name === 'className') { + applyClassNames(node, value, prev || ''); + } + else if (name === 'classList') { + updateClassList(node, value); + } + else if (name === 'style') { + applyStyles(node, value, prev); + } + else if (name === 'vars' || name === 'dialogVariables') { + setDialogVariables(node, value, prev); + } + else if (name === 'inputnamespace') { + node.SetInputNamespace(value || ''); + } + else if (name === 'draggable') { + node.SetDraggable(value === true); + } + else if (name === 'acceptsfocus') { + node.SetAcceptsFocus(value === true); + } + else if (name.startsWith('on')) { + setPanelEvent(node, name, value); + } + else { + if (hasOwn.call(node, name)) { + // @ts-ignore + node[name] = value; + } + else { + node.SetAttributeString(name, String(value)); + } + } } }); const renderPanoramaSymbol = Symbol('render'); @@ -922,13 +855,7 @@ function setDialogVariables(node, vars, prev) { } exports.createComponent = createComponent; -exports.createEffect = createEffect; exports.createElement = createElement; -exports.createSignal = createSignal; exports.createTextNode = createTextNode; -exports.effect = effect; -exports.insert = insert; -exports.onMount = onMount; exports.render = render; exports.setProp = setProp; -exports.use = use; diff --git a/addon/content/solid-example/panorama/scripts/custom_game/lowhud.js b/addon/content/solid-example/panorama/scripts/custom_game/lowhud.js new file mode 100644 index 0000000..8dc9e32 --- /dev/null +++ b/addon/content/solid-example/panorama/scripts/custom_game/lowhud.js @@ -0,0 +1,15 @@ +'use strict'; const require = GameUI.__require; + +var libs = require('./libs.js'); + +function App() { + return (() => { + const _el$ = libs.createElement("Panel", {}, null); + libs.createTextNode(`Hello World!`, _el$); + libs.setProp(_el$, "style", { + flowChildren: 'right' + }); + return _el$; + })(); +} +libs.render(() => libs.createComponent(App, {}, null), $('#app')); diff --git a/addon/content/solid-example/panorama/scripts/custom_game/shop.js b/addon/content/solid-example/panorama/scripts/custom_game/shop.js new file mode 100644 index 0000000..8dc9e32 --- /dev/null +++ b/addon/content/solid-example/panorama/scripts/custom_game/shop.js @@ -0,0 +1,15 @@ +'use strict'; const require = GameUI.__require; + +var libs = require('./libs.js'); + +function App() { + return (() => { + const _el$ = libs.createElement("Panel", {}, null); + libs.createTextNode(`Hello World!`, _el$); + libs.setProp(_el$, "style", { + flowChildren: 'right' + }); + return _el$; + })(); +} +libs.render(() => libs.createComponent(App, {}, null), $('#app')); diff --git a/babel.config.js b/babel.config.js deleted file mode 100644 index f22a156..0000000 --- a/babel.config.js +++ /dev/null @@ -1,16 +0,0 @@ -module.exports = { - targets: 'node 8.2', - comments: false, - presets: [ - '@babel/preset-env', - '@babel/preset-typescript', - [ - 'babel-preset-solid-panorama', - { - moduleName: 'solid-panorama-runtime', - generate: 'universal' - } - ] - ], - plugins: ['@babel/plugin-transform-typescript'] -}; diff --git a/build.ts b/build.ts deleted file mode 100644 index f78be31..0000000 --- a/build.ts +++ /dev/null @@ -1,118 +0,0 @@ -import chokidar from 'chokidar'; -import { - readdirSync, - readFileSync, - statSync, - existsSync, - Stats, - writeFileSync -} from 'fs'; -import * as rollup from 'rollup'; -import path from 'path'; -import chalk from 'chalk'; -import { - PreloadTemplates, - RenderPanoramaXML, - RenderPanoramaXMLOptions -} from 'dota2-panorama-xml-static-element'; -import glob from 'glob'; -import { readFile } from 'fs/promises'; -import GetRollupWatchOptions from './build-rollup-config'; - -const cli_prefix = `[${chalk.magenta('Panorama')}]`; -const rootPath = path_step(path.join(__dirname, 'src')); - -function path_step(p: string) { - return p.replace(/\\/g, '/'); -} - -function file_color(s: string) { - return chalk.green(s); -} - -function isDir(p: string) { - return statSync(p).isDirectory(); -} - -/** - * 启动Rollup编译 - */ -function StartRollup(): void { - let options: rollup.RollupWatchOptions = GetRollupWatchOptions(rootPath); - let watcher = rollup.watch(options); - - // 监听错误 - watcher.on('event', async evt => { - if (evt.code === 'ERROR') { - const f = path_step(evt.error.loc?.file || '').replace( - rootPath + '/', - '' - ); - console.log( - cli_prefix + - ' Build Error: ' + - chalk.red(f) + - ': ' + - chalk.yellow(evt.error.loc?.line) - ); - console.log( - cli_prefix + ' Build Error: ' + chalk.red(evt.error.message) - ); - } - }); - - watcher.on('change', p => { - console.log(cli_prefix + ' ✒️ ' + file_color(path.basename(p))); - }); -} - -/** - * 复制XML - */ -async function onXMLChange(filePath: string, stats?: Stats | undefined) { - let dir = path.dirname(filePath); - while (path.basename(path.join(dir, '..')) !== 'pages') { - dir = path.join(dir, '..'); - } - let dirName = path.basename(dir); - const fileName = path.basename(filePath).replace('.xml', ''); - console.log( - cli_prefix + - ' 🐤 ' + - file_color(`${fileName}.xml`) + - ' >> ' + - chalk.blue(dirName + '.xml') - ); - const triggerFile = path.join(dir, `${dirName}.xml`); - - let content = await RenderPanoramaXML(triggerFile, { - indentation: ' ', - templateRoots: [path.join(rootPath, 'Components'), dir], - snippetsFiles: glob.sync( - path - .join(rootPath, 'Components/Snippets/**/*.xml') - .replace(/\\/g, '/') - ) - }); - writeFileSync( - `./content/vue_example/panorama/layout/custom_game/${dirName}.xml`, - content - ); -} - -/** - * 任务入口 - */ -export default async function TaskPUI() { - StartRollup(); - // 监听XML - // const xmlFiles = glob.sync(path.join(rootPath, '**/*.xml')); - // const watchXML = chokidar.watch( - // [...xmlFiles, path.join(rootPath, '**/*.xml')], - // { ignoreInitial: false } - // ); - // watchXML.on('change', onXMLChange); - // watchXML.on('add', onXMLChange); -} - -TaskPUI(); diff --git a/package.json b/package.json index 653e59f..92ec54c 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "author": "RobinCode", "license": "MIT", "scripts": { - "start": "ts-node -r ./build-write-file.ts build.ts", + "start": "ts-node -r ./scripts/build-write-file.ts ./scripts/build.ts", "build": "rollup -c" }, "dependencies": { @@ -14,6 +14,7 @@ "@babel/plugin-transform-typescript": "^7.20.0", "@babel/preset-env": "^7.19.4", "@babel/preset-typescript": "^7.18.6", + "@babel/types": "^7.20.2", "@moddota/panorama-types": "^1.21.0", "@rollup/plugin-alias": "^4.0.2", "@rollup/plugin-babel": "^6.0.2", @@ -23,13 +24,16 @@ "@rollup/plugin-typescript": "^9.0.2", "@rollup/plugin-url": "^8.0.1", "@types/babel__core": "^7.1.19", + "@types/cli-color": "^2.0.2", "@types/fs-extra": "^9.0.13", "@types/glob": "^8.0.0", "@types/node": "^18.11.7", "babel-plugin-jsx-panorama-expressions": "^0.1.2", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-panorama-all-in-jsx": "^0.1.3", "babel-preset-solid-panorama": "^0.1.3", - "chalk": "4.1.2", "chokidar": "^3.5.3", + "cli-color": "^2.0.3", "dota2-panorama-xml-static-element": "^0.0.4", "fs-extra": "^10.1.0", "glob": "^8.0.3", @@ -37,7 +41,7 @@ "rollup": "^3.2.3", "sass": "^1.55.0", "solid-js": "^1.6.1", - "solid-panorama-runtime": "^0.1.6", + "solid-panorama-runtime": "^0.1.8", "ts-node": "^10.9.1", "typescript": "~4.8.4" } diff --git a/build-rollup-config.ts b/scripts/build-rollup-config.ts similarity index 61% rename from build-rollup-config.ts rename to scripts/build-rollup-config.ts index 826c642..2d50178 100644 --- a/build-rollup-config.ts +++ b/scripts/build-rollup-config.ts @@ -10,26 +10,24 @@ import chalk from 'chalk'; import { existsSync, readdirSync, statSync } from 'node:fs'; import alias from '@rollup/plugin-alias'; import replace from '@rollup/plugin-replace'; -import compatiblePanorama from './plugins/compatible-panorama'; - -const cli_prefix = `[${chalk.magenta('Panorama')}]`; - -function isDir(p: string) { - return statSync(p).isDirectory(); -} +import compatiblePanorama from '../plugins/compatible-panorama'; +import { isDir, Panorama } from './utils'; +import { rollupPluginXML } from './rollup-plugin-xml'; export default function GetRollupWatchOptions(rootPath: string) { // 入口文件夹 - const Dirs = readdirSync(rootPath).filter( + const entryFiles = readdirSync(rootPath).filter( v => + v !== 'common' && isDir(path.join(rootPath, v)) && - v !== 'global' && - existsSync(path.join(rootPath, `${v}/${v}.ts`)) + existsSync(path.join(rootPath, `${v}/${v}.tsx`)) ); - console.log(Dirs.map(v => cli_prefix + ' 👁️ ' + v).join('\n')); + console.log(entryFiles.map(v => Panorama + ' 👁️ ' + v).join('\n')); const options: RollupWatchOptions = { - input: path.join(rootPath, `./app.tsx`), + input: entryFiles.map(v => { + return path.join(rootPath, `./${v}/${v}.tsx`); + }), output: { sourcemap: false, dir: 'addon/content/solid-example/panorama/scripts/custom_game', @@ -52,7 +50,22 @@ export default function GetRollupWatchOptions(rootPath: string) { comments: false, exclude: 'node_modules/**', extensions: ['.js', '.ts', '.tsx'], - babelHelpers: 'bundled' + babelHelpers: 'bundled', + presets: [ + ['@babel/preset-env', { targets: { node: '8.2' } }], + '@babel/preset-typescript', + [ + 'babel-preset-solid-panorama', + { + moduleName: 'solid-panorama-runtime', + generate: 'universal' + } + ] + ], + plugins: [ + '@babel/plugin-transform-typescript', + 'babel-plugin-macros' + ] }), alias({ entries: [ @@ -72,7 +85,13 @@ export default function GetRollupWatchOptions(rootPath: string) { // }), commonjs(), nodeResolve(), - compatiblePanorama() + compatiblePanorama(), + rollupPluginXML({ + dir: join( + __dirname, + '../addon/content/solid-example/panorama/layout/custom_game' + ) + }) ] }; diff --git a/build-write-file.ts b/scripts/build-write-file.ts similarity index 100% rename from build-write-file.ts rename to scripts/build-write-file.ts diff --git a/scripts/build.ts b/scripts/build.ts new file mode 100644 index 0000000..f49c49c --- /dev/null +++ b/scripts/build.ts @@ -0,0 +1,64 @@ +import chokidar from 'chokidar'; +import { + readdirSync, + readFileSync, + statSync, + existsSync, + Stats, + writeFileSync +} from 'fs'; +import * as rollup from 'rollup'; +import path from 'path'; +import { + PreloadTemplates, + RenderPanoramaXML, + RenderPanoramaXMLOptions +} from 'dota2-panorama-xml-static-element'; +import glob from 'glob'; +import { readFile } from 'fs/promises'; +import GetRollupWatchOptions from './build-rollup-config'; +import { fileColor, normalizedPath, Panorama } from './utils'; +import color from 'cli-color'; + +const rootPath = normalizedPath(path.join(__dirname, '../src')); + +/** + * 启动Rollup编译 + */ +function StartRollup(): void { + let options: rollup.RollupWatchOptions = GetRollupWatchOptions(rootPath); + let watcher = rollup.watch(options); + + // 监听错误 + watcher.on('event', async evt => { + if (evt.code === 'ERROR') { + const f = normalizedPath(evt.error.loc?.file || '').replace( + rootPath + '/', + '' + ); + console.log( + Panorama + + ' Build Error: ' + + color.red(f) + + ': ' + + color.yellow(evt.error.loc?.line) + ); + console.log( + Panorama + ' Build Error: ' + color.red(evt.error.message) + ); + } + }); + + watcher.on('change', p => { + console.log(Panorama + ' ✒️ ' + fileColor(path.basename(p))); + }); +} + +/** + * 任务入口 + */ +export default async function TaskPUI() { + StartRollup(); +} + +TaskPUI(); diff --git a/scripts/rollup-plugin-xml.ts b/scripts/rollup-plugin-xml.ts new file mode 100644 index 0000000..fd9e368 --- /dev/null +++ b/scripts/rollup-plugin-xml.ts @@ -0,0 +1,32 @@ +import { Plugin } from 'rollup'; +import { + formatXML, + getAllCacheXML +} from 'babel-plugin-panorama-all-in-jsx/xml.macro'; +import { basename, join } from 'node:path'; +import { ensureDir, writeFile } from 'fs-extra'; + +export function rollupPluginXML(options: { + dir: string; + resolvePath?: (filename: string) => string | undefined; +}): Plugin { + return { + name: 'rollup-plugin-xml', + async generateBundle() { + const cache = getAllCacheXML(); + for (const [filename, root] of Object.entries(cache)) { + let outPath = ''; + if (options.resolvePath) { + outPath = options.resolvePath(filename) || ''; + } + if (!outPath) { + outPath = join( + options.dir, + basename(filename).replace(/\.tsx?$/, '.xml') + ); + } + await writeFile(outPath, formatXML(root)); + } + } + }; +} diff --git a/scripts/utils.ts b/scripts/utils.ts new file mode 100644 index 0000000..b30cc09 --- /dev/null +++ b/scripts/utils.ts @@ -0,0 +1,16 @@ +import { statSync } from 'fs'; +import color from 'cli-color'; + +export function normalizedPath(p: string): string { + return p.replace(/\\/g, '/'); +} + +export const Panorama = `[${color.magenta('Panorama')}]`; + +export function fileColor(s: string) { + return color.green(s); +} + +export function isDir(p: string) { + return statSync(p).isDirectory(); +} diff --git a/src/app.tsx b/src/app.tsx deleted file mode 100644 index 70b7a13..0000000 --- a/src/app.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import { createEffect, createSignal, onMount, ParentComponent } from 'solid-js'; -import { render } from 'solid-panorama-runtime'; - -function Item(props: { show: boolean }) { - let [root, setRoot] = createSignal(null); - let [text, setText] = createSignal(''); - let el: Panel | undefined; - - onMount(() => { - $.Msg('onMount ', el); - }); - - createEffect(() => { - $.Msg('effect root ', root()); - }, root); - - return ( - - - ); -} - -function HelloWorld() { - return ( - - Hello World! - - - ); -} - -render(() => , $('#app')); diff --git a/src/lowhud/lowhud.tsx b/src/lowhud/lowhud.tsx new file mode 100644 index 0000000..5f45fb1 --- /dev/null +++ b/src/lowhud/lowhud.tsx @@ -0,0 +1,24 @@ +import { createEffect, createSignal, onMount, ParentComponent } from 'solid-js'; +import { render } from 'solid-panorama-runtime'; +import xml from 'babel-plugin-panorama-all-in-jsx/xml.macro'; + +xml( + + + + + + + + + + + + +); + +function App() { + return Hello World!; +} + +render(() => , $('#app')); diff --git a/src/shop/shop.tsx b/src/shop/shop.tsx new file mode 100644 index 0000000..e59655f --- /dev/null +++ b/src/shop/shop.tsx @@ -0,0 +1,24 @@ +import { createEffect, createSignal, onMount, ParentComponent } from 'solid-js'; +import { render } from 'solid-panorama-runtime'; +import xml from 'babel-plugin-panorama-all-in-jsx/xml.macro'; + +xml( + + + + + + + + + + + + +); + +function App() { + return Hello World!; +} + +render(() => , $('#app')); diff --git a/tsconfig.json b/tsconfig.json index 68be9a1..826b3c4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,11 +1,10 @@ { - "include": ["./*.ts"], + "include": ["**/*.ts"], "compilerOptions": { "rootDir": ".", "noImplicitAny": true, "experimentalDecorators": true, "allowJs": true, - "inlineSourceMap": true, "moduleResolution": "Node", "esModuleInterop": true, "strict": true, diff --git a/yarn.lock b/yarn.lock index 681155a..e34c050 100644 --- a/yarn.lock +++ b/yarn.lock @@ -10,7 +10,7 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@^7.18.6": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== @@ -898,6 +898,13 @@ "@babel/helper-validator-option" "^7.18.6" "@babel/plugin-transform-typescript" "^7.18.6" +"@babel/runtime@^7.12.5": + version "7.20.1" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.1.tgz#1148bb33ab252b165a06698fde7576092a78b4a9" + integrity sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg== + dependencies: + regenerator-runtime "^0.13.10" + "@babel/runtime@^7.8.4": version "7.20.0" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.0.tgz#824a9ef325ffde6f78056059db3168c08785e24a" @@ -939,6 +946,15 @@ "@babel/helper-validator-identifier" "^7.19.1" to-fast-properties "^2.0.0" +"@babel/types@^7.20.2": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.2.tgz#67ac09266606190f496322dbaff360fdaa5e7842" + integrity sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog== + dependencies: + "@babel/helper-string-parser" "^7.19.4" + "@babel/helper-validator-identifier" "^7.19.1" + to-fast-properties "^2.0.0" + "@cspotcode/source-map-support@^0.8.0": version "0.8.1" resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" @@ -1127,6 +1143,11 @@ dependencies: "@babel/types" "^7.3.0" +"@types/cli-color@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/cli-color/-/cli-color-2.0.2.tgz#01bd593722a12c26ec84c170ab251fe2d35856c5" + integrity sha512-1ErQIcmNHtNViGKTtB/TIKqMkC2RkKI2nBneCr9hSCPo9H05g9VzjlaXPW3H0vaI8zFGjJZvSav+VKDKCtKgKA== + "@types/estree@*", "@types/estree@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" @@ -1157,6 +1178,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.7.tgz#8ccef136f240770c1379d50100796a6952f01f94" integrity sha512-LhFTglglr63mNXUSRYD8A+ZAIu5sFqNJ4Y2fPuY7UlrySJH87rRRlhtVmMHplmfk5WkoJGmDjE9oiTfyX94CpQ== +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + "@types/resolve@1.20.2": version "1.20.2" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" @@ -1184,13 +1210,6 @@ ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" @@ -1214,6 +1233,23 @@ babel-plugin-jsx-panorama-expressions@^0.1.2: "@babel/types" "^7.16.0" html-entities "2.3.2" +babel-plugin-macros@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1" + integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + +babel-plugin-panorama-all-in-jsx@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/babel-plugin-panorama-all-in-jsx/-/babel-plugin-panorama-all-in-jsx-0.1.3.tgz#297273ae4afb1e465d4ab2acb6e61cde2e4ef2f1" + integrity sha512-VJvXlVnmBv3Vx4X/S2rMd3L9LKT5vWrjsm4CVb/WMNIbQdu7WZPNAsL/3dk5Lmz+9MjdnGquBenBXd8pltLg1g== + dependencies: + babel-plugin-macros "^3.1.0" + xml-js "^1.6.11" + babel-plugin-polyfill-corejs2@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" @@ -1298,19 +1334,16 @@ call-bind@^1.0.0, call-bind@^1.0.2: function-bind "^1.1.1" get-intrinsic "^1.0.2" +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + caniuse-lite@^1.0.30001400: version "1.0.30001427" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001427.tgz#d3a749f74be7ae0671fbec3a4eea18576e8ad646" integrity sha512-lfXQ73oB9c8DP5Suxaszm+Ta2sr/4tf8+381GkIm1MLj/YdLf+rEDyDSRCzeltuyTVGm+/s18gdZ0q+Wmp8VsQ== -chalk@4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@^2.0.0, chalk@^2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -1335,6 +1368,17 @@ chalk@^2.0.0, chalk@^2.4.1: optionalDependencies: fsevents "~2.3.2" +cli-color@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-2.0.3.tgz#73769ba969080629670f3f2ef69a4bf4e7cc1879" + integrity sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ== + dependencies: + d "^1.0.1" + es5-ext "^0.10.61" + es6-iterator "^2.0.3" + memoizee "^0.4.15" + timers-ext "^0.1.7" + color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -1342,23 +1386,11 @@ color-convert@^1.9.0: dependencies: color-name "1.1.3" -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - color-name@1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" @@ -1381,6 +1413,17 @@ core-js-compat@^3.25.1: dependencies: browserslist "^4.21.4" +cosmiconfig@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -1402,6 +1445,14 @@ csstype@^3.1.0: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== +d@1, d@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== + dependencies: + es5-ext "^0.10.50" + type "^1.0.1" + debug@^4.1.0, debug@^4.1.1: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" @@ -1487,6 +1538,42 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" +es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@^0.10.61, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: + version "0.10.62" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" + integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + next-tick "^1.1.0" + +es6-iterator@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-symbol@^3.1.1, es6-symbol@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== + dependencies: + d "^1.0.1" + ext "^1.1.2" + +es6-weak-map@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" + integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== + dependencies: + d "1" + es5-ext "^0.10.46" + es6-iterator "^2.0.3" + es6-symbol "^3.1.1" + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -1507,6 +1594,21 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== +event-emitter@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== + dependencies: + d "1" + es5-ext "~0.10.14" + +ext@^1.1.2: + version "1.7.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" + integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== + dependencies: + type "^2.7.2" + fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -1625,11 +1727,6 @@ has-flag@^3.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - has-property-descriptors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" @@ -1671,6 +1768,14 @@ immutable@^4.0.0: resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.1.0.tgz#f795787f0db780183307b9eb2091fcac1f6fafef" integrity sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ== +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -1780,6 +1885,11 @@ is-number@^7.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== +is-promise@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" + integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== + is-reference@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" @@ -1848,6 +1958,11 @@ json-parse-better-errors@^1.0.1: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json5@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" @@ -1862,6 +1977,11 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" @@ -1877,6 +1997,13 @@ lodash.debounce@^4.0.8: resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== +lru-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" + integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== + dependencies: + es5-ext "~0.10.2" + magic-string@^0.26.4: version "0.26.7" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.26.7.tgz#caf7daf61b34e9982f8228c4527474dac8981d6f" @@ -1896,6 +2023,20 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== +memoizee@^0.4.15: + version "0.4.15" + resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" + integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== + dependencies: + d "^1.0.1" + es5-ext "^0.10.53" + es6-weak-map "^2.0.3" + event-emitter "^0.3.5" + is-promise "^2.2.2" + lru-queue "^0.1.0" + next-tick "^1.1.0" + timers-ext "^0.1.7" + memorystream@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" @@ -1925,6 +2066,11 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +next-tick@1, next-tick@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== + nice-try@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" @@ -1992,6 +2138,13 @@ once@^1.3.0: dependencies: wrappy "1" +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -2000,6 +2153,16 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -2022,6 +2185,11 @@ path-type@^3.0.0: dependencies: pify "^3.0.0" +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" @@ -2115,7 +2283,12 @@ regjsparser@^0.9.1: dependencies: jsesc "~0.5.0" -resolve@^1.10.0, resolve@^1.14.2, resolve@^1.22.1: +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.22.1: version "1.22.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== @@ -2149,6 +2322,11 @@ sass@^1.55.0: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" +sax@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + "semver@2 || 3 || 4 || 5", semver@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" @@ -2197,10 +2375,10 @@ solid-js@^1.6.1: dependencies: csstype "^3.1.0" -solid-panorama-runtime@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/solid-panorama-runtime/-/solid-panorama-runtime-0.1.6.tgz#34ed0358df9a60c2fc7d232af0448fcea18510e5" - integrity sha512-140s8uYK8AdYky9o+InWm1js9Q3YmaRMUy6eoLhwYJ0YIxCu7oH5u9GtwIDQDAMX2MTqYutf5sDKTtZMna6xaA== +solid-panorama-runtime@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/solid-panorama-runtime/-/solid-panorama-runtime-0.1.8.tgz#4487cf84e6a439cbf5522f1e5184b237a3081822" + integrity sha512-5gHkEhNigJfiGMuOYrCClOjpGIbUaongpmav4koxtRqUnhUK4mm1SECVOr/5OTO3EH8lR+XQdUNtp4ulZKVSyw== dependencies: "@moddota/panorama-types" "^1.21.0" @@ -2279,18 +2457,19 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +timers-ext@^0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" + integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== + dependencies: + es5-ext "~0.10.46" + next-tick "1" + to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" @@ -2327,6 +2506,16 @@ tslib@^2.0.3: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== +type@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== + +type@^2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== + typescript@~4.8.4: version "4.8.4" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.4.tgz#c464abca159669597be5f96b8943500b238e60e6" @@ -2421,11 +2610,23 @@ xml-formatter@^2.6.1: dependencies: xml-parser-xo "^3.2.0" +xml-js@^1.6.11: + version "1.6.11" + resolved "https://registry.yarnpkg.com/xml-js/-/xml-js-1.6.11.tgz#927d2f6947f7f1c19a316dd8eea3614e8b18f8e9" + integrity sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g== + dependencies: + sax "^1.2.4" + xml-parser-xo@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/xml-parser-xo/-/xml-parser-xo-3.2.0.tgz#c633ab55cf1976d6b03ab4a6a85045093ac32b73" integrity sha512-8LRU6cq+d7mVsoDaMhnkkt3CTtAs4153p49fRo+HIB3I1FD1o5CeXRjRH29sQevIfVJIcPjKSsPU/+Ujhq09Rg== +yaml@^1.10.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + yn@3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"