diff --git a/.c8rc.json b/.c8rc.json index 70af6d4f0..314ffe67b 100644 --- a/.c8rc.json +++ b/.c8rc.json @@ -1,5 +1,6 @@ { "all": true, + "excludeAfterRemap": true, "parserPlugins": ["objectRestSpread", "typescript"], "reporter": ["text-summary", "lcov"], "include": [ diff --git a/.eslintignore b/.eslintignore index 2ddcec1b7..b8b136083 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,15 +1,11 @@ -*.min.js -*.html.js -*.marko.js -*actual* -*expected* -.cache/ -.nyc_output/ -node_modules/ -coverage/ -*dist/ -*generated/ -~vdom.skip -**/test/**/input.js -.vscode __snapshots__ +!packages/marko/src/node_modules +.cache +.vscode +*.marko.js +**/test/**/input.js +*actual* +*dist/ +*expected* +coverage +node_modules diff --git a/.eslintrc.json b/.eslintrc.json index b1ff925ba..6cc81afc8 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,28 +1,42 @@ { + "$schema": "https://json.schemastore.org/eslintrc.json", "root": true, - "extends": ["eslint:recommended", "prettier"], + "extends": ["eslint:recommended", "plugin:import/recommended", "prettier"], "parserOptions": { + "ecmaVersion": "latest", "sourceType": "module", - "impliedStrict": true, - "ecmaFeatures": { - "jsx": false - } + "impliedStrict": true }, - "globals": { - "AggregateError": true + "settings": { + "import/resolver": { + "node": true, + "typescript": true + } }, "env": { "node": true, "mocha": true, - "es2020": true, + "es2024": true, "browser": true }, "rules": { - "sort-imports": [ + "import/namespace": "off", + "import/order": [ "error", { - "allowSeparatedGroups": true, - "ignoreDeclarationSort": true + "groups": [ + ["builtin"], + ["external"], + ["internal"], + "parent", + "sibling", + "index" + ], + "alphabetize": { + "order": "asc", + "orderImportKind": "asc", + "caseInsensitive": true + } } ] }, @@ -32,18 +46,20 @@ "parser": "@typescript-eslint/parser", "extends": [ "eslint:recommended", - "plugin:import/typescript", "plugin:@typescript-eslint/recommended", + "plugin:import/recommended", + "plugin:import/typescript", "prettier" ], "rules": { "@typescript-eslint/explicit-module-boundary-types": "off", - "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-duplicate-enum-values": "off", "@typescript-eslint/no-empty-function": "off", "@typescript-eslint/no-empty-interface": "off", "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-var-requires": "off", - "@typescript-eslint/no-namespace": "off" + "@typescript-eslint/no-namespace": "off", + "@typescript-eslint/no-non-null-assertion": "off", + "@typescript-eslint/no-var-requires": "off" } } ] diff --git a/.gitattributes b/.gitattributes index fd5994a62..3edf1958c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,2 @@ package-lock.json -diff +packages/marko/src/node_modules/** linguist-generated=false diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dd1247e74..51162ec47 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,18 +19,22 @@ jobs: contents: write steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 + with: + ref: ${{ github.head_ref }} - name: Use node uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 20 cache: npm - name: Install dependencies run: npm ci + - name: Build + run: npm run build - name: Format Code run: npm run format - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v4 + uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: "[ci] format" commit_user_name: "github-actions[bot]" @@ -46,7 +50,7 @@ jobs: node: [16, 18, 20] steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Use node@${{ matrix.node }} uses: actions/setup-node@v3 with: @@ -57,18 +61,18 @@ jobs: - name: Run tests run: npm run ci:test - name: Report code coverage - uses: codecov/codecov-action@v2 + uses: codecov/codecov-action@v3 release: runs-on: ubuntu-latest needs: [format, test] if: "${{ github.repository_owner == 'marko-js' && github.event_name == 'push' }}" steps: - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup node uses: actions/setup-node@v3 with: - node-version: 16 + node-version: 20 cache: npm - name: Install dependencies run: npm ci @@ -77,7 +81,7 @@ jobs: uses: changesets/action@v1 with: version: npm run version - publish: npm run publish + publish: npm run release commit: "[ci] release" title: "[ci] release" env: diff --git a/.lintstagedrc.json b/.lintstagedrc.json new file mode 100644 index 000000000..57b176fc4 --- /dev/null +++ b/.lintstagedrc.json @@ -0,0 +1,9 @@ +{ + "$schema": "https://json.schemastore.org/lintstagedrc.schema.json", + "*.{ts,js}": ["eslint --fix", "prettier --write --with-node-modules"], + "*.{json,md,css}": ["prettier --write --with-node-modules"], + "./package.json": [ + "prettier --write --with-node-modules", + "sort-package-json --quiet" + ] +} diff --git a/.prettierignore b/.prettierignore index 9ec4faa79..5c14df672 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,31 +1,17 @@ -# minfied -*.min.js - -# tests +__snapshots__ +!packages/marko/src/node_modules +.cache +.nvm +.sizes.json +.vscode *actual* *expected* -input.* -__snapshots__ - -# generated -dist/ -*.marko.js -*.html.js -*.xml.js -*.generated.js -.nyc_output -.cache/ -coverage -.sizes.json ~* - -# controlled by npm's formatter +CHANGELOG.md +coverage +dist +input.* +node_modules +node_modules package-lock.json package.json - -# controlled by lerna -CHANGELOG.md -lerna.json - -# editor -.vscode diff --git a/.prettierrc.json b/.prettierrc.json deleted file mode 100644 index 5f57cbd46..000000000 --- a/.prettierrc.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "overrides": [ - { - "files": "*rc", - "options": { - "parser": "json" - } - } - ] -} diff --git a/.sizes.json b/.sizes.json index 0c9b763ca..ed8612367 100644 --- a/.sizes.json +++ b/.sizes.json @@ -7,27 +7,27 @@ { "name": "*", "total": { - "min": 13300, - "gzip": 5726, - "brotli": 5193 + "min": 13292, + "gzip": 5720, + "brotli": 5186 } }, { "name": "counter", "user": { "min": 351, - "gzip": 278, - "brotli": 240 + "gzip": 279, + "brotli": 241 }, "runtime": { - "min": 3957, - "gzip": 1845, - "brotli": 1651 + "min": 4031, + "gzip": 1884, + "brotli": 1685 }, "total": { - "min": 4308, - "gzip": 2123, - "brotli": 1891 + "min": 4382, + "gzip": 2163, + "brotli": 1926 } }, { @@ -35,17 +35,17 @@ "user": { "min": 204, "gzip": 180, - "brotli": 159 + "brotli": 153 }, "runtime": { - "min": 2478, - "gzip": 1292, - "brotli": 1153 + "min": 2593, + "gzip": 1350, + "brotli": 1213 }, "total": { - "min": 2682, - "gzip": 1472, - "brotli": 1312 + "min": 2797, + "gzip": 1530, + "brotli": 1366 } }, { @@ -53,35 +53,35 @@ "user": { "min": 1216, "gzip": 702, - "brotli": 638 + "brotli": 636 }, "runtime": { - "min": 7467, - "gzip": 3451, - "brotli": 3123 + "min": 7459, + "gzip": 3446, + "brotli": 3116 }, "total": { - "min": 8683, - "gzip": 4153, - "brotli": 3761 + "min": 8675, + "gzip": 4148, + "brotli": 3752 } }, { "name": "comments 💧", "user": { "min": 988, - "gzip": 589, - "brotli": 545 + "gzip": 592, + "brotli": 549 }, "runtime": { - "min": 7988, - "gzip": 3689, + "min": 7980, + "gzip": 3683, "brotli": 3339 }, "total": { - "min": 8976, - "gzip": 4278, - "brotli": 3884 + "min": 8968, + "gzip": 4275, + "brotli": 3888 } } ] diff --git a/LICENSE b/LICENSE index 9bc1fd27f..ecc00ebde 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright 2020 eBay Inc. and contributors +Copyright 2024 eBay Inc. and contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/babel.config.js b/babel.config.js index eedb64705..1e3068655 100644 --- a/babel.config.js +++ b/babel.config.js @@ -6,7 +6,7 @@ module.exports = (api) => ({ { loose: true, targets: { - node: "16", + node: "18", }, }, ], diff --git a/lint-staged.config.js b/lint-staged.config.js deleted file mode 100644 index 04b6c7a62..000000000 --- a/lint-staged.config.js +++ /dev/null @@ -1,19 +0,0 @@ -const escape = require("shell-quote").quote; - -module.exports = { - "*.{json,css,md}": escapeFileNames(["prettier --write", "git add"]), - "*.{js,ts}": escapeFileNames(["eslint --fix", "prettier --write", "git add"]), -}; - -function escapeFileNames(commands) { - return (filenames) => { - const allFiles = filenames.join(" "); - const allFilesEscaped = filenames - .map((filename) => `"${escape([filename]).replace(/\\@/g, "@")}"`) - .join(" "); - return commands.map( - (command) => - `${command} ${command === "eslint" ? allFiles : allFilesEscaped}` - ); - }; -} diff --git a/package-lock.json b/package-lock.json index 90816b2be..0190f3329 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,58 +9,56 @@ "./packages/*" ], "devDependencies": { - "@babel/cli": "^7.16.0", - "@babel/core": "^7.16.0", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-runtime": "^7.16.0", - "@babel/preset-env": "^7.16.0", - "@babel/preset-typescript": "^7.22.5", - "@babel/register": "^7.16.0", - "@changesets/changelog-github": "^0.4.8", - "@changesets/cli": "^2.26.0", - "@ebay/browserslist-config": "^1.2.0", - "@rollup/plugin-terser": "^0.4.3", - "@rollup/plugin-virtual": "^3.0.1", - "@types/babel__code-frame": "^7.0.3", - "@types/babel__traverse": "^7.14.2", - "@types/jsdom": "^21.1.1", - "@types/mocha": "^10.0.1", - "@types/node": "^20.3.1", - "@typescript-eslint/eslint-plugin": "^5.59.11", - "@typescript-eslint/parser": "^5.59.11", + "@babel/cli": "^7.23.4", + "@babel/core": "^7.23.7", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-runtime": "^7.23.7", + "@babel/preset-env": "^7.23.8", + "@babel/preset-typescript": "^7.23.3", + "@babel/register": "^7.23.7", + "@changesets/changelog-github": "^0.5.0", + "@changesets/cli": "^2.27.1", + "@ebay/browserslist-config": "^2.7.0", + "@rollup/plugin-terser": "^0.4.4", + "@rollup/plugin-virtual": "^3.0.2", + "@types/babel__code-frame": "^7.0.6", + "@types/babel__traverse": "^7.20.5", + "@types/jsdom": "^21.1.6", + "@types/mocha": "^10.0.6", + "@types/node": "^20.10.8", + "@typescript-eslint/eslint-plugin": "^6.18.1", + "@typescript-eslint/parser": "^6.18.1", "~ts": "file:scripts/babel-register.js", "babel-plugin-minprops": "^2.0.1", "bluebird": "^3.7.2", - "c8": "^8.0.0", - "chai": "^4.3.4", + "c8": "^9.0.0", + "chai": "^4.4.0", "cross-env": "^7.0.3", "diffable-html": "^4.0.0", - "dot-json": "^1.2.2", - "esbuild": "^0.18.2", - "eslint": "^8.49.0", - "eslint-config-prettier": "^9.0.0", - "eslint-import-resolver-typescript": "^3.5.5", - "express": "^4.17.1", - "husky": "^8.0.0", - "it-fails": "^1.0.5", - "jsdom": "^19.0.0", - "jsdom-context-require": "^4.0.4", + "dot-json": "^1.3.0", + "esbuild": "^0.19.11", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-import-resolver-typescript": "^3.6.1", + "express": "^4.18.2", + "husky": "^8.0.3", + "it-fails": "^1.0.7", + "jsdom": "^23.2.0", + "jsdom-context-require": "^4.0.9", "kleur": "^4.1.5", - "lint-staged": "^10.5.4", - "mocha": "^8.3.2", - "mocha-autotest": "^1.1.0", + "lint-staged": "^15.2.0", + "mocha": "^10.2.0", + "mocha-autotest": "^1.1.2", "mocha-snap": "^5.0.0", - "prettier": "^2.8.8", - "pretty-format": "^29.5.0", - "rollup": "^3.25.1", - "shell-quote": "^1.7.2", - "sort-package-json": "^2.4.1", + "prettier": "^3.1.1", + "pretty-format": "^29.7.0", + "rollup": "^4.9.4", + "sort-package-json": "^2.6.0", "table": "^6.8.1", "through": "^2.3.8", "through2": "^4.0.2", "tiny-glob": "^0.2.9", - "typescript": "^5.1.3" + "typescript": "^5.3.3" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -73,24 +71,37 @@ } }, "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "license": "Apache-2.0", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" } }, - "node_modules/@babel/cli": { - "version": "7.20.7", + "node_modules/@asamuzakjp/dom-selector": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@asamuzakjp/dom-selector/-/dom-selector-2.0.1.tgz", + "integrity": "sha512-QJAJffmCiymkv6YyQ7voyQb5caCth6jzZsQncYCpHXrJ7RqdYG5y43+is8mnFcYubdOkr7cn1+na9BdFMxqw7w==", "dev": true, - "license": "MIT", "dependencies": { - "@jridgewell/trace-mapping": "^0.3.8", + "bidi-js": "^1.0.3", + "css-tree": "^2.3.1", + "is-potential-custom-element-name": "^1.0.1" + } + }, + "node_modules/@babel/cli": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.23.4.tgz", + "integrity": "sha512-j3luA9xGKCXVyCa5R7lJvOMM+Kc2JEnAEIgz2ggtjQ/j5YUVgfsg/WsG95bbsgq7YLHuiCOzMnoSasuY16qiCw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.17", "commander": "^4.0.1", - "convert-source-map": "^1.1.0", + "convert-source-map": "^2.0.0", "fs-readdir-recursive": "^1.1.0", "glob": "^7.2.0", "make-dir": "^2.1.0", @@ -112,42 +123,45 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", "dependencies": { - "@babel/highlight": "^7.22.5" + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.20.10", - "license": "MIT", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.20.12", - "license": "MIT", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", + "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helpers": "^7.20.7", - "@babel/parser": "^7.20.7", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.12", - "@babel/types": "^7.20.7", - "convert-source-map": "^1.7.0", + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.7", + "@babel/parser": "^7.23.6", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.0" + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -158,29 +172,19 @@ } }, "node_modules/@babel/generator": { - "version": "7.20.7", - "license": "MIT", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", "dependencies": { - "@babel/types": "^7.20.7", + "@babel/types": "^7.23.6", "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.22.5", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", @@ -193,45 +197,43 @@ } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.18.9", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.18.6", - "@babel/types": "^7.18.9" + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.20.7", - "license": "MIT", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.21.3", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.9.tgz", - "integrity": "sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz", + "integrity": "sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", + "@babel/helper-replace-supers": "^7.22.20", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", "semver": "^6.3.1" @@ -243,21 +245,15 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.20.5", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "regexpu-core": "^5.2.1" + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -267,94 +263,84 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.3", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz", + "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" + "resolve": "^1.14.2" }, "peerDependencies": { - "@babel/core": "^7.4.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "license": "MIT", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", "@babel/helper-simple-access": "^7.22.5", "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -383,14 +369,14 @@ } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.18.9", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-wrap-function": "^7.18.9", - "@babel/types": "^7.18.9" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -400,12 +386,12 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", - "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", "@babel/helper-optimise-call-expression": "^7.22.5" }, "engines": { @@ -449,62 +435,63 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.20.5", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-function-name": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.20.5", - "@babel/types": "^7.20.5" + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.20.7", - "license": "MIT", + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz", + "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==", "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -512,9 +499,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", - "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", "bin": { "parser": "bin/babel-parser.js" }, @@ -523,11 +510,12 @@ } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.18.6", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -537,13 +525,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.20.7", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-proposal-optional-chaining": "^7.20.7" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -552,218 +541,27 @@ "@babel/core": "^7.13.0" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.20.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.18.9", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.20.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.20.7", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.20.5", + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, "engines": { "node": ">=6.9.0" }, @@ -771,25 +569,11 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@babel/plugin-syntax-async-generators": { "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -799,8 +583,9 @@ }, "node_modules/@babel/plugin-syntax-class-properties": { "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -810,8 +595,9 @@ }, "node_modules/@babel/plugin-syntax-class-static-block": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -824,8 +610,9 @@ }, "node_modules/@babel/plugin-syntax-dynamic-import": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -835,8 +622,9 @@ }, "node_modules/@babel/plugin-syntax-export-namespace-from": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, @@ -845,11 +633,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -858,10 +647,38 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-json-strings": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -870,9 +687,9 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" @@ -886,8 +703,9 @@ }, "node_modules/@babel/plugin-syntax-logical-assignment-operators": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -897,8 +715,9 @@ }, "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -908,8 +727,9 @@ }, "node_modules/@babel/plugin-syntax-numeric-separator": { "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -919,8 +739,9 @@ }, "node_modules/@babel/plugin-syntax-object-rest-spread": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -930,8 +751,9 @@ }, "node_modules/@babel/plugin-syntax-optional-catch-binding": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -941,8 +763,9 @@ }, "node_modules/@babel/plugin-syntax-optional-chaining": { "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -952,8 +775,9 @@ }, "node_modules/@babel/plugin-syntax-private-property-in-object": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -966,8 +790,9 @@ }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -979,9 +804,9 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", "dependencies": { "@babel/helper-plugin-utils": "^7.22.5" }, @@ -992,12 +817,47 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.20.7", + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.7.tgz", + "integrity": "sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { "node": ">=6.9.0" @@ -1007,13 +867,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -1023,11 +884,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.18.6", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1037,11 +899,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.20.11", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1050,19 +913,52 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.20.7", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-optimise-call-expression": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-replace-supers": "^7.20.7", - "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", "globals": "^11.1.0" }, "engines": { @@ -1073,12 +969,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.20.7", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/template": "^7.20.7" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" }, "engines": { "node": ">=6.9.0" @@ -1088,11 +985,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.20.7", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1102,12 +1000,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.18.6", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1117,11 +1016,28 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.18.9", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1131,12 +1047,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.18.6", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1146,9 +1063,9 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -1162,11 +1079,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.18.8", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1176,13 +1095,30 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.18.9", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.18.9", - "@babel/helper-function-name": "^7.18.9", - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1192,11 +1128,28 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.18.9", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { "node": ">=6.9.0" @@ -1206,11 +1159,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.18.6", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1220,12 +1174,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.20.11", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1235,11 +1190,11 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-simple-access": "^7.22.5" }, @@ -1251,14 +1206,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", + "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" }, "engines": { "node": ">=6.9.0" @@ -1268,12 +1224,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.18.6", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1283,12 +1240,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.20.5", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.20.5", - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1298,11 +1256,63 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.18.6", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", + "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -1312,12 +1322,46 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.18.6", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -1327,11 +1371,46 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.20.7", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -1341,11 +1420,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.18.6", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1355,12 +1435,13 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.20.5", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "regenerator-transform": "^0.15.1" + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" }, "engines": { "node": ">=6.9.0" @@ -1370,11 +1451,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.18.6", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1384,16 +1466,17 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.19.6", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.7.tgz", + "integrity": "sha512-fa0hnfmiXc9fq/weK34MUV0drz2pOL/vfKWvN7Qw127hiUPabFCUMgAbYWcchRzMJit4o5ARsK/s+5h0249pLw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "semver": "^6.3.0" + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.7", + "babel-plugin-polyfill-corejs3": "^0.8.7", + "babel-plugin-polyfill-regenerator": "^0.5.4", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1403,11 +1486,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.18.6", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1417,12 +1501,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.20.7", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1432,11 +1517,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.18.6", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1446,11 +1532,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.18.9", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1460,11 +1547,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.18.9", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1474,14 +1562,14 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.22.9.tgz", - "integrity": "sha512-BnVR1CpKiuD0iobHPaM1iLvcwPYN2uVFAqoLVSpEDKWuOikoCv5HbKLxclhKYUXlWkX86DoZGtqI4XhbOsyrMg==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.9", + "@babel/helper-create-class-features-plugin": "^7.23.6", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" + "@babel/plugin-syntax-typescript": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -1491,11 +1579,28 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.18.10", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1505,12 +1610,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.18.6", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1519,38 +1625,44 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/preset-env": { - "version": "7.20.2", + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.20.1", - "@babel/helper-compilation-targets": "^7.20.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.18.6", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-async-generator-functions": "^7.20.1", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.18.6", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.2", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.18.9", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.18.6", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.8.tgz", + "integrity": "sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", @@ -1560,45 +1672,61 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.18.6", - "@babel/plugin-transform-async-to-generator": "^7.18.6", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.20.2", - "@babel/plugin-transform-classes": "^7.20.2", - "@babel/plugin-transform-computed-properties": "^7.18.9", - "@babel/plugin-transform-destructuring": "^7.20.2", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.18.8", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.19.6", - "@babel/plugin-transform-modules-commonjs": "^7.19.6", - "@babel/plugin-transform-modules-systemjs": "^7.19.6", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.20.1", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.18.6", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.19.0", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", - "semver": "^6.3.0" + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.7", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.3", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.23.4", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.7", + "babel-plugin-polyfill-corejs3": "^0.8.7", + "babel-plugin-polyfill-regenerator": "^0.5.4", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1608,31 +1736,30 @@ } }, "node_modules/@babel/preset-modules": { - "version": "0.1.5", + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", "@babel/types": "^7.4.4", "esutils": "^2.0.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/preset-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.22.5.tgz", - "integrity": "sha512-YbPaal9LxztSGhmndR46FmAbkJ/1fAsw293tSU+I5E5h+cnJ3d4GTwyUgGYmOXJYdGA+uNePle4qbaRzj2NISQ==", + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", + "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-typescript": "^7.22.5" + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3" }, "engines": { "node": ">=6.9.0" @@ -1642,14 +1769,15 @@ } }, "node_modules/@babel/register": { - "version": "7.18.9", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz", + "integrity": "sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==", "dev": true, - "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", "make-dir": "^2.1.0", - "pirates": "^4.0.5", + "pirates": "^4.0.6", "source-map-support": "^0.5.16" }, "engines": { @@ -1659,42 +1787,50 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, "node_modules/@babel/runtime": { - "version": "7.20.7", - "license": "MIT", + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz", + "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==", "dependencies": { - "regenerator-runtime": "^0.13.11" + "regenerator-runtime": "^0.14.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.20.12", - "license": "MIT", + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", + "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.20.7", - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-function-name": "^7.19.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "debug": "^4.1.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -1702,12 +1838,12 @@ } }, "node_modules/@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -1721,15 +1857,16 @@ "dev": true }, "node_modules/@changesets/apply-release-plan": { - "version": "6.1.3", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@changesets/apply-release-plan/-/apply-release-plan-7.0.0.tgz", + "integrity": "sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.1", - "@changesets/config": "^2.3.0", - "@changesets/get-version-range-type": "^0.3.2", - "@changesets/git": "^2.0.0", - "@changesets/types": "^5.2.1", + "@changesets/config": "^3.0.0", + "@changesets/get-version-range-type": "^0.4.0", + "@changesets/git": "^3.0.0", + "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3", "detect-indent": "^6.0.0", "fs-extra": "^7.0.1", @@ -1737,91 +1874,159 @@ "outdent": "^0.5.0", "prettier": "^2.7.1", "resolve-from": "^5.0.0", - "semver": "^5.4.1" + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/apply-release-plan/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@changesets/apply-release-plan/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, "node_modules/@changesets/apply-release-plan/node_modules/semver": { - "version": "5.7.1", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, + "node_modules/@changesets/apply-release-plan/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/@changesets/assemble-release-plan": { - "version": "5.2.3", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@changesets/assemble-release-plan/-/assemble-release-plan-6.0.0.tgz", + "integrity": "sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.1", - "@changesets/errors": "^0.1.4", - "@changesets/get-dependents-graph": "^1.3.5", - "@changesets/types": "^5.2.1", + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.0.0", + "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3", - "semver": "^5.4.1" + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/assemble-release-plan/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, "node_modules/@changesets/assemble-release-plan/node_modules/semver": { - "version": "5.7.1", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, + "node_modules/@changesets/assemble-release-plan/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/@changesets/changelog-git": { - "version": "0.1.14", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@changesets/changelog-git/-/changelog-git-0.2.0.tgz", + "integrity": "sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==", "dev": true, - "license": "MIT", "dependencies": { - "@changesets/types": "^5.2.1" + "@changesets/types": "^6.0.0" } }, "node_modules/@changesets/changelog-github": { - "version": "0.4.8", + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@changesets/changelog-github/-/changelog-github-0.5.0.tgz", + "integrity": "sha512-zoeq2LJJVcPJcIotHRJEEA2qCqX0AQIeFE+L21L8sRLPVqDhSXY8ZWAt2sohtBpFZkBwu+LUwMSKRr2lMy3LJA==", "dev": true, - "license": "MIT", "dependencies": { - "@changesets/get-github-info": "^0.5.2", - "@changesets/types": "^5.2.1", + "@changesets/get-github-info": "^0.6.0", + "@changesets/types": "^6.0.0", "dotenv": "^8.1.0" } }, "node_modules/@changesets/cli": { - "version": "2.26.0", + "version": "2.27.1", + "resolved": "https://registry.npmjs.org/@changesets/cli/-/cli-2.27.1.tgz", + "integrity": "sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.1", - "@changesets/apply-release-plan": "^6.1.3", - "@changesets/assemble-release-plan": "^5.2.3", - "@changesets/changelog-git": "^0.1.14", - "@changesets/config": "^2.3.0", - "@changesets/errors": "^0.1.4", - "@changesets/get-dependents-graph": "^1.3.5", - "@changesets/get-release-plan": "^3.0.16", - "@changesets/git": "^2.0.0", - "@changesets/logger": "^0.0.5", - "@changesets/pre": "^1.0.14", - "@changesets/read": "^0.5.9", - "@changesets/types": "^5.2.1", - "@changesets/write": "^0.2.3", + "@changesets/apply-release-plan": "^7.0.0", + "@changesets/assemble-release-plan": "^6.0.0", + "@changesets/changelog-git": "^0.2.0", + "@changesets/config": "^3.0.0", + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.0.0", + "@changesets/get-release-plan": "^4.0.0", + "@changesets/git": "^3.0.0", + "@changesets/logger": "^0.1.0", + "@changesets/pre": "^2.0.0", + "@changesets/read": "^0.6.0", + "@changesets/types": "^6.0.0", + "@changesets/write": "^0.3.0", "@manypkg/get-packages": "^1.1.3", - "@types/is-ci": "^3.0.0", - "@types/semver": "^6.0.0", + "@types/semver": "^7.5.0", "ansi-colors": "^4.1.3", "chalk": "^2.1.0", + "ci-info": "^3.7.0", "enquirer": "^2.3.0", "external-editor": "^3.1.0", "fs-extra": "^7.0.1", "human-id": "^1.0.2", - "is-ci": "^3.0.1", "meow": "^6.0.0", "outdent": "^0.5.0", "p-limit": "^2.2.0", "preferred-pm": "^3.0.0", "resolve-from": "^5.0.0", - "semver": "^5.4.1", + "semver": "^7.5.3", "spawndamnit": "^2.0.0", "term-size": "^2.1.0", "tty-table": "^4.1.5" @@ -1830,92 +2035,149 @@ "changeset": "bin.js" } }, - "node_modules/@changesets/cli/node_modules/semver": { - "version": "5.7.1", + "node_modules/@changesets/cli/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@changesets/config": { - "version": "2.3.0", + "node_modules/@changesets/cli/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "MIT", "dependencies": { - "@changesets/errors": "^0.1.4", - "@changesets/get-dependents-graph": "^1.3.5", - "@changesets/logger": "^0.0.5", - "@changesets/types": "^5.2.1", + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@changesets/cli/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@changesets/config": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@changesets/config/-/config-3.0.0.tgz", + "integrity": "sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==", + "dev": true, + "dependencies": { + "@changesets/errors": "^0.2.0", + "@changesets/get-dependents-graph": "^2.0.0", + "@changesets/logger": "^0.1.0", + "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3", "fs-extra": "^7.0.1", "micromatch": "^4.0.2" } }, "node_modules/@changesets/errors": { - "version": "0.1.4", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@changesets/errors/-/errors-0.2.0.tgz", + "integrity": "sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==", "dev": true, - "license": "MIT", "dependencies": { "extendable-error": "^0.1.5" } }, "node_modules/@changesets/get-dependents-graph": { - "version": "1.3.5", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@changesets/get-dependents-graph/-/get-dependents-graph-2.0.0.tgz", + "integrity": "sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==", "dev": true, - "license": "MIT", "dependencies": { - "@changesets/types": "^5.2.1", + "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3", "chalk": "^2.1.0", "fs-extra": "^7.0.1", - "semver": "^5.4.1" + "semver": "^7.5.3" + } + }, + "node_modules/@changesets/get-dependents-graph/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, "node_modules/@changesets/get-dependents-graph/node_modules/semver": { - "version": "5.7.1", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { - "semver": "bin/semver" + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, + "node_modules/@changesets/get-dependents-graph/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/@changesets/get-github-info": { - "version": "0.5.2", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@changesets/get-github-info/-/get-github-info-0.6.0.tgz", + "integrity": "sha512-v/TSnFVXI8vzX9/w3DU2Ol+UlTZcu3m0kXTjTT4KlAdwSvwutcByYwyYn9hwerPWfPkT2JfpoX0KgvCEi8Q/SA==", "dev": true, - "license": "MIT", "dependencies": { "dataloader": "^1.4.0", "node-fetch": "^2.5.0" } }, "node_modules/@changesets/get-release-plan": { - "version": "3.0.16", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@changesets/get-release-plan/-/get-release-plan-4.0.0.tgz", + "integrity": "sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.1", - "@changesets/assemble-release-plan": "^5.2.3", - "@changesets/config": "^2.3.0", - "@changesets/pre": "^1.0.14", - "@changesets/read": "^0.5.9", - "@changesets/types": "^5.2.1", + "@changesets/assemble-release-plan": "^6.0.0", + "@changesets/config": "^3.0.0", + "@changesets/pre": "^2.0.0", + "@changesets/read": "^0.6.0", + "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3" } }, "node_modules/@changesets/get-version-range-type": { - "version": "0.3.2", - "dev": true, - "license": "MIT" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@changesets/get-version-range-type/-/get-version-range-type-0.4.0.tgz", + "integrity": "sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==", + "dev": true }, "node_modules/@changesets/git": { - "version": "2.0.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@changesets/git/-/git-3.0.0.tgz", + "integrity": "sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.1", - "@changesets/errors": "^0.1.4", - "@changesets/types": "^5.2.1", + "@changesets/errors": "^0.2.0", + "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3", "is-subdir": "^1.1.1", "micromatch": "^4.0.2", @@ -1923,75 +2185,113 @@ } }, "node_modules/@changesets/logger": { - "version": "0.0.5", + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@changesets/logger/-/logger-0.1.0.tgz", + "integrity": "sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^2.1.0" } }, "node_modules/@changesets/parse": { - "version": "0.3.16", + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@changesets/parse/-/parse-0.4.0.tgz", + "integrity": "sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==", "dev": true, - "license": "MIT", "dependencies": { - "@changesets/types": "^5.2.1", + "@changesets/types": "^6.0.0", "js-yaml": "^3.13.1" } }, "node_modules/@changesets/pre": { - "version": "1.0.14", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@changesets/pre/-/pre-2.0.0.tgz", + "integrity": "sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.1", - "@changesets/errors": "^0.1.4", - "@changesets/types": "^5.2.1", + "@changesets/errors": "^0.2.0", + "@changesets/types": "^6.0.0", "@manypkg/get-packages": "^1.1.3", "fs-extra": "^7.0.1" } }, "node_modules/@changesets/read": { - "version": "0.5.9", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@changesets/read/-/read-0.6.0.tgz", + "integrity": "sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.1", - "@changesets/git": "^2.0.0", - "@changesets/logger": "^0.0.5", - "@changesets/parse": "^0.3.16", - "@changesets/types": "^5.2.1", + "@changesets/git": "^3.0.0", + "@changesets/logger": "^0.1.0", + "@changesets/parse": "^0.4.0", + "@changesets/types": "^6.0.0", "chalk": "^2.1.0", "fs-extra": "^7.0.1", "p-filter": "^2.1.0" } }, "node_modules/@changesets/types": { - "version": "5.2.1", - "dev": true, - "license": "MIT" + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@changesets/types/-/types-6.0.0.tgz", + "integrity": "sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==", + "dev": true }, "node_modules/@changesets/write": { - "version": "0.2.3", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@changesets/write/-/write-0.3.0.tgz", + "integrity": "sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.20.1", - "@changesets/types": "^5.2.1", + "@changesets/types": "^6.0.0", "fs-extra": "^7.0.1", "human-id": "^1.0.2", "prettier": "^2.7.1" } }, - "node_modules/@ebay/browserslist-config": { - "version": "1.2.0", + "node_modules/@changesets/write/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, - "license": "MIT" + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/@ebay/browserslist-config": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@ebay/browserslist-config/-/browserslist-config-2.7.0.tgz", + "integrity": "sha512-ERDkxshCV77d35qSJi1EZXOx5fiEE4Nykpma3iv+o8KyPChQy5x7DzkA9s4XteP+8XCeV2596aE0gyP9lpxlIQ==", + "dev": true + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", + "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } }, "node_modules/@esbuild/android-arm": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.15.tgz", - "integrity": "sha512-wlkQBWb79/jeEEoRmrxt/yhn5T1lU236OCNpnfRzaCJHZ/5gf82uYx1qmADTBWE0AR/v7FiozE1auk2riyQd3w==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz", + "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", "cpu": [ "arm" ], @@ -2005,9 +2305,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.15.tgz", - "integrity": "sha512-NI/gnWcMl2kXt1HJKOn2H69SYn4YNheKo6NZt1hyfKWdMbaGadxjZIkcj4Gjk/WPxnbFXs9/3HjGHaknCqjrww==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", + "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", "cpu": [ "arm64" ], @@ -2021,9 +2321,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.15.tgz", - "integrity": "sha512-FM9NQamSaEm/IZIhegF76aiLnng1kEsZl2eve/emxDeReVfRuRNmvT28l6hoFD9TsCxpK+i4v8LPpEj74T7yjA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz", + "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", "cpu": [ "x64" ], @@ -2037,9 +2337,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.15.tgz", - "integrity": "sha512-XmrFwEOYauKte9QjS6hz60FpOCnw4zaPAb7XV7O4lx1r39XjJhTN7ZpXqJh4sN6q60zbP6QwAVVA8N/wUyBH/w==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", + "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", "cpu": [ "arm64" ], @@ -2053,9 +2353,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.15.tgz", - "integrity": "sha512-bMqBmpw1e//7Fh5GLetSZaeo9zSC4/CMtrVFdj+bqKPGJuKyfNJ5Nf2m3LknKZTS+Q4oyPiON+v3eaJ59sLB5A==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", + "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", "cpu": [ "x64" ], @@ -2069,9 +2369,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.15.tgz", - "integrity": "sha512-LoTK5N3bOmNI9zVLCeTgnk5Rk0WdUTrr9dyDAQGVMrNTh9EAPuNwSTCgaKOKiDpverOa0htPcO9NwslSE5xuLA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", + "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", "cpu": [ "arm64" ], @@ -2085,9 +2385,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.15.tgz", - "integrity": "sha512-62jX5n30VzgrjAjOk5orYeHFq6sqjvsIj1QesXvn5OZtdt5Gdj0vUNJy9NIpjfdNdqr76jjtzBJKf+h2uzYuTQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", + "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", "cpu": [ "x64" ], @@ -2101,9 +2401,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.15.tgz", - "integrity": "sha512-dT4URUv6ir45ZkBqhwZwyFV6cH61k8MttIwhThp2BGiVtagYvCToF+Bggyx2VI57RG4Fbt21f9TmXaYx0DeUJg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", + "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", "cpu": [ "arm" ], @@ -2117,9 +2417,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.15.tgz", - "integrity": "sha512-BWncQeuWDgYv0jTNzJjaNgleduV4tMbQjmk/zpPh/lUdMcNEAxy+jvneDJ6RJkrqloG7tB9S9rCrtfk/kuplsQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", + "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", "cpu": [ "arm64" ], @@ -2133,9 +2433,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.15.tgz", - "integrity": "sha512-JPXORvgHRHITqfms1dWT/GbEY89u848dC08o0yK3fNskhp0t2TuNUnsrrSgOdH28ceb1hJuwyr8R/1RnyPwocw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", + "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", "cpu": [ "ia32" ], @@ -2149,9 +2449,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.15.tgz", - "integrity": "sha512-kArPI0DopjJCEplsVj/H+2Qgzz7vdFSacHNsgoAKpPS6W/Ndh8Oe24HRDQ5QCu4jHgN6XOtfFfLpRx3TXv/mEg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", + "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", "cpu": [ "loong64" ], @@ -2165,9 +2465,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.15.tgz", - "integrity": "sha512-b/tmngUfO02E00c1XnNTw/0DmloKjb6XQeqxaYuzGwHe0fHVgx5/D6CWi+XH1DvkszjBUkK9BX7n1ARTOst59w==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", + "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", "cpu": [ "mips64el" ], @@ -2181,9 +2481,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.15.tgz", - "integrity": "sha512-KXPY69MWw79QJkyvUYb2ex/OgnN/8N/Aw5UDPlgoRtoEfcBqfeLodPr42UojV3NdkoO4u10NXQdamWm1YEzSKw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", + "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", "cpu": [ "ppc64" ], @@ -2197,9 +2497,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.15.tgz", - "integrity": "sha512-komK3NEAeeGRnvFEjX1SfVg6EmkfIi5aKzevdvJqMydYr9N+pRQK0PGJXk+bhoPZwOUgLO4l99FZmLGk/L1jWg==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", + "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", "cpu": [ "riscv64" ], @@ -2213,9 +2513,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.15.tgz", - "integrity": "sha512-632T5Ts6gQ2WiMLWRRyeflPAm44u2E/s/TJvn+BP6M5mnHSk93cieaypj3VSMYO2ePTCRqAFXtuYi1yv8uZJNA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", + "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", "cpu": [ "s390x" ], @@ -2229,9 +2529,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.15.tgz", - "integrity": "sha512-MsHtX0NgvRHsoOtYkuxyk4Vkmvk3PLRWfA4okK7c+6dT0Fu4SUqXAr9y4Q3d8vUf1VWWb6YutpL4XNe400iQ1g==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", + "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", "cpu": [ "x64" ], @@ -2245,9 +2545,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.15.tgz", - "integrity": "sha512-djST6s+jQiwxMIVQ5rlt24JFIAr4uwUnzceuFL7BQT4CbrRtqBPueS4GjXSiIpmwVri1Icj/9pFRJ7/aScvT+A==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", + "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", "cpu": [ "x64" ], @@ -2261,9 +2561,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.15.tgz", - "integrity": "sha512-naeRhUIvhsgeounjkF5mvrNAVMGAm6EJWiabskeE5yOeBbLp7T89tAEw0j5Jm/CZAwyLe3c67zyCWH6fsBLCpw==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", + "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", "cpu": [ "x64" ], @@ -2277,9 +2577,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.15.tgz", - "integrity": "sha512-qkT2+WxyKbNIKV1AEhI8QiSIgTHMcRctzSaa/I3kVgMS5dl3fOeoqkb7pW76KwxHoriImhx7Mg3TwN/auMDsyQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", + "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", "cpu": [ "x64" ], @@ -2293,9 +2593,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.15.tgz", - "integrity": "sha512-HC4/feP+pB2Vb+cMPUjAnFyERs+HJN7E6KaeBlFdBv799MhD+aPJlfi/yk36SED58J9TPwI8MAcVpJgej4ud0A==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", + "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", "cpu": [ "arm64" ], @@ -2309,9 +2609,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.15.tgz", - "integrity": "sha512-ovjwoRXI+gf52EVF60u9sSDj7myPixPxqzD5CmkEUmvs+W9Xd0iqISVBQn8xcx4ciIaIVlWCuTbYDOXOnOL44Q==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", + "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", "cpu": [ "ia32" ], @@ -2325,9 +2625,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.15.tgz", - "integrity": "sha512-imUxH9a3WJARyAvrG7srLyiK73XdX83NXQkjKvQ+7vPh3ZxoLrzvPkQKKw2DwZ+RV2ZB6vBfNHP8XScAmQC3aA==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", + "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", "cpu": [ "x64" ], @@ -2356,18 +2656,18 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.8.1.tgz", - "integrity": "sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", - "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -2393,10 +2693,20 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.21.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz", - "integrity": "sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "dependencies": { "type-fest": "^0.20.2" @@ -2420,6 +2730,18 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@eslint/eslintrc/node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -2433,21 +2755,21 @@ } }, "node_modules/@eslint/js": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.49.0.tgz", - "integrity": "sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", - "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", + "@humanwhocodes/object-schema": "^2.0.1", "debug": "^4.1.1", "minimatch": "^3.0.5" }, @@ -2455,6 +2777,28 @@ "node": ">=10.10.0" } }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@humanwhocodes/module-importer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", @@ -2469,23 +2813,24 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", "dev": true }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/@jest/schemas": { - "version": "29.6.0", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.0.tgz", - "integrity": "sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==", + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "dependencies": { "@sinclair/typebox": "^0.27.8" @@ -2495,26 +2840,30 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "license": "MIT", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "license": "MIT", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "engines": { "node": ">=6.0.0" } @@ -2529,36 +2878,33 @@ "@jridgewell/trace-mapping": "^0.3.9" } }, - "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "license": "MIT" + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.17", - "license": "MIT", + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@luxass/strip-json-comments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@luxass/strip-json-comments/-/strip-json-comments-1.1.1.tgz", + "integrity": "sha512-8mBMXrGzHbbtUnNtUfM2/0jDnFdeC2H1xkydGEQnC747AEL/46HatlKUj/Oej7XxbtY3GuBFdFG9PcEWR0Ysxg==", + "engines": { + "node": ">=18" } }, "node_modules/@manypkg/find-root": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.5.5", "@types/node": "^12.7.1", @@ -2574,8 +2920,9 @@ }, "node_modules/@manypkg/find-root/node_modules/fs-extra": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -2587,8 +2934,9 @@ }, "node_modules/@manypkg/get-packages": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-1.1.3.tgz", + "integrity": "sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.5.5", "@changesets/types": "^4.0.1", @@ -2600,13 +2948,15 @@ }, "node_modules/@manypkg/get-packages/node_modules/@changesets/types": { "version": "4.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@changesets/types/-/types-4.1.0.tgz", + "integrity": "sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==", + "dev": true }, "node_modules/@manypkg/get-packages/node_modules/fs-extra": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", @@ -2642,14 +2992,16 @@ }, "node_modules/@nicolo-ribaudo/chokidar-2": { "version": "2.1.8-no-fsevents.3", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", + "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", "dev": true, - "license": "MIT", "optional": true }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -2660,16 +3012,18 @@ }, "node_modules/@nodelib/fs.stat": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/@nodelib/fs.walk": { "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -2678,36 +3032,10 @@ "node": ">= 8" } }, - "node_modules/@pkgr/utils": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", - "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "fast-glob": "^3.3.0", - "is-glob": "^4.0.3", - "open": "^9.1.0", - "picocolors": "^1.0.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/@pkgr/utils/node_modules/tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==", - "dev": true - }, "node_modules/@rollup/plugin-terser": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.3.tgz", - "integrity": "sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA==", + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", "dev": true, "dependencies": { "serialize-javascript": "^6.0.1", @@ -2718,7 +3046,7 @@ "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^2.x || ^3.x" + "rollup": "^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -2726,25 +3054,16 @@ } } }, - "node_modules/@rollup/plugin-terser/node_modules/serialize-javascript": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", - "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/@rollup/plugin-virtual": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-virtual/-/plugin-virtual-3.0.1.tgz", - "integrity": "sha512-fK8O0IL5+q+GrsMLuACVNk2x21g3yaw+sG2qn16SnUd3IlBsQyvWxLMGHmCmXRMecPjGRSZ/1LmZB4rjQm68og==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-virtual/-/plugin-virtual-3.0.2.tgz", + "integrity": "sha512-10monEYsBp3scM4/ND4LNH5Rxvh3e/cVeL3jWTgZ2SrQ+BmUoQcopVQvnaMcOnykb1VkxUFuDAN+0FnpTFRy2A==", "dev": true, "engines": { "node": ">=14.0.0" }, "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { "rollup": { @@ -2752,52 +3071,212 @@ } } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.4.tgz", + "integrity": "sha512-ub/SN3yWqIv5CWiAZPHVS1DloyZsJbtXmX4HxUTIpS0BHm9pW5iYBo2mIZi+hE3AeiTzHz33blwSnhdUo+9NpA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.4.tgz", + "integrity": "sha512-ehcBrOR5XTl0W0t2WxfTyHCR/3Cq2jfb+I4W+Ch8Y9b5G+vbAecVv0Fx/J1QKktOrgUYsIKxWAKgIpvw56IFNA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.4.tgz", + "integrity": "sha512-1fzh1lWExwSTWy8vJPnNbNM02WZDS8AW3McEOb7wW+nPChLKf3WG2aG7fhaUmfX5FKw9zhsF5+MBwArGyNM7NA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.4.tgz", + "integrity": "sha512-Gc6cukkF38RcYQ6uPdiXi70JB0f29CwcQ7+r4QpfNpQFVHXRd0DfWFidoGxjSx1DwOETM97JPz1RXL5ISSB0pA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.4.tgz", + "integrity": "sha512-g21RTeFzoTl8GxosHbnQZ0/JkuFIB13C3T7Y0HtKzOXmoHhewLbVTFBQZu+z5m9STH6FZ7L/oPgU4Nm5ErN2fw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.4.tgz", + "integrity": "sha512-TVYVWD/SYwWzGGnbfTkrNpdE4HON46orgMNHCivlXmlsSGQOx/OHHYiQcMIOx38/GWgwr/po2LBn7wypkWw/Mg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.4.tgz", + "integrity": "sha512-XcKvuendwizYYhFxpvQ3xVpzje2HHImzg33wL9zvxtj77HvPStbSGI9czrdbfrf8DGMcNNReH9pVZv8qejAQ5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.4.tgz", + "integrity": "sha512-LFHS/8Q+I9YA0yVETyjonMJ3UA+DczeBd/MqNEzsGSTdNvSJa1OJZcSH8GiXLvcizgp9AlHs2walqRcqzjOi3A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.4.tgz", + "integrity": "sha512-dIYgo+j1+yfy81i0YVU5KnQrIJZE8ERomx17ReU4GREjGtDW4X+nvkBak2xAUpyqLs4eleDSj3RrV72fQos7zw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.4.tgz", + "integrity": "sha512-RoaYxjdHQ5TPjaPrLsfKqR3pakMr3JGqZ+jZM0zP2IkDtsGa4CqYaWSfQmZVgFUCgLrTnzX+cnHS3nfl+kB6ZQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.4.tgz", + "integrity": "sha512-T8Q3XHV+Jjf5e49B4EAaLKV74BbX7/qYBRQ8Wop/+TyyU0k+vSjiLVSHNWdVd1goMjZcbhDmYZUYW5RFqkBNHQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.4.tgz", + "integrity": "sha512-z+JQ7JirDUHAsMecVydnBPWLwJjbppU+7LZjffGf+Jvrxq+dVjIE7By163Sc9DKc3ADSU50qPVw0KonBS+a+HQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.4.tgz", + "integrity": "sha512-LfdGXCV9rdEify1oxlN9eamvDSjv9md9ZVMAbNHA87xqIfFCxImxan9qZ8+Un54iK2nnqPlbnSi4R54ONtbWBw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@sinclair/typebox": { "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, - "node_modules/@tootallnate/once": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, "node_modules/@types/babel__code-frame": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@types/babel__code-frame/-/babel__code-frame-7.0.3.tgz", - "integrity": "sha512-2TN6oiwtNjOezilFVl77zwdNPwQWaDBBCCWWxyo1ctiO3vAtd7H/aB/CBJdw9+kqq3+latD0SXoedIuHySSZWw==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/@types/babel__code-frame/-/babel__code-frame-7.0.6.tgz", + "integrity": "sha512-Anitqkl3+KrzcW2k77lRlg/GfLZLWXBuNgbEcIOU6M92yw42vsd3xV/Z/yAHEj8m+KUjL6bWOVOFqX8PFPJ4LA==", "dev": true }, "node_modules/@types/babel__traverse": { - "version": "7.18.3", + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.3.0" + "@babel/types": "^7.20.7" } }, - "node_modules/@types/is-ci": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ci-info": "^3.1.0" - } + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", "dev": true }, "node_modules/@types/jsdom": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.1.tgz", - "integrity": "sha512-cZFuoVLtzKP3gmq9eNosUL1R50U+USkbLtUQ1bYVgl/lKp0FZM7Cq4aIHAL8oIvQ17uSHi7jXPtfDOdjPwBE7A==", + "version": "21.1.6", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.6.tgz", + "integrity": "sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==", "dev": true, "dependencies": { "@types/node": "*", @@ -2805,34 +3284,10 @@ "parse5": "^7.0.0" } }, - "node_modules/@types/jsdom/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/@types/jsdom/node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, "node_modules/@types/json5": { @@ -2843,70 +3298,72 @@ "peer": true }, "node_modules/@types/minimist": { - "version": "1.2.2", - "dev": true, - "license": "MIT" + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true }, "node_modules/@types/mocha": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.1.tgz", - "integrity": "sha512-/fvYntiO1GeICvqbQ3doGDIP97vWmvFt83GKguJ6prmQM2iXZfFcq6YE8KteFyRtX2/h5Hf91BYvPodJKFYv5Q==", + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", + "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==", "dev": true }, "node_modules/@types/node": { - "version": "20.4.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.4.2.tgz", - "integrity": "sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==", - "dev": true + "version": "20.10.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.8.tgz", + "integrity": "sha512-f8nQs3cLxbAFc00vEU59yf9UyGUftkPaLGfvbVOIDdx2i1b8epBqj2aNGyP19fiyXWvlmZ7qC1XLjAzw/OKIeA==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "dev": true, - "license": "MIT" + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true }, "node_modules/@types/semver": { - "version": "6.2.3", - "dev": true, - "license": "MIT" + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "dev": true }, "node_modules/@types/tough-cookie": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.2.tgz", - "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.18.1.tgz", + "integrity": "sha512-nISDRYnnIpk7VCFrGcu1rnZfM1Dh9LRHnfgdkjcbi/l7g16VYRri3TjXi9Ir4lOZSw5N/gnV/3H7jIPQ8Q4daA==", "dev": true, "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.18.1", + "@typescript-eslint/type-utils": "6.18.1", + "@typescript-eslint/utils": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1", "debug": "^4.3.4", "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -2948,25 +3405,26 @@ "dev": true }, "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.18.1.tgz", + "integrity": "sha512-zct/MdJnVaRRNy9e84XnVtRv9Vf91/qqe+hZJtKanjojud4wAVy/7lXxJmMyX6X6J+xc6c//YEWvpeif8cAhWA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/scope-manager": "6.18.1", + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/typescript-estree": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1", "debug": "^4.3.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -2975,16 +3433,16 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.18.1.tgz", + "integrity": "sha512-BgdBwXPFmZzaZUuw6wKiHKIovms97a7eTImjkXCZE04TGHysG+0hDQPmygyvgtkoB/aOQwSM/nWv3LzrOIQOBw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -2992,25 +3450,25 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.18.1.tgz", + "integrity": "sha512-wyOSKhuzHeU/5pcRDP2G2Ndci+4g653V43gXTpt4nbyoIOAASkGDA9JIAgbQCdCkcr1MvpSYWzxTz0olCn8+/Q==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", + "@typescript-eslint/typescript-estree": "6.18.1", + "@typescript-eslint/utils": "6.18.1", "debug": "^4.3.4", - "tsutils": "^3.21.0" + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "*" + "eslint": "^7.0.0 || ^8.0.0" }, "peerDependenciesMeta": { "typescript": { @@ -3019,12 +3477,12 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.18.1.tgz", + "integrity": "sha512-4TuMAe+tc5oA7wwfqMtB0Y5OrREPF1GeJBAjqwgZh1lEMH5PJQgWgHGfYufVB51LtjD+peZylmeyxUXPfENLCw==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -3032,21 +3490,22 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.18.1.tgz", + "integrity": "sha512-fv9B94UAhywPRhUeeV/v+3SBDvcPiLxRZJw/xZeeGgRLQZ6rLMG+8krrJUyIf6s1ecWTzlsbp0rlw7n9sjufHA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -3092,37 +3551,30 @@ "dev": true }, "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.18.1.tgz", + "integrity": "sha512-zZmTuVZvD1wpoceHvoQpOiewmWu3uP9FuTWo8vqpy2ffsmfCE8mklRPi+vmnIYAIk9t/4kOThri2QCDgor+OpQ==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.18.1", + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/typescript-estree": "6.18.1", + "semver": "^7.5.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true - }, "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -3157,40 +3609,37 @@ "dev": true }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.18.1.tgz", + "integrity": "sha512-/kvt0C5lRqGoCfsbmm7/CwMqoSkY3zzHLIjdhHZQW3VFrnz7ATecOHR7nb7V+xn4286MBxfnQfQhAmCI0u+bJA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "@typescript-eslint/types": "6.18.1", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "dev": true, - "license": "ISC" + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true }, "node_modules/~ts": { "resolved": "scripts/babel-register.js", "link": true }, - "node_modules/abab": { - "version": "2.0.6", - "dev": true, - "license": "BSD-3-Clause" - }, "node_modules/accepts": { "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, - "license": "MIT", "dependencies": { "mime-types": "~2.1.34", "negotiator": "0.6.3" @@ -3200,9 +3649,10 @@ } }, "node_modules/acorn": { - "version": "7.4.1", + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -3210,15 +3660,6 @@ "node": ">=0.4.0" } }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, "node_modules/acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", @@ -3228,35 +3669,16 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/agent-base": { - "version": "6.0.2", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", "dev": true, - "license": "MIT", "dependencies": { - "debug": "4" + "debug": "^4.3.4" }, "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" + "node": ">= 14" } }, "node_modules/ajv": { @@ -3277,21 +3699,23 @@ }, "node_modules/ansi-colors": { "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/ansi-escapes": { - "version": "4.3.2", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz", + "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==", "dev": true, - "license": "MIT", "dependencies": { - "type-fest": "^0.21.3" + "type-fest": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3299,14 +3723,17 @@ }, "node_modules/ansi-regex": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "3.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dependencies": { "color-convert": "^1.9.0" }, @@ -3316,8 +3743,9 @@ }, "node_modules/anymatch": { "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -3328,36 +3756,53 @@ }, "node_modules/app-module-path": { "version": "2.2.0", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/app-module-path/-/app-module-path-2.2.0.tgz", + "integrity": "sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==" }, "node_modules/argly": { "version": "1.2.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/argly/-/argly-1.2.0.tgz", + "integrity": "sha512-+F3InkcH2XOGK7Jf/ZQis4cwZ4wbfmpBKo5J+SAA9bglT1gVd0e9hroHWarU076pJrAfs8JKuRPwDqwPBOKHnw==" }, "node_modules/argparse": { "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/array-flatten": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true }, "node_modules/array-includes": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz", - "integrity": "sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dev": true, "peer": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", - "get-intrinsic": "^1.1.3", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", "is-string": "^1.0.7" }, "engines": { @@ -3369,20 +3814,42 @@ }, "node_modules/array-union": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.1", + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", "dev": true, - "license": "MIT", + "peer": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -3393,15 +3860,15 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz", - "integrity": "sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dev": true, "peer": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", "es-shim-unscopables": "^1.0.0" }, "engines": { @@ -3411,38 +3878,64 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/arrify": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/assertion-error": { "version": "1.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "engines": { "node": "*" } }, "node_modules/astral-regex": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/asynckit": { "version": "0.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, "node_modules/available-typed-arrays": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3452,57 +3945,63 @@ }, "node_modules/babel-plugin-minprops": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/babel-plugin-minprops/-/babel-plugin-minprops-2.0.1.tgz", + "integrity": "sha512-4PRRjyNGXmHw64o53W9FfYwM7TQNH/NQGabXx3w+BZecLmGpvyXL7AEDXOToWxJu9CyThFerTLhZh0jA98j6qg==", "dev": true, - "license": "ISC", "dependencies": { "escape-string-regexp": "^1.0.5", "lasso-caching-fs": "^1.0.1" } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz", + "integrity": "sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.4", + "semver": "^6.3.1" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz", + "integrity": "sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" + "@babel/helper-define-polyfill-provider": "^0.4.4", + "core-js-compat": "^3.33.1" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz", + "integrity": "sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "@babel/helper-define-polyfill-provider": "^0.4.4" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/balanced-match": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/better-path-resolve": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/better-path-resolve/-/better-path-resolve-1.0.0.tgz", + "integrity": "sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==", "dev": true, - "license": "MIT", "dependencies": { "is-windows": "^1.0.0" }, @@ -3510,32 +4009,35 @@ "node": ">=4" } }, - "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "node_modules/bidi-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz", + "integrity": "sha512-RKshQI1R3YQ+n9YJz2QQ147P66ELpa1FQEg20Dk8oW9t2KgLbpDLLp9aGZ7y8WHSshDknG0bknqGw5/tyCs5tw==", "dev": true, - "engines": { - "node": ">=0.6" + "dependencies": { + "require-from-string": "^2.0.2" } }, "node_modules/binary-extensions": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/bluebird": { "version": "3.7.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true }, "node_modules/body-parser": { "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, - "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.4", @@ -3557,41 +4059,32 @@ }, "node_modules/body-parser/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", - "dev": true, - "dependencies": { - "big-integer": "^1.6.44" - }, - "engines": { - "node": ">= 5.10.0" - } + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, "node_modules/brace-expansion": { - "version": "1.1.11", - "license": "MIT", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "balanced-match": "^1.0.0" } }, "node_modules/braces": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "license": "MIT", "dependencies": { "fill-range": "^7.0.1" }, @@ -3600,29 +4093,29 @@ } }, "node_modules/breakword": { - "version": "1.0.5", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/breakword/-/breakword-1.0.6.tgz", + "integrity": "sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==", "dev": true, - "license": "gpl-2.0", "dependencies": { "wcwidth": "^1.0.1" } }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "dev": true, - "license": "BSD-2-Clause" - }, "node_modules/browser-refresh-client": { "version": "1.1.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/browser-refresh-client/-/browser-refresh-client-1.1.4.tgz", + "integrity": "sha512-FM/UzMFsG7wJ1ocxCSl6U7qGAIWASEk+tlvfJLP2Pd1JfS4kQ1r4d5f+nNmQI8fB8sXSD8+u/mWErEkAMxUu3w==" }, "node_modules/browser-stdout": { "version": "1.3.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "dev": true }, "node_modules/browserslist": { - "version": "4.21.4", + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", "funding": [ { "type": "opencollective", @@ -3631,14 +4124,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001400", - "electron-to-chromium": "^1.4.251", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.9" + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" }, "bin": { "browserslist": "cli.js" @@ -3649,63 +4145,50 @@ }, "node_modules/buffer-from": { "version": "1.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/builtins": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-2.0.1.tgz", + "integrity": "sha512-XkkVe5QAb6guWPXTzpSrYpSlN3nqEmrrE2TkAr/tp7idSF6+MONh9WvKrAuR3HiKLvoSgmbs8l1U9IPmMrIoLw==", "dev": true, - "license": "MIT", "dependencies": { "semver": "^6.0.0" } }, - "node_modules/bundle-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", - "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", - "dev": true, - "dependencies": { - "run-applescript": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/bytes": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/c8": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/c8/-/c8-8.0.0.tgz", - "integrity": "sha512-XHA5vSfCLglAc0Xt8eLBZMv19lgiBSjnb1FLAQgnwkuhJYEonpilhEB4Ea3jPAbm0FhD6VVJrc0z73jPe7JyGQ==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/c8/-/c8-9.0.0.tgz", + "integrity": "sha512-nFJhU2Cz6Frh2awk3IW7wwk3wx27/U2v8ojQCHGc1GWTCHS6aMu4lal327/ZnnYj7oSThGF1X3qUP1yzAJBcOQ==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@istanbuljs/schema": "^0.1.3", "find-up": "^5.0.0", - "foreground-child": "^2.0.0", + "foreground-child": "^3.1.1", "istanbul-lib-coverage": "^3.2.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-reports": "^3.1.4", - "rimraf": "^3.0.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-reports": "^3.1.6", "test-exclude": "^6.0.0", "v8-to-istanbul": "^9.0.0", - "yargs": "^16.2.0", - "yargs-parser": "^20.2.9" + "yargs": "^17.7.2", + "yargs-parser": "^21.1.1" }, "bin": { "c8": "bin/c8.js" }, "engines": { - "node": ">=12" + "node": ">=14.14.0" } }, "node_modules/c8/node_modules/find-up": { @@ -3769,22 +4252,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/c8/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/call-bind": { - "version": "1.0.2", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", "dev": true, - "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3792,24 +4268,27 @@ }, "node_modules/callsites": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/camelcase-keys": { "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, - "license": "MIT", "dependencies": { "camelcase": "^5.3.1", "map-obj": "^4.0.0", @@ -3823,7 +4302,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001442", + "version": "1.0.30001576", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz", + "integrity": "sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==", "funding": [ { "type": "opencollective", @@ -3832,22 +4313,26 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/chai": { - "version": "4.3.7", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.0.tgz", + "integrity": "sha512-x9cHNq1uvkCdU+5xTkNh5WtgD4e4yDFCsp9jVc7N7qVeKeftv3gO/ZrviX5d+3ZfxdYnZXZYujjRInu1RogU6A==", "dev": true, - "license": "MIT", "dependencies": { "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^4.1.2", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.5" + "type-detect": "^4.0.8" }, "engines": { "node": ">=4" @@ -3855,7 +4340,8 @@ }, "node_modules/chalk": { "version": "2.4.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -3867,19 +4353,26 @@ }, "node_modules/chardet": { "version": "0.7.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true }, "node_modules/check-error": { - "version": "1.0.2", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, - "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.2" + }, "engines": { "node": "*" } }, "node_modules/chokidar": { "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "funding": [ { @@ -3887,8 +4380,6 @@ "url": "https://paulmillr.com/funding/" } ], - "license": "MIT", - "optional": true, "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -3906,7 +4397,9 @@ } }, "node_modules/ci-info": { - "version": "3.7.1", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ { @@ -3914,67 +4407,148 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/cli-cursor": { - "version": "3.1.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", + "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", "dev": true, - "license": "MIT", "dependencies": { - "restore-cursor": "^3.1.0" + "restore-cursor": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cli-truncate": { - "version": "2.1.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", "dev": true, - "license": "MIT", "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/cliui": { - "version": "7.0.4", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/cliui/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, "node_modules/clone": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8" } }, "node_modules/clone-deep": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -3986,24 +4560,28 @@ }, "node_modules/color-convert": { "version": "1.9.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dependencies": { "color-name": "1.1.3" } }, "node_modules/color-name": { "version": "1.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" }, "node_modules/colorette": { - "version": "2.0.19", - "dev": true, - "license": "MIT" + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true }, "node_modules/combined-stream": { "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, - "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -4013,32 +4591,38 @@ }, "node_modules/commander": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/commondir": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true }, "node_modules/complain": { "version": "1.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/complain/-/complain-1.6.0.tgz", + "integrity": "sha512-9oBfSEfxveaNmo2eSp/vEPkaBVxUhiJTZVgGYayzBchSAXQM6CK1PAQeV5ICShnSgfT+biYzrN7egKwwX+HkCw==", "dependencies": { "error-stack-parser": "^2.0.1" } }, "node_modules/concat-map": { "version": "0.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true }, "node_modules/content-disposition": { "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -4047,69 +4631,61 @@ } }, "node_modules/content-type": { - "version": "1.0.4", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/context-require": { - "version": "1.2.2", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/context-require/-/context-require-1.4.0.tgz", + "integrity": "sha512-LNnCU3nPqfuqEGKDXE7aGohienhYjtrd/8Xp1HuQeHpdsmbI3WMCVcAhEAqrNSLSqqu3X/0+wRBGAVNkGzDTAg==", "dev": true, - "license": "MIT", "dependencies": { "builtins": "^2.0.0" } }, "node_modules/convert-source-map": { - "version": "1.9.0", - "license": "MIT" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/cookie": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/cookie-signature": { "version": "1.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true }, "node_modules/core-js-compat": { - "version": "3.27.1", + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.0.tgz", + "integrity": "sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==", "dev": true, - "license": "MIT", "dependencies": { - "browserslist": "^4.21.4" + "browserslist": "^4.22.2" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" } }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/cross-env": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.1" }, @@ -4125,8 +4701,9 @@ }, "node_modules/cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -4136,35 +4713,41 @@ "node": ">= 8" } }, - "node_modules/cssom": { - "version": "0.5.0", + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", "dev": true, - "license": "MIT" - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "dev": true, - "license": "MIT", "dependencies": { - "cssom": "~0.3.6" + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" }, "engines": { - "node": ">=8" + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" } }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", + "node_modules/cssstyle": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.0.1.tgz", + "integrity": "sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==", "dev": true, - "license": "MIT" + "dependencies": { + "rrweb-cssom": "^0.6.0" + }, + "engines": { + "node": ">=18" + } }, "node_modules/csstype": { - "version": "3.1.2", - "license": "MIT" + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, "node_modules/csv": { "version": "5.5.3", + "resolved": "https://registry.npmjs.org/csv/-/csv-5.5.3.tgz", + "integrity": "sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==", "dev": true, - "license": "MIT", "dependencies": { "csv-generate": "^3.4.3", "csv-parse": "^4.16.3", @@ -4177,52 +4760,45 @@ }, "node_modules/csv-generate": { "version": "3.4.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/csv-generate/-/csv-generate-3.4.3.tgz", + "integrity": "sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==", + "dev": true }, "node_modules/csv-parse": { "version": "4.16.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz", + "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==", + "dev": true }, "node_modules/csv-stringify": { "version": "5.6.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.5.tgz", + "integrity": "sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==", + "dev": true }, "node_modules/data-urls": { - "version": "3.0.2", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz", + "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==", "dev": true, - "license": "MIT", "dependencies": { - "abab": "^2.0.6", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^11.0.0" + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0" }, "engines": { - "node": ">=12" - } - }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "11.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/dataloader": { "version": "1.4.0", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz", + "integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==", + "dev": true }, "node_modules/debug": { "version": "4.3.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { "ms": "2.1.2" }, @@ -4237,16 +4813,18 @@ }, "node_modules/decamelize": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/decamelize-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, - "license": "MIT", "dependencies": { "decamelize": "^1.1.0", "map-obj": "^1.0.0" @@ -4260,26 +4838,24 @@ }, "node_modules/decamelize-keys/node_modules/map-obj": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/decimal.js": { "version": "10.4.3", - "dev": true, - "license": "MIT" - }, - "node_modules/dedent": { - "version": "0.7.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true }, "node_modules/deep-eql": { "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, - "license": "MIT", "dependencies": { "type-detect": "^4.0.0" }, @@ -4289,169 +4865,15 @@ }, "node_modules/deep-is": { "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/default-browser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", - "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", - "dev": true, - "dependencies": { - "bundle-name": "^3.0.0", - "default-browser-id": "^3.0.0", - "execa": "^7.1.1", - "titleize": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser-id": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", - "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", - "dev": true, - "dependencies": { - "bplist-parser": "^0.2.0", - "untildify": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/execa": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", - "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/default-browser/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "dev": true, - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/default-browser/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true }, "node_modules/defaults": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dev": true, - "license": "MIT", "dependencies": { "clone": "^1.0.2" }, @@ -4459,23 +4881,27 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", "dev": true, - "engines": { - "node": ">=12" + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 0.4" } }, "node_modules/define-properties": { - "version": "1.1.4", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", "dev": true, - "license": "MIT", "dependencies": { + "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", "object-keys": "^1.1.1" }, @@ -4488,24 +4914,27 @@ }, "node_modules/delayed-stream": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/depd": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/destroy": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" @@ -4513,16 +4942,18 @@ }, "node_modules/detect-indent": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/detect-newline": { - "version": "4.0.0", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-4.0.1.tgz", + "integrity": "sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -4532,24 +4963,27 @@ }, "node_modules/diff": { "version": "3.5.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", + "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, "node_modules/diffable-html": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/diffable-html/-/diffable-html-4.1.0.tgz", + "integrity": "sha512-++kyNek+YBLH8cLXS+iTj/Hiy2s5qkRJEJ8kgu/WHbFrVY2vz9xPFUT+fii2zGF0m1CaojDlQJjkfrCt7YWM1g==", "dev": true, - "license": "MIT", "dependencies": { "htmlparser2": "^3.9.2" } }, "node_modules/dir-glob": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, - "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -4559,6 +4993,8 @@ }, "node_modules/docopt": { "version": "0.6.2", + "resolved": "https://registry.npmjs.org/docopt/-/docopt-0.6.2.tgz", + "integrity": "sha512-NqTbaYeE4gA/wU1hdKFdU+AFahpDOpgGLzHP42k6H6DKExJd0A55KEVWYhL9FEmHmgeLvEU2vuKXDuU+4yToOw==", "dev": true, "engines": { "node": ">=0.10.0" @@ -4566,8 +5002,9 @@ }, "node_modules/doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -4577,8 +5014,9 @@ }, "node_modules/dom-serializer": { "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", "dev": true, - "license": "MIT", "dependencies": { "domelementtype": "^2.0.1", "entities": "^2.0.0" @@ -4586,60 +5024,55 @@ }, "node_modules/dom-serializer/node_modules/domelementtype": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true, "funding": [ { "type": "github", "url": "https://github.com/sponsors/fb55" } - ], - "license": "BSD-2-Clause" + ] }, "node_modules/dom-serializer/node_modules/entities": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, - "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/domelementtype": { "version": "1.3.1", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/domexception": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true }, "node_modules/domhandler": { "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "domelementtype": "1" } }, "node_modules/domutils": { "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "dom-serializer": "0", "domelementtype": "1" } }, "node_modules/dot-json": { - "version": "1.2.2", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/dot-json/-/dot-json-1.3.0.tgz", + "integrity": "sha512-Pu11Prog/Yjf2lBICow82/DSV46n3a2XT1Rqt/CeuhkO1fuacF7xydYhI0SwQx2Ue0jCyLtQzgKPFEO6ewv+bQ==", "dev": true, - "license": "MIT", "dependencies": { "detect-indent": "~6.0.0", "docopt": "~0.6.2", @@ -4651,50 +5084,48 @@ }, "node_modules/dot-json/node_modules/detect-indent": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", + "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/dotenv": { "version": "8.6.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", + "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=10" } }, "node_modules/ee-first": { "version": "1.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.4.284", - "license": "ISC" + "version": "1.4.625", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.625.tgz", + "integrity": "sha512-DENMhh3MFgaPDoXWrVIqSPInQoLImywfCwrSmVl3cf9QHzoZSiutHwGaB/Ql3VkqcQV30rzgdM+BjKqBAJxo5Q==" }, "node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", + "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", + "dev": true }, "node_modules/encodeurl": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "dev": true, - "license": "MIT", - "dependencies": { - "once": "^1.4.0" - } - }, "node_modules/enhanced-resolve": { "version": "5.15.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", @@ -4709,11 +5140,13 @@ } }, "node_modules/enquirer": { - "version": "2.3.6", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-colors": "^4.1.1" + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" }, "engines": { "node": ">=8.6" @@ -4721,61 +5154,72 @@ }, "node_modules/entities": { "version": "1.1.2", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true }, "node_modules/error-ex": { "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/error-stack-parser": { "version": "2.1.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "dependencies": { "stackframe": "^1.3.4" } }, "node_modules/es-abstract": { - "version": "1.21.0", + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "es-set-tostringtag": "^2.0.0", + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "function.prototype.name": "^1.1.5", - "get-intrinsic": "^1.1.3", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", "get-symbol-description": "^1.0.0", "globalthis": "^1.0.3", "gopd": "^1.0.1", - "has": "^1.0.3", "has-property-descriptors": "^1.0.0", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.4", - "is-array-buffer": "^3.0.0", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", "is-callable": "^1.2.7", "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.2", "is-string": "^1.0.7", - "is-typed-array": "^1.1.10", + "is-typed-array": "^1.1.12", "is-weakref": "^1.0.2", - "object-inspect": "^1.12.2", + "object-inspect": "^1.13.1", "object-keys": "^1.1.1", "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", "safe-regex-test": "^1.0.0", - "string.prototype.trimend": "^1.0.6", - "string.prototype.trimstart": "^1.0.6", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", "typed-array-length": "^1.0.4", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.9" + "which-typed-array": "^1.1.13" }, "engines": { "node": ">= 0.4" @@ -4785,30 +5229,33 @@ } }, "node_modules/es-set-tostringtag": { - "version": "2.0.1", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", "dev": true, - "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", - "has-tostringtag": "^1.0.0" + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/es-shim-unscopables": { - "version": "1.0.0", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dev": true, - "license": "MIT", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" } }, "node_modules/es-to-primitive": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", "dev": true, - "license": "MIT", "dependencies": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -4822,9 +5269,9 @@ } }, "node_modules/esbuild": { - "version": "0.18.15", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.15.tgz", - "integrity": "sha512-3WOOLhrvuTGPRzQPU6waSDWrDTnQriia72McWcn6UCi43GhCHrXH4S59hKMeez+IITmdUuUyvbU9JIp+t3xlPQ==", + "version": "0.19.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz", + "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", "dev": true, "hasInstallScript": true, "bin": { @@ -4834,137 +5281,67 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.18.15", - "@esbuild/android-arm64": "0.18.15", - "@esbuild/android-x64": "0.18.15", - "@esbuild/darwin-arm64": "0.18.15", - "@esbuild/darwin-x64": "0.18.15", - "@esbuild/freebsd-arm64": "0.18.15", - "@esbuild/freebsd-x64": "0.18.15", - "@esbuild/linux-arm": "0.18.15", - "@esbuild/linux-arm64": "0.18.15", - "@esbuild/linux-ia32": "0.18.15", - "@esbuild/linux-loong64": "0.18.15", - "@esbuild/linux-mips64el": "0.18.15", - "@esbuild/linux-ppc64": "0.18.15", - "@esbuild/linux-riscv64": "0.18.15", - "@esbuild/linux-s390x": "0.18.15", - "@esbuild/linux-x64": "0.18.15", - "@esbuild/netbsd-x64": "0.18.15", - "@esbuild/openbsd-x64": "0.18.15", - "@esbuild/sunos-x64": "0.18.15", - "@esbuild/win32-arm64": "0.18.15", - "@esbuild/win32-ia32": "0.18.15", - "@esbuild/win32-x64": "0.18.15" + "@esbuild/aix-ppc64": "0.19.11", + "@esbuild/android-arm": "0.19.11", + "@esbuild/android-arm64": "0.19.11", + "@esbuild/android-x64": "0.19.11", + "@esbuild/darwin-arm64": "0.19.11", + "@esbuild/darwin-x64": "0.19.11", + "@esbuild/freebsd-arm64": "0.19.11", + "@esbuild/freebsd-x64": "0.19.11", + "@esbuild/linux-arm": "0.19.11", + "@esbuild/linux-arm64": "0.19.11", + "@esbuild/linux-ia32": "0.19.11", + "@esbuild/linux-loong64": "0.19.11", + "@esbuild/linux-mips64el": "0.19.11", + "@esbuild/linux-ppc64": "0.19.11", + "@esbuild/linux-riscv64": "0.19.11", + "@esbuild/linux-s390x": "0.19.11", + "@esbuild/linux-x64": "0.19.11", + "@esbuild/netbsd-x64": "0.19.11", + "@esbuild/openbsd-x64": "0.19.11", + "@esbuild/sunos-x64": "0.19.11", + "@esbuild/win32-arm64": "0.19.11", + "@esbuild/win32-ia32": "0.19.11", + "@esbuild/win32-x64": "0.19.11" } }, "node_modules/escalade": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "engines": { "node": ">=6" } }, "node_modules/escape-html": { "version": "1.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true }, "node_modules/escape-string-regexp": { "version": "1.0.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "engines": { "node": ">=0.8.0" } }, - "node_modules/escodegen": { - "version": "2.0.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/eslint": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.49.0.tgz", - "integrity": "sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==", + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.2", - "@eslint/js": "8.49.0", - "@humanwhocodes/config-array": "^0.11.11", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -5007,9 +5384,9 @@ } }, "node_modules/eslint-config-prettier": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", - "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, "bin": { "eslint-config-prettier": "bin/cli.js" @@ -5019,15 +5396,15 @@ } }, "node_modules/eslint-import-resolver-node": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz", - "integrity": "sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==", + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dev": true, "peer": true, "dependencies": { "debug": "^3.2.7", - "is-core-module": "^2.11.0", - "resolve": "^1.22.1" + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, "node_modules/eslint-import-resolver-node/node_modules/debug": { @@ -5041,19 +5418,18 @@ } }, "node_modules/eslint-import-resolver-typescript": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.5.tgz", - "integrity": "sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", + "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", "dev": true, "dependencies": { "debug": "^4.3.4", "enhanced-resolve": "^5.12.0", "eslint-module-utils": "^2.7.4", + "fast-glob": "^3.3.1", "get-tsconfig": "^4.5.0", - "globby": "^13.1.3", "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "synckit": "^0.8.5" + "is-glob": "^4.0.3" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -5066,37 +5442,6 @@ "eslint-plugin-import": "*" } }, - "node_modules/eslint-import-resolver-typescript/node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "dev": true, - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-import-resolver-typescript/node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/eslint-module-utils": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", @@ -5124,27 +5469,29 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.27.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz", - "integrity": "sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==", + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", "dev": true, "peer": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "array.prototype.flatmap": "^1.3.1", + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", "debug": "^3.2.7", "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.7", - "eslint-module-utils": "^2.7.4", - "has": "^1.0.3", - "is-core-module": "^2.11.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", "is-glob": "^4.0.3", "minimatch": "^3.1.2", - "object.values": "^1.1.6", - "resolve": "^1.22.1", - "semver": "^6.3.0", - "tsconfig-paths": "^3.14.1" + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" }, "engines": { "node": ">=4" @@ -5153,6 +5500,17 @@ "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, + "node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/eslint-plugin-import/node_modules/debug": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", @@ -5176,16 +5534,33 @@ "node": ">=0.10.0" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", + "node_modules/eslint-plugin-import/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "BSD-2-Clause", + "peer": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8.0.0" + "node": "*" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { @@ -5202,8 +5577,9 @@ }, "node_modules/eslint/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -5220,10 +5596,21 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5237,8 +5624,9 @@ }, "node_modules/eslint/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -5248,13 +5636,15 @@ }, "node_modules/eslint/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/eslint/node_modules/escape-string-regexp": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -5262,31 +5652,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/eslint/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -5316,9 +5681,10 @@ } }, "node_modules/eslint/node_modules/globals": { - "version": "13.19.0", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -5331,8 +5697,9 @@ }, "node_modules/eslint/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -5364,6 +5731,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/eslint/node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -5396,8 +5775,9 @@ }, "node_modules/eslint/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -5407,8 +5787,9 @@ }, "node_modules/eslint/node_modules/type-fest": { "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -5433,22 +5814,11 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/espree/node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/esprima": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, - "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -5469,7 +5839,19 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", @@ -5478,59 +5860,42 @@ "node": ">=4.0" } }, - "node_modules/esrecurse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, "node_modules/esutils": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/etag": { "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true + }, "node_modules/events-light": { "version": "1.0.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/events-light/-/events-light-1.0.5.tgz", + "integrity": "sha512-jF51LJzg5W+tkJgfZbjlbFCLcyVFEtOjU+xMCBylrXG13X5XHvfp6lNGfyBLF9u1mRTpUsMVYqSDukvpZff1mQ==", "dependencies": { "chai": "^3.5.0" } }, "node_modules/events-light/node_modules/chai": { "version": "3.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz", + "integrity": "sha512-eRYY0vPS2a9zt5w5Z0aCeWbrXTEyvk7u/Xf71EzNObrjSCPgMm1Nku/D/u2tiqHBX5j40wWhj54YJLtgn8g55A==", "dependencies": { "assertion-error": "^1.0.1", "deep-eql": "^0.1.3", @@ -5542,7 +5907,8 @@ }, "node_modules/events-light/node_modules/deep-eql": { "version": "0.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz", + "integrity": "sha512-6sEotTRGBFiNcqVoeHwnfopbSpi5NbH1VWJmYCVkmxMmaVTT0bUTrNaGyBwhgP4MZL012W/mkzIn3Da+iDYweg==", "dependencies": { "type-detect": "0.1.1" }, @@ -5552,35 +5918,38 @@ }, "node_modules/events-light/node_modules/deep-eql/node_modules/type-detect": { "version": "0.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz", + "integrity": "sha512-5rqszGVwYgBoDkIm2oUtvkfZMQ0vk29iDMU0W2qCa3rG0vPDNczCMT4hV/bLBgLg8k8ri6+u3Zbt+S/14eMzlA==", "engines": { "node": "*" } }, "node_modules/events-light/node_modules/type-detect": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz", + "integrity": "sha512-f9Uv6ezcpvCQjJU0Zqbg+65qdcszv3qUQsZfjdRbWiZ7AMenrX1u0lNk9EoWWX6e1F+NULyg27mtdeZ5WhpljA==", "engines": { "node": "*" } }, "node_modules/execa": { - "version": "4.1.0", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, - "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=10" + "node": ">=16.17" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" @@ -5588,8 +5957,9 @@ }, "node_modules/express": { "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, - "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -5629,26 +5999,30 @@ }, "node_modules/express/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/express/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, "node_modules/extendable-error": { "version": "0.1.7", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/extendable-error/-/extendable-error-0.1.7.tgz", + "integrity": "sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==", + "dev": true }, "node_modules/external-editor": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, - "license": "MIT", "dependencies": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", @@ -5660,13 +6034,14 @@ }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "node_modules/fast-glob": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", - "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -5687,21 +6062,24 @@ }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true }, "node_modules/fastq": { - "version": "1.15.0", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz", + "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==", "dev": true, - "license": "ISC", "dependencies": { "reusify": "^1.0.4" } }, "node_modules/file-entry-cache": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -5711,8 +6089,9 @@ }, "node_modules/fill-range": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -5722,8 +6101,9 @@ }, "node_modules/finalhandler": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, - "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -5739,21 +6119,24 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, "node_modules/find-cache-dir": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", "dev": true, - "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^2.0.0", @@ -5765,8 +6148,9 @@ }, "node_modules/find-up": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -5777,8 +6161,9 @@ }, "node_modules/find-yarn-workspace-root2": { "version": "1.2.16", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz", + "integrity": "sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "micromatch": "^4.0.2", "pkg-dir": "^4.2.0" @@ -5786,8 +6171,9 @@ }, "node_modules/find-yarn-workspace-root2/node_modules/pkg-dir": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -5797,18 +6183,21 @@ }, "node_modules/flat": { "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, - "license": "BSD-3-Clause", "bin": { "flat": "cli.js" } }, "node_modules/flat-cache": { - "version": "3.0.4", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, - "license": "MIT", "dependencies": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { @@ -5816,34 +6205,41 @@ } }, "node_modules/flatted": { - "version": "3.2.7", - "dev": true, - "license": "ISC" + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true }, "node_modules/for-each": { "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, - "license": "MIT", "dependencies": { "is-callable": "^1.1.3" } }, "node_modules/foreground-child": { - "version": "2.0.0", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", "dev": true, - "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", - "signal-exit": "^3.0.2" + "signal-exit": "^4.0.1" }, "engines": { - "node": ">=8.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/form-data": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, - "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -5855,24 +6251,27 @@ }, "node_modules/forwarded": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/fresh": { "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/fs-extra": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -5884,18 +6283,22 @@ }, "node_modules/fs-readdir-recursive": { "version": "1.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", + "dev": true }, "node_modules/fs.realpath": { "version": "1.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true }, "node_modules/fsevents": { - "version": "2.3.2", + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "license": "MIT", + "hasInstallScript": true, "optional": true, "os": [ "darwin" @@ -5905,19 +6308,24 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, - "license": "MIT" + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { - "version": "1.1.5", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -5928,62 +6336,85 @@ }, "node_modules/functions-have-names": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/gensync": { "version": "1.0.0-beta.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "engines": { "node": ">=6.9.0" } }, "node_modules/get-caller-file": { "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/get-func-name": { - "version": "2.0.0", + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, - "license": "MIT", "engines": { "node": "*" } }, "node_modules/get-intrinsic": { - "version": "1.1.3", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", "dev": true, - "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.3" + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", + "node_modules/get-stdin": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-9.0.0.tgz", + "integrity": "sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==", "dev": true, - "license": "ISC" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/get-stream": { - "version": "5.2.0", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, - "license": "MIT", - "dependencies": { - "pump": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">=16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -5991,8 +6422,9 @@ }, "node_modules/get-symbol-description": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "get-intrinsic": "^1.1.1" @@ -6005,9 +6437,9 @@ } }, "node_modules/get-tsconfig": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.6.2.tgz", - "integrity": "sha512-E5XrT4CbbXcXWy+1jChlZmrmCwd5KGx502kDCXJJ7y898TtWW9FwoG5HfOLVRKmlmDGkWN2HM9Ho+/Y8F0sJDg==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", + "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", "dev": true, "dependencies": { "resolve-pkg-maps": "^1.0.0" @@ -6018,16 +6450,18 @@ }, "node_modules/git-hooks-list": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/git-hooks-list/-/git-hooks-list-3.1.0.tgz", + "integrity": "sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/fisker/git-hooks-list?sponsor=1" } }, "node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -6045,8 +6479,9 @@ }, "node_modules/glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -6054,17 +6489,41 @@ "node": ">= 6" } }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/globals": { "version": "11.12.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "engines": { "node": ">=4" } }, "node_modules/globalthis": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", "dev": true, - "license": "MIT", "dependencies": { "define-properties": "^1.1.3" }, @@ -6083,8 +6542,9 @@ }, "node_modules/globby": { "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, - "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -6102,8 +6562,9 @@ }, "node_modules/globby/node_modules/slash": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -6116,8 +6577,9 @@ }, "node_modules/gopd": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", "dev": true, - "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" }, @@ -6126,14 +6588,16 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.10", - "dev": true, - "license": "ISC" + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true }, "node_modules/grapheme-splitter": { "version": "1.0.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true }, "node_modules/graphemer": { "version": "1.4.0", @@ -6141,54 +6605,39 @@ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, - "node_modules/growl": { - "version": "1.10.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.x" - } - }, "node_modules/hard-rejection": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/has": { - "version": "1.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, "node_modules/has-bigints": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-flag": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "engines": { "node": ">=4" } }, "node_modules/has-property-descriptors": { - "version": "1.0.0", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", "dev": true, - "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.1" + "get-intrinsic": "^1.2.2" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6196,8 +6645,9 @@ }, "node_modules/has-proto": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6207,8 +6657,9 @@ }, "node_modules/has-symbols": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6218,8 +6669,9 @@ }, "node_modules/has-tostringtag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", "dev": true, - "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -6230,42 +6682,60 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/he": { "version": "1.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", "bin": { "he": "bin/he" } }, "node_modules/hosted-git-info": { "version": "2.8.9", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true }, "node_modules/html-encoding-sniffer": { - "version": "3.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz", + "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==", "dev": true, - "license": "MIT", "dependencies": { - "whatwg-encoding": "^2.0.0" + "whatwg-encoding": "^3.1.1" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/html-escaper": { "version": "2.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true }, "node_modules/htmljs-parser": { - "version": "5.4.3", - "license": "MIT" + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/htmljs-parser/-/htmljs-parser-5.5.2.tgz", + "integrity": "sha512-5pNHk0dSIFLA0ucC2NJv4ikhOdAFKT2X3zo69uAd5fqt3AX4kaXD9F17k/98LKCn5u4Dd9PXeso2iJ0bFw0X+Q==" }, "node_modules/htmlparser2": { "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", "dev": true, - "license": "MIT", "dependencies": { "domelementtype": "^1.3.1", "domhandler": "^2.3.0", @@ -6277,8 +6747,9 @@ }, "node_modules/http-errors": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, - "license": "MIT", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -6291,41 +6762,44 @@ } }, "node_modules/http-proxy-agent": { - "version": "5.0.0", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz", + "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==", "dev": true, - "license": "MIT", "dependencies": { - "@tootallnate/once": "2", - "agent-base": "6", - "debug": "4" + "agent-base": "^7.1.0", + "debug": "^4.3.4" }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/https-proxy-agent": { - "version": "5.0.1", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", "dev": true, - "license": "MIT", "dependencies": { - "agent-base": "6", + "agent-base": "^7.0.2", "debug": "4" }, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/human-id": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/human-id/-/human-id-1.0.2.tgz", + "integrity": "sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==", + "dev": true }, "node_modules/human-signals": { - "version": "1.1.1", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, - "license": "Apache-2.0", "engines": { - "node": ">=8.12.0" + "node": ">=16.17.0" } }, "node_modules/husky": { @@ -6345,8 +6819,9 @@ }, "node_modules/iconv-lite": { "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, - "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -6355,9 +6830,9 @@ } }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", "dev": true, "engines": { "node": ">= 4" @@ -6365,8 +6840,9 @@ }, "node_modules/import-fresh": { "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -6380,32 +6856,36 @@ }, "node_modules/import-fresh/node_modules/resolve-from": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/indent-string": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, - "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -6413,16 +6893,18 @@ }, "node_modules/inherits": { "version": "2.0.4", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/internal-slot": { - "version": "1.0.4", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz", + "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==", "dev": true, - "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.3", - "has": "^1.0.3", + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", "side-channel": "^1.0.4" }, "engines": { @@ -6431,16 +6913,18 @@ }, "node_modules/ipaddr.js": { "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.10" } }, "node_modules/is-absolute": { "version": "0.2.6", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz", + "integrity": "sha512-7Kr05z5LkcOpoMvxHN1PC11WbPabdNFmMYYo0eZvWu3BfVS0T03yoqYDczoCBx17xqk2x1XAZrcKiFVL88jxlQ==", "dev": true, - "license": "MIT", "dependencies": { "is-relative": "^0.2.1", "is-windows": "^0.2.0" @@ -6451,19 +6935,21 @@ }, "node_modules/is-absolute/node_modules/is-windows": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-array-buffer": { - "version": "3.0.1", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "get-intrinsic": "^1.2.0", "is-typed-array": "^1.1.10" }, "funding": { @@ -6472,13 +6958,15 @@ }, "node_modules/is-arrayish": { "version": "0.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true }, "node_modules/is-bigint": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", "dev": true, - "license": "MIT", "dependencies": { "has-bigints": "^1.0.1" }, @@ -6488,8 +6976,9 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -6499,8 +6988,9 @@ }, "node_modules/is-boolean-object": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -6514,8 +7004,9 @@ }, "node_modules/is-callable": { "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6523,23 +7014,13 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-ci": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, "node_modules/is-core-module": { - "version": "2.11.0", + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, - "license": "MIT", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6547,8 +7028,9 @@ }, "node_modules/is-date-object": { "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", "dev": true, - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -6559,41 +7041,32 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-glob": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -6601,28 +7074,11 @@ "node": ">=0.10.0" } }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-negative-zero": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6632,16 +7088,18 @@ }, "node_modules/is-number": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.12.0" } }, "node_modules/is-number-object": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "dev": true, - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -6652,14 +7110,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-obj": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -6671,16 +7121,18 @@ }, "node_modules/is-plain-obj": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-plain-object": { "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -6690,13 +7142,15 @@ }, "node_modules/is-potential-custom-element-name": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true }, "node_modules/is-regex": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -6708,18 +7162,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-regexp": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/is-relative": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz", + "integrity": "sha512-9AMzjRmLqcue629b4ezEVSK6kJsYJlUIhMcygmYORUgwUNJiavHcC3HkaGx0XYpyVKQSOqFbMEZmW42cY87sYw==", "dev": true, - "license": "MIT", "dependencies": { "is-unc-path": "^0.1.1" }, @@ -6729,8 +7176,9 @@ }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -6739,11 +7187,12 @@ } }, "node_modules/is-stream": { - "version": "2.0.1", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -6751,8 +7200,9 @@ }, "node_modules/is-string": { "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", "dev": true, - "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" }, @@ -6765,8 +7215,9 @@ }, "node_modules/is-subdir": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-subdir/-/is-subdir-1.2.0.tgz", + "integrity": "sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==", "dev": true, - "license": "MIT", "dependencies": { "better-path-resolve": "1.0.0" }, @@ -6776,8 +7227,9 @@ }, "node_modules/is-symbol": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", "dev": true, - "license": "MIT", "dependencies": { "has-symbols": "^1.0.2" }, @@ -6789,15 +7241,12 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.10", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", "dev": true, - "license": "MIT", "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -6808,8 +7257,9 @@ }, "node_modules/is-unc-path": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz", + "integrity": "sha512-HhLc5VDMH4pu3oMtIuunz/DFQUIoR561kMME3U3Afhj8b7vH085vkIkemrz1kLXCEIuoMAmO3yVmafWdSbGW8w==", "dev": true, - "license": "MIT", "dependencies": { "unc-path-regex": "^0.1.0" }, @@ -6819,8 +7269,9 @@ }, "node_modules/is-unicode-supported": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -6830,8 +7281,9 @@ }, "node_modules/is-weakref": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2" }, @@ -6841,99 +7293,113 @@ }, "node_modules/is-windows": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-wsl/node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true }, "node_modules/isexe": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, "node_modules/isobject": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-report": { - "version": "3.0.0", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", + "make-dir": "^4.0.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/istanbul-lib-report/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "3.1.0", + "node_modules/istanbul-lib-report/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/istanbul-lib-report/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -6941,10 +7407,17 @@ "node": ">=8" } }, + "node_modules/istanbul-lib-report/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/istanbul-reports": { - "version": "3.1.5", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -6954,25 +7427,28 @@ } }, "node_modules/it-fails": { - "version": "1.0.6", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/it-fails/-/it-fails-1.0.7.tgz", + "integrity": "sha512-LQPmjUBLy3tVZJxWgcpScwL2rd/BZxLkWxZGWG+UVnJ4HDZmrjc0HW+RBNTzsXer5Zsj/f0WxTaIaHpm7NNjNg==", "dev": true, - "license": "MIT", "dependencies": { "diff": "^3.5.0", "ms": "^2.1.2" }, "peerDependencies": { - "mocha": "4 - 9" + "mocha": "4 - 10" } }, "node_modules/js-tokens": { "version": "4.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, "node_modules/js-yaml": { "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -6982,43 +7458,38 @@ } }, "node_modules/jsdom": { - "version": "19.0.0", + "version": "23.2.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-23.2.0.tgz", + "integrity": "sha512-L88oL7D/8ufIES+Zjz7v0aes+oBMh2Xnh3ygWvL0OaICOomKEPKuPnIfBJekiXr+BHbbMjrWn/xqrDQuxFTeyA==", "dev": true, - "license": "MIT", "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.5.0", - "acorn-globals": "^6.0.0", - "cssom": "^0.5.0", - "cssstyle": "^2.3.0", - "data-urls": "^3.0.1", - "decimal.js": "^10.3.1", - "domexception": "^4.0.0", - "escodegen": "^2.0.0", + "@asamuzakjp/dom-selector": "^2.0.1", + "cssstyle": "^4.0.1", + "data-urls": "^5.0.0", + "decimal.js": "^10.4.3", "form-data": "^4.0.0", - "html-encoding-sniffer": "^3.0.0", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", + "html-encoding-sniffer": "^4.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.2", "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^3.0.0", + "tough-cookie": "^4.1.3", + "w3c-xmlserializer": "^5.0.0", "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0", - "whatwg-url": "^10.0.0", - "ws": "^8.2.3", - "xml-name-validator": "^4.0.0" + "whatwg-encoding": "^3.1.1", + "whatwg-mimetype": "^4.0.0", + "whatwg-url": "^14.0.0", + "ws": "^8.16.0", + "xml-name-validator": "^5.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "peerDependencies": { - "canvas": "^2.5.0" + "canvas": "^2.11.2" }, "peerDependenciesMeta": { "canvas": { @@ -7027,31 +7498,22 @@ } }, "node_modules/jsdom-context-require": { - "version": "4.0.6", + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/jsdom-context-require/-/jsdom-context-require-4.0.9.tgz", + "integrity": "sha512-4/YN0b8gtPQxDdjarwI1csqD+VONj/mDyDsjFycGr1dEmUVOzWu7Uy+p+YR6AX5/9aXnNLDgRZ8zQZWTZwflOw==", "dev": true, - "license": "MIT", "dependencies": { - "context-require": "^1.1.0", + "context-require": "^1.4.0", "lasso-resolve-from": "^1.2.0" }, "peerDependencies": { - "jsdom": "11 - 20" - } - }, - "node_modules/jsdom/node_modules/acorn": { - "version": "8.8.1", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" + "jsdom": "11 - 23" } }, "node_modules/jsesc": { "version": "2.5.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "bin": { "jsesc": "bin/jsesc" }, @@ -7059,10 +7521,17 @@ "node": ">=4" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", @@ -7072,12 +7541,14 @@ }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true }, "node_modules/json5": { "version": "2.2.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "bin": { "json5": "lib/cli.js" }, @@ -7087,45 +7558,60 @@ }, "node_modules/jsonfile": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, - "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" } }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/kind-of": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/kleur": { "version": "4.1.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", "engines": { "node": ">=6" } }, "node_modules/lasso-caching-fs": { "version": "1.0.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/lasso-caching-fs/-/lasso-caching-fs-1.0.2.tgz", + "integrity": "sha512-mudop0s8U3tLm3Fn9lhiZsiELpLeJToEo6RlDLdph7vWRxL9Sz0o+9WUw1IwlpCYXv/P0CLsMYWFgPwIKWEYvg==", "dependencies": { "raptor-async": "^1.1.2" } }, "node_modules/lasso-package-root": { "version": "1.0.1", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/lasso-package-root/-/lasso-package-root-1.0.1.tgz", + "integrity": "sha512-j6LnauNCldqSDvOxoKpD6sTzudPGMiwcZQbySoF9KvJ0lD9Dp2t6QZF8kC0jbUDHuQPiAo5RuQ/mC3AGXscUYA==", "dependencies": { "lasso-caching-fs": "^1.0.0" } }, "node_modules/lasso-resolve-from": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/lasso-resolve-from/-/lasso-resolve-from-1.2.0.tgz", + "integrity": "sha512-WPDAQi5uYRDous353yxouFjD8g3GL07v0RTq/RUgAv2KVcNST9rts33pLAN0VS6FFs4FIBU1g8wUsBHQMWp1IA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "is-absolute": "^0.2.3", "lasso-caching-fs": "^1.0.1", @@ -7135,8 +7621,9 @@ }, "node_modules/lasso-resolve-from/node_modules/resolve-from": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz", + "integrity": "sha512-qpFcKaXsq8+oRoLilkwyc7zHGF5i9Q2/25NIgLQQ/+VVv9rU4qvr6nXVAw1DsnXJyQkZsR4Ytfbtg5ehfcUssQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -7154,145 +7641,96 @@ "node": ">= 0.8.0" } }, + "node_modules/lilconfig": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", + "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", + "dev": true, + "engines": { + "node": ">=14" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true }, "node_modules/lint-staged": { - "version": "10.5.4", + "version": "15.2.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.0.tgz", + "integrity": "sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ==", "dev": true, - "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "cli-truncate": "^2.1.0", - "commander": "^6.2.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.2.0", - "dedent": "^0.7.0", - "enquirer": "^2.3.6", - "execa": "^4.1.0", - "listr2": "^3.2.2", - "log-symbols": "^4.0.0", - "micromatch": "^4.0.2", - "normalize-path": "^3.0.0", - "please-upgrade-node": "^3.2.0", - "string-argv": "0.3.1", - "stringify-object": "^3.3.0" + "chalk": "5.3.0", + "commander": "11.1.0", + "debug": "4.3.4", + "execa": "8.0.1", + "lilconfig": "3.0.0", + "listr2": "8.0.0", + "micromatch": "4.0.5", + "pidtree": "0.6.0", + "string-argv": "0.3.2", + "yaml": "2.3.4" }, "bin": { "lint-staged": "bin/lint-staged.js" }, + "engines": { + "node": ">=18.12.0" + }, "funding": { "url": "https://opencollective.com/lint-staged" } }, - "node_modules/lint-staged/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/lint-staged/node_modules/chalk": { - "version": "4.1.2", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/lint-staged/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/lint-staged/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, "node_modules/lint-staged/node_modules/commander": { - "version": "6.2.1", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">= 6" - } - }, - "node_modules/lint-staged/node_modules/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/lint-staged/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "node": ">=16" } }, "node_modules/listener-tracker": { "version": "2.0.0", - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/listener-tracker/-/listener-tracker-2.0.0.tgz", + "integrity": "sha512-U6NLzBRyrAsJs9AAjuBYifXtNYnAIDPIp81rNpxNoypXBR7qi/LhsuUWX5399zuTg1sBEQyOnWDYFrBQ28vk/w==" }, "node_modules/listr2": { - "version": "3.14.0", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.0.tgz", + "integrity": "sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg==", "dev": true, - "license": "MIT", "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.0.0", "rfdc": "^1.3.0", - "rxjs": "^7.5.1", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } + "node": ">=18.0.0" } }, "node_modules/load-yaml-file": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/load-yaml-file/-/load-yaml-file-0.2.0.tgz", + "integrity": "sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.1.5", "js-yaml": "^3.13.0", @@ -7303,18 +7741,11 @@ "node": ">=6" } }, - "node_modules/load-yaml-file/node_modules/strip-bom": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/locate-path": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -7324,28 +7755,33 @@ }, "node_modules/lodash.debounce": { "version": "4.0.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true }, "node_modules/lodash.merge": { "version": "4.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true }, "node_modules/lodash.startcase": { "version": "4.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.startcase/-/lodash.startcase-4.4.0.tgz", + "integrity": "sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==", + "dev": true }, "node_modules/lodash.truncate": { "version": "4.4.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true }, "node_modules/log-symbols": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -7359,8 +7795,9 @@ }, "node_modules/log-symbols/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -7373,8 +7810,9 @@ }, "node_modules/log-symbols/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -7388,8 +7826,9 @@ }, "node_modules/log-symbols/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -7399,21 +7838,24 @@ }, "node_modules/log-symbols/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/log-symbols/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/log-symbols/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -7422,101 +7864,117 @@ } }, "node_modules/log-update": { - "version": "4.0.0", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", + "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" + "ansi-escapes": "^6.2.0", + "cli-cursor": "^4.0.0", + "slice-ansi": "^7.0.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/log-update/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "get-east-asian-width": "^1.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, "node_modules/log-update/node_modules/slice-ansi": { - "version": "4.0.0", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/loupe": { - "version": "2.3.6", + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, - "license": "MIT", "dependencies": { - "get-func-name": "^2.0.0" + "get-func-name": "^2.0.1" } }, "node_modules/lru-cache": { "version": "5.1.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dependencies": { "yallist": "^3.0.2" } }, "node_modules/magic-string": { - "version": "0.27.0", - "license": "MIT", + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" + "@jridgewell/sourcemap-codec": "^1.4.15" }, "engines": { "node": ">=12" @@ -7524,8 +7982,9 @@ }, "node_modules/make-dir": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", "dev": true, - "license": "MIT", "dependencies": { "pify": "^4.0.1", "semver": "^5.6.0" @@ -7535,17 +7994,19 @@ } }, "node_modules/make-dir/node_modules/semver": { - "version": "5.7.1", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/map-obj": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -7557,18 +8018,26 @@ "resolved": "packages/marko", "link": true }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, "node_modules/media-typer": { "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/meow": { "version": "6.1.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-6.1.1.tgz", + "integrity": "sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==", "dev": true, - "license": "MIT", "dependencies": { "@types/minimist": "^1.2.0", "camelcase-keys": "^6.2.2", @@ -7591,8 +8060,9 @@ }, "node_modules/meow/node_modules/type-fest": { "version": "0.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz", + "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -7600,36 +8070,54 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/meow/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/merge-descriptors": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true }, "node_modules/merge-stream": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, "node_modules/merge2": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/methods": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/micromatch": { "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, - "license": "MIT", "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -7640,8 +8128,9 @@ }, "node_modules/mime": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "license": "MIT", "bin": { "mime": "cli.js" }, @@ -7651,16 +8140,18 @@ }, "node_modules/mime-db": { "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "license": "MIT", "dependencies": { "mime-db": "1.52.0" }, @@ -7669,29 +8160,38 @@ } }, "node_modules/mimic-fn": { - "version": "2.1.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/min-indent": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/minimatch": { - "version": "3.1.2", - "license": "ISC", + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dependencies": { - "brace-expansion": "^1.1.7" + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/minimist": { @@ -7706,8 +8206,9 @@ }, "node_modules/minimist-options": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, - "license": "MIT", "dependencies": { "arrify": "^1.0.1", "is-plain-obj": "^1.1.0", @@ -7718,50 +8219,48 @@ } }, "node_modules/mixme": { - "version": "0.5.4", + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/mixme/-/mixme-0.5.10.tgz", + "integrity": "sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8.0.0" } }, "node_modules/mocha": { - "version": "8.4.0", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", "dev": true, - "license": "MIT", "dependencies": { - "@ungap/promise-all-settled": "1.1.2", "ansi-colors": "4.1.1", "browser-stdout": "1.3.1", - "chokidar": "3.5.1", - "debug": "4.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", "diff": "5.0.0", "escape-string-regexp": "4.0.0", "find-up": "5.0.0", - "glob": "7.1.6", - "growl": "1.10.5", + "glob": "7.2.0", "he": "1.2.0", - "js-yaml": "4.0.0", - "log-symbols": "4.0.0", - "minimatch": "3.0.4", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", "ms": "2.1.3", - "nanoid": "3.1.20", - "serialize-javascript": "5.0.1", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", "strip-json-comments": "3.1.1", "supports-color": "8.1.1", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.1.0", + "workerpool": "6.2.1", "yargs": "16.2.0", "yargs-parser": "20.2.4", "yargs-unparser": "2.0.0" }, "bin": { "_mocha": "bin/_mocha", - "mocha": "bin/mocha" + "mocha": "bin/mocha.js" }, "engines": { - "node": ">= 10.12.0" + "node": ">= 14.0.0" }, "funding": { "type": "opencollective", @@ -7770,8 +8269,9 @@ }, "node_modules/mocha-autotest": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/mocha-autotest/-/mocha-autotest-1.1.2.tgz", + "integrity": "sha512-stScXQZ2A9zaInbFfB1ECoosb9YdgC56wiTfhzSlhwnBYyd+QbOuVz7K3kutzMMcp1OugMNXYxz4zP+3tekXOA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7", "callsites": "^3.1.0", @@ -7789,16 +8289,18 @@ }, "node_modules/mocha/node_modules/ansi-colors": { "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/mocha/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -7811,59 +8313,26 @@ }, "node_modules/mocha/node_modules/argparse": { "version": "2.0.1", - "dev": true, - "license": "Python-2.0" + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, - "node_modules/mocha/node_modules/chalk": { - "version": "4.1.2", + "node_modules/mocha/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/mocha/node_modules/chalk/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/mocha/node_modules/chokidar": { - "version": "3.5.1", - "dev": true, - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "node_modules/mocha/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -7873,42 +8342,30 @@ }, "node_modules/mocha/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/mocha/node_modules/debug": { - "version": "4.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/mocha/node_modules/diff": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } }, + "node_modules/mocha/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, "node_modules/mocha/node_modules/escape-string-regexp": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -7918,8 +8375,9 @@ }, "node_modules/mocha/node_modules/find-up": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -7932,9 +8390,10 @@ } }, "node_modules/mocha/node_modules/glob": { - "version": "7.1.6", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -7950,18 +8409,51 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/mocha/node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/mocha/node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/mocha/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/mocha/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/mocha/node_modules/js-yaml": { - "version": "4.0.0", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -7971,8 +8463,9 @@ }, "node_modules/mocha/node_modules/locate-path": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -7983,37 +8476,29 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/node_modules/log-symbols": { - "version": "4.0.0", + "node_modules/mocha/node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", "dev": true, - "license": "MIT", "dependencies": { - "chalk": "^4.0.0" + "brace-expansion": "^2.0.1" }, "engines": { "node": ">=10" } }, - "node_modules/mocha/node_modules/minimatch": { - "version": "3.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/mocha/node_modules/ms": { "version": "2.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true }, "node_modules/mocha/node_modules/p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -8026,8 +8511,9 @@ }, "node_modules/mocha/node_modules/p-locate": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -8038,21 +8524,34 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/node_modules/readdirp": { - "version": "3.5.0", + "node_modules/mocha/node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", "dev": true, - "license": "MIT", "dependencies": { - "picomatch": "^2.2.1" + "randombytes": "^2.1.0" + } + }, + "node_modules/mocha/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=8.10.0" + "node": ">=8" } }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -8063,22 +8562,60 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/mocha/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/mocha/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/mocha/node_modules/yargs-parser": { "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", "dev": true, - "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/ms": { "version": "2.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/nanoid": { - "version": "3.1.20", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", "dev": true, - "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -8088,27 +8625,24 @@ }, "node_modules/natural-compare": { "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, "node_modules/negotiator": { "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/node-fetch": { - "version": "2.6.7", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, - "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -8126,31 +8660,36 @@ }, "node_modules/node-fetch/node_modules/tr46": { "version": "0.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true }, "node_modules/node-fetch/node_modules/webidl-conversions": { "version": "3.0.1", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true }, "node_modules/node-fetch/node_modules/whatwg-url": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, - "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } }, "node_modules/node-releases": { - "version": "2.0.8", - "license": "MIT" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" }, "node_modules/normalize-package-data": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -8159,60 +8698,76 @@ } }, "node_modules/normalize-package-data/node_modules/semver": { - "version": "5.7.1", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/normalize-path": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/npm-run-path": { - "version": "4.0.1", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.2.0.tgz", + "integrity": "sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==", "dev": true, - "license": "MIT", "dependencies": { - "path-key": "^3.0.0" + "path-key": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/nwsapi": { - "version": "2.2.2", + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/object-inspect": { - "version": "1.12.2", + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/object-keys": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { - "version": "4.1.4", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", "has-symbols": "^1.0.3", "object-keys": "^1.1.1" }, @@ -8223,16 +8778,47 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.values": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.6.tgz", - "integrity": "sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==", + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dev": true, "peer": true, "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "peer": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { "node": ">= 0.4" @@ -8243,8 +8829,9 @@ }, "node_modules/on-finished": { "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, - "license": "MIT", "dependencies": { "ee-first": "1.1.1" }, @@ -8254,39 +8841,23 @@ }, "node_modules/once": { "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "license": "ISC", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { - "version": "5.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", - "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, "dependencies": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=14.16" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -8311,21 +8882,24 @@ }, "node_modules/os-tmpdir": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/outdent": { "version": "0.5.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/outdent/-/outdent-0.5.0.tgz", + "integrity": "sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==", + "dev": true }, "node_modules/p-filter": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz", + "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", "dev": true, - "license": "MIT", "dependencies": { "p-map": "^2.0.0" }, @@ -8333,18 +8907,11 @@ "node": ">=8" } }, - "node_modules/p-filter/node_modules/p-map": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/p-limit": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -8357,8 +8924,9 @@ }, "node_modules/p-locate": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -8367,31 +8935,28 @@ } }, "node_modules/p-map": { - "version": "4.0.0", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, "node_modules/p-try": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/parent-module": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -8401,8 +8966,9 @@ }, "node_modules/parse-json": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -8417,76 +8983,105 @@ } }, "node_modules/parse5": { - "version": "6.0.1", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", "dev": true, - "license": "MIT" + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, "node_modules/parseurl": { "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/path-exists": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "node_modules/path-to-regexp": { "version": "0.1.7", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true }, "node_modules/path-type": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/pathval": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "dev": true, - "license": "MIT", "engines": { "node": "*" } }, "node_modules/picocolors": { "version": "1.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "node_modules/picomatch": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.6" }, @@ -8494,26 +9089,41 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/pify": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/pirates": { - "version": "4.0.5", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/pkg-dir": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^3.0.0" }, @@ -8523,8 +9133,9 @@ }, "node_modules/pkg-dir/node_modules/find-up": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -8534,8 +9145,9 @@ }, "node_modules/pkg-dir/node_modules/locate-path": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -8546,8 +9158,9 @@ }, "node_modules/pkg-dir/node_modules/p-locate": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -8557,24 +9170,18 @@ }, "node_modules/pkg-dir/node_modules/path-exists": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/please-upgrade-node": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "semver-compare": "^1.0.0" - } - }, "node_modules/preferred-pm": { - "version": "3.0.3", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/preferred-pm/-/preferred-pm-3.1.2.tgz", + "integrity": "sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^5.0.0", "find-yarn-workspace-root2": "1.2.16", @@ -8587,8 +9194,9 @@ }, "node_modules/preferred-pm/node_modules/find-up": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -8602,8 +9210,9 @@ }, "node_modules/preferred-pm/node_modules/locate-path": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -8616,8 +9225,9 @@ }, "node_modules/preferred-pm/node_modules/p-limit": { "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -8630,8 +9240,9 @@ }, "node_modules/preferred-pm/node_modules/p-locate": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -8652,27 +9263,27 @@ } }, "node_modules/prettier": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", - "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", "dev": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" } }, "node_modules/pretty-format": { - "version": "29.6.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.1.tgz", - "integrity": "sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==", + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "@jest/schemas": "^29.6.0", + "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", "react-is": "^18.0.0" }, @@ -8694,8 +9305,9 @@ }, "node_modules/proxy-addr": { "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, - "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -8706,35 +9318,30 @@ }, "node_modules/pseudomap": { "version": "1.0.2", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true }, "node_modules/psl": { "version": "1.9.0", - "dev": true, - "license": "MIT" - }, - "node_modules/pump": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true }, "node_modules/punycode": { - "version": "2.1.1", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/qs": { "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "side-channel": "^1.0.4" }, @@ -8747,11 +9354,14 @@ }, "node_modules/querystringify": { "version": "2.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true }, "node_modules/queue-microtask": { "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true, "funding": [ { @@ -8766,50 +9376,56 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/quick-lru": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/randombytes": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } }, "node_modules/range-parser": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } }, "node_modules/raptor-async": { "version": "1.1.3", - "license": "Apache License v2.0" + "resolved": "https://registry.npmjs.org/raptor-async/-/raptor-async-1.1.3.tgz", + "integrity": "sha512-VZCxygWMjW9lKqnApK9D2QbfyzRn7ehiTqnXWwMCLBXANSy+xbnYfbX/5f8YX3bZXu+g+JESmqWPchIQrZj2ig==" }, "node_modules/raptor-regexp": { "version": "1.0.1", - "license": "Apache License v2.0" + "resolved": "https://registry.npmjs.org/raptor-regexp/-/raptor-regexp-1.0.1.tgz", + "integrity": "sha512-DqC7ViHJUs3jLIxJI1/HVvCu3yPJaP8CM7PGsHvjimg7yJ3lLOdCBxlPE0G2Q8OJgUA8Pe7nvhm6lcQ3hZepow==" }, "node_modules/raptor-util": { "version": "1.1.2", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/raptor-util/-/raptor-util-1.1.2.tgz", + "integrity": "sha512-y3aISuv1oFMzEscN0U8kd5J/lrW4pTiJuBU6v4uksXBecfshYNrZ8h5ODg9J+CfRyuujZ84UEbuu3KnvswjnEA==", + "dev": true }, "node_modules/raw-body": { "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, - "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -8828,8 +9444,9 @@ }, "node_modules/read-pkg": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, - "license": "MIT", "dependencies": { "@types/normalize-package-data": "^2.4.0", "normalize-package-data": "^2.5.0", @@ -8842,8 +9459,9 @@ }, "node_modules/read-pkg-up": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, - "license": "MIT", "dependencies": { "find-up": "^4.1.0", "read-pkg": "^5.2.0", @@ -8858,24 +9476,27 @@ }, "node_modules/read-pkg-up/node_modules/type-fest": { "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/read-pkg/node_modules/type-fest": { "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=8" } }, "node_modules/read-yaml-file": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-yaml-file/-/read-yaml-file-1.1.0.tgz", + "integrity": "sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.1.5", "js-yaml": "^3.6.1", @@ -8886,18 +9507,11 @@ "node": ">=6" } }, - "node_modules/read-yaml-file/node_modules/strip-bom": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/readable-stream": { - "version": "3.6.0", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -8909,9 +9523,9 @@ }, "node_modules/readdirp": { "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "license": "MIT", - "optional": true, "dependencies": { "picomatch": "^2.2.1" }, @@ -8921,8 +9535,9 @@ }, "node_modules/redent": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, - "license": "MIT", "dependencies": { "indent-string": "^4.0.0", "strip-indent": "^3.0.0" @@ -8933,13 +9548,15 @@ }, "node_modules/regenerate": { "version": "1.4.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true }, "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", "dev": true, - "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -8948,25 +9565,28 @@ } }, "node_modules/regenerator-runtime": { - "version": "0.13.11", - "license": "MIT" + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regenerator-transform": { - "version": "0.15.1", + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } }, "node_modules/regexp.prototype.flags": { - "version": "1.4.3", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -8976,13 +9596,14 @@ } }, "node_modules/regexpu-core": { - "version": "5.2.2", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, - "license": "MIT", "dependencies": { + "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", "regenerate-unicode-properties": "^10.1.0", - "regjsgen": "^0.7.1", "regjsparser": "^0.9.1", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.1.0" @@ -8991,15 +9612,11 @@ "node": ">=4" } }, - "node_modules/regjsgen": { - "version": "0.7.1", - "dev": true, - "license": "MIT" - }, "node_modules/regjsparser": { "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "jsesc": "~0.5.0" }, @@ -9009,6 +9626,8 @@ }, "node_modules/regjsparser/node_modules/jsesc": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", "dev": true, "bin": { "jsesc": "bin/jsesc" @@ -9016,40 +9635,46 @@ }, "node_modules/relative-import-path": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/relative-import-path/-/relative-import-path-1.0.0.tgz", + "integrity": "sha512-ZvbtoduKQmD4PZeJPfH6Ql21qUWhaMxiHkIsH+FUnZqKDwNIXBtGg5zRZyHWomiGYk8n5+KMBPK7Mi4D0XWfNg==" }, "node_modules/require-directory": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/require-from-string": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/require-main-filename": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true }, "node_modules/requires-port": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true }, "node_modules/resolve": { - "version": "1.22.1", + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", "dev": true, - "license": "MIT", "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.13.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -9062,7 +9687,8 @@ }, "node_modules/resolve-from": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "engines": { "node": ">=8" } @@ -9077,21 +9703,56 @@ } }, "node_modules/restore-cursor": { - "version": "3.1.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", + "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", "dev": true, - "license": "MIT", "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/restore-cursor/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, "node_modules/reusify": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, - "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -9099,13 +9760,15 @@ }, "node_modules/rfdc": { "version": "1.3.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true }, "node_modules/rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -9117,82 +9780,47 @@ } }, "node_modules/rollup": { - "version": "3.26.3", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.26.3.tgz", - "integrity": "sha512-7Tin0C8l86TkpcMtXvQu6saWH93nhG3dGQ1/+l5V2TDMceTxO7kDiK6GzbfLWNNxqJXm591PcEZUozZm51ogwQ==", + "version": "4.9.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.4.tgz", + "integrity": "sha512-2ztU7pY/lrQyXSCnnoU4ICjT/tCG9cdH3/G25ERqE3Lst6vl2BCM5hL2Nw+sslAvAf+ccKsAq1SkKQALyqhR7g==", "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, "bin": { "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=14.18.0", + "node": ">=18.0.0", "npm": ">=8.0.0" }, "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.4", + "@rollup/rollup-android-arm64": "4.9.4", + "@rollup/rollup-darwin-arm64": "4.9.4", + "@rollup/rollup-darwin-x64": "4.9.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.4", + "@rollup/rollup-linux-arm64-gnu": "4.9.4", + "@rollup/rollup-linux-arm64-musl": "4.9.4", + "@rollup/rollup-linux-riscv64-gnu": "4.9.4", + "@rollup/rollup-linux-x64-gnu": "4.9.4", + "@rollup/rollup-linux-x64-musl": "4.9.4", + "@rollup/rollup-win32-arm64-msvc": "4.9.4", + "@rollup/rollup-win32-ia32-msvc": "4.9.4", + "@rollup/rollup-win32-x64-msvc": "4.9.4", "fsevents": "~2.3.2" } }, - "node_modules/run-applescript": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", - "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", - "dev": true, - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-applescript/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/run-applescript/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-applescript/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } + "node_modules/rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", + "dev": true }, "node_modules/run-parallel": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "funding": [ { @@ -9208,21 +9836,32 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, - "node_modules/rxjs": { - "version": "7.8.0", + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "tslib": "^2.1.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -9237,61 +9876,64 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/safe-regex-test": { - "version": "1.0.0", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.1.tgz", + "integrity": "sha512-Y5NejJTTliTyY4H7sipGqY+RX5P87i3F7c4Rcepy72nq+mNLhIsD0W4c7kEmduMDQCSqtPsXPlSTsFhh2LQv+g==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", "is-regex": "^1.1.4" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/safer-buffer": { "version": "2.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "node_modules/saxes": { - "version": "5.0.1", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", "dev": true, - "license": "ISC", "dependencies": { "xmlchars": "^2.2.0" }, "engines": { - "node": ">=10" + "node": ">=v12.22.7" } }, "node_modules/self-closing-tags": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/self-closing-tags/-/self-closing-tags-1.0.1.tgz", + "integrity": "sha512-7t6hNbYMxM+VHXTgJmxwgZgLGktuXtVVD5AivWzNTdJBM4DBjnDKDzkf2SrNjihaArpeJYNjxkELBu1evI4lQA==", "engines": { "node": ">=0.12.0" } }, "node_modules/semver": { - "version": "6.3.0", - "license": "ISC", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } }, - "node_modules/semver-compare": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/send": { "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, - "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -9313,34 +9955,39 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true }, "node_modules/send/node_modules/ms": { "version": "2.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true }, "node_modules/serialize-javascript": { - "version": "5.0.1", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" } }, "node_modules/serve-static": { "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, - "license": "MIT", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -9353,18 +10000,50 @@ }, "node_modules/set-blocking": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", "dev": true, - "license": "ISC" + "dependencies": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/setprototypeof": { "version": "1.2.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true }, "node_modules/shallow-clone": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -9374,8 +10053,9 @@ }, "node_modules/shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -9385,24 +10065,18 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/shell-quote": { - "version": "1.7.4", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/side-channel": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -9413,65 +10087,59 @@ } }, "node_modules/signal-exit": { - "version": "3.0.7", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "license": "ISC" + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, "node_modules/slash": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/slice-ansi": { - "version": "3.0.0", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "4.3.0", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, "node_modules/smartwrap": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/smartwrap/-/smartwrap-2.0.2.tgz", + "integrity": "sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==", "dev": true, - "license": "MIT", "dependencies": { "array.prototype.flat": "^1.2.3", "breakword": "^1.0.5", @@ -9489,8 +10157,9 @@ }, "node_modules/smartwrap/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9503,8 +10172,9 @@ }, "node_modules/smartwrap/node_modules/cliui": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -9513,8 +10183,9 @@ }, "node_modules/smartwrap/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -9524,13 +10195,44 @@ }, "node_modules/smartwrap/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/smartwrap/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/smartwrap/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=8" + } + }, + "node_modules/smartwrap/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } }, "node_modules/smartwrap/node_modules/wrap-ansi": { "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -9542,13 +10244,15 @@ }, "node_modules/smartwrap/node_modules/y18n": { "version": "4.0.3", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true }, "node_modules/smartwrap/node_modules/yargs": { "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, - "license": "MIT", "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", @@ -9566,24 +10270,40 @@ "node": ">=8" } }, + "node_modules/smartwrap/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/smob": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.0.tgz", - "integrity": "sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.4.1.tgz", + "integrity": "sha512-9LK+E7Hv5R9u4g4C3p+jjLstaLe11MDsL21UpYaCNmapvMkYhqCV4A/f/3gyH8QjMyh6l68q9xC85vihY9ahMQ==", "dev": true }, "node_modules/sort-object-keys": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/sort-object-keys/-/sort-object-keys-1.1.3.tgz", + "integrity": "sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==", + "dev": true }, "node_modules/sort-package-json": { - "version": "2.4.1", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/sort-package-json/-/sort-package-json-2.6.0.tgz", + "integrity": "sha512-XSQ+lY9bAYA8ZsoChcEoPlgcSMaheziEp1beox1JVxy1SV4F2jSq9+h2rJ+3mC/Dhu9Ius1DLnInD5AWcsDXZw==", "dev": true, - "license": "MIT", "dependencies": { "detect-indent": "^7.0.1", "detect-newline": "^4.0.0", + "get-stdin": "^9.0.0", "git-hooks-list": "^3.0.0", "globby": "^13.1.2", "is-plain-obj": "^4.1.0", @@ -9595,20 +10315,22 @@ }, "node_modules/sort-package-json/node_modules/detect-indent": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.1.tgz", + "integrity": "sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==", "dev": true, - "license": "MIT", "engines": { "node": ">=12.20" } }, "node_modules/sort-package-json/node_modules/globby": { - "version": "13.2.0", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", "dev": true, - "license": "MIT", "dependencies": { "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", "merge2": "^1.4.1", "slash": "^4.0.0" }, @@ -9621,8 +10343,9 @@ }, "node_modules/sort-package-json/node_modules/is-plain-obj": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -9632,8 +10355,9 @@ }, "node_modules/sort-package-json/node_modules/slash": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -9643,14 +10367,25 @@ }, "node_modules/source-map": { "version": "0.6.1", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/source-map-support": { "version": "0.5.21", - "license": "MIT", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -9658,8 +10393,9 @@ }, "node_modules/spawndamnit": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/spawndamnit/-/spawndamnit-2.0.0.tgz", + "integrity": "sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^5.1.0", "signal-exit": "^3.0.2" @@ -9667,8 +10403,9 @@ }, "node_modules/spawndamnit/node_modules/cross-spawn": { "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", "dev": true, - "license": "MIT", "dependencies": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", @@ -9677,8 +10414,9 @@ }, "node_modules/spawndamnit/node_modules/lru-cache": { "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "dev": true, - "license": "ISC", "dependencies": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" @@ -9686,8 +10424,9 @@ }, "node_modules/spawndamnit/node_modules/shebang-command": { "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^1.0.0" }, @@ -9697,16 +10436,24 @@ }, "node_modules/spawndamnit/node_modules/shebang-regex": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/spawndamnit/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, "node_modules/spawndamnit/node_modules/which": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -9716,13 +10463,15 @@ }, "node_modules/spawndamnit/node_modules/yallist": { "version": "2.1.2", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true }, "node_modules/spdx-correct": { - "version": "3.1.1", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -9730,119 +10479,167 @@ }, "node_modules/spdx-exceptions": { "version": "2.3.0", - "dev": true, - "license": "CC-BY-3.0" + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true }, "node_modules/spdx-expression-parse": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "license": "MIT", "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-license-ids": { - "version": "3.0.12", - "dev": true, - "license": "CC0-1.0" + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", + "dev": true }, "node_modules/sprintf-js": { "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true }, "node_modules/stackframe": { "version": "1.3.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" }, "node_modules/statuses": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/stream-transform": { "version": "2.1.3", + "resolved": "https://registry.npmjs.org/stream-transform/-/stream-transform-2.1.3.tgz", + "integrity": "sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==", "dev": true, - "license": "MIT", "dependencies": { "mixme": "^0.5.1" } }, "node_modules/string_decoder": { "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } }, "node_modules/string-argv": { - "version": "0.3.1", + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.6.19" } }, "node_modules/string-width": { - "version": "4.2.3", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", + "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", "dev": true, - "license": "MIT", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimend": { - "version": "1.0.6", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.6", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.20.4" + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/stringify-object": { - "version": "3.3.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/strip-ansi": { "version": "6.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -9850,18 +10647,32 @@ "node": ">=8" } }, - "node_modules/strip-final-newline": { - "version": "2.0.0", + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "license": "MIT", "engines": { - "node": ">=6" + "node": ">=4" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/strip-indent": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, - "license": "MIT", "dependencies": { "min-indent": "^1.0.0" }, @@ -9871,7 +10682,9 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, "engines": { "node": ">=8" }, @@ -9881,7 +10694,8 @@ }, "node_modules/supports-color": { "version": "5.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dependencies": { "has-flag": "^3.0.0" }, @@ -9891,8 +10705,9 @@ }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -9902,35 +10717,15 @@ }, "node_modules/symbol-tree": { "version": "3.2.4", - "dev": true, - "license": "MIT" - }, - "node_modules/synckit": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", - "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", - "dev": true, - "dependencies": { - "@pkgr/utils": "^2.3.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/synckit/node_modules/tslib": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", - "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", "dev": true }, "node_modules/table": { "version": "6.8.1", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz", + "integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "ajv": "^8.0.1", "lodash.truncate": "^4.4.2", @@ -9944,8 +10739,9 @@ }, "node_modules/table/node_modules/ajv": { "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -9959,8 +10755,9 @@ }, "node_modules/table/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -9973,8 +10770,9 @@ }, "node_modules/table/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -9984,18 +10782,36 @@ }, "node_modules/table/node_modules/color-name": { "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/table/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/table/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=8" + } }, "node_modules/table/node_modules/json-schema-traverse": { "version": "1.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true }, "node_modules/table/node_modules/slice-ansi": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -10008,6 +10824,20 @@ "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, + "node_modules/table/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -10019,8 +10849,9 @@ }, "node_modules/term-size": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz", + "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -10029,9 +10860,9 @@ } }, "node_modules/terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", + "integrity": "sha512-dytTGoE2oHgbNV9nTzgBEPaqAWvcJNl66VZ0BkJqlvp71IjO8CxdBx/ykCNb47cLnCmCvRZ6ZR0tLkqvZCdVBQ==", "dev": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -10046,18 +10877,6 @@ "node": ">=10" } }, - "node_modules/terser/node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -10066,8 +10885,9 @@ }, "node_modules/test-exclude": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, - "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -10077,20 +10897,45 @@ "node": ">=8" } }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/text-table": { "version": "0.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true }, "node_modules/through": { "version": "2.3.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true }, "node_modules/through2": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, - "license": "MIT", "dependencies": { "readable-stream": "3" } @@ -10105,22 +10950,11 @@ "globrex": "^0.1.2" } }, - "node_modules/titleize": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", - "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/tmp": { "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, - "license": "MIT", "dependencies": { "os-tmpdir": "~1.0.2" }, @@ -10130,15 +10964,17 @@ }, "node_modules/to-fast-properties": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "engines": { "node": ">=4" } }, "node_modules/to-regex-range": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -10148,16 +10984,18 @@ }, "node_modules/toidentifier": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.6" } }, "node_modules/tough-cookie": { - "version": "4.1.2", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -10170,35 +11008,50 @@ }, "node_modules/tough-cookie/node_modules/universalify": { "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4.0.0" } }, "node_modules/tr46": { - "version": "3.0.0", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz", + "integrity": "sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==", "dev": true, - "license": "MIT", "dependencies": { - "punycode": "^2.1.1" + "punycode": "^2.3.1" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/trim-newlines": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "dev": true, + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", "dev": true, "peer": true, "dependencies": { @@ -10221,53 +11074,24 @@ "json5": "lib/cli.js" } }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=4" - } - }, "node_modules/tslib": { - "version": "2.4.1", - "license": "0BSD" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/tty-table": { - "version": "4.1.6", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/tty-table/-/tty-table-4.2.3.tgz", + "integrity": "sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^4.1.2", - "csv": "^5.5.0", - "kleur": "^4.1.4", + "csv": "^5.5.3", + "kleur": "^4.1.5", "smartwrap": "^2.0.2", - "strip-ansi": "^6.0.0", + "strip-ansi": "^6.0.1", "wcwidth": "^1.0.1", - "yargs": "^17.1.1" + "yargs": "^17.7.1" }, "bin": { "tty-table": "adapters/terminal-adapter.js" @@ -10278,8 +11102,9 @@ }, "node_modules/tty-table/node_modules/ansi-styles": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -10292,8 +11117,9 @@ }, "node_modules/tty-table/node_modules/chalk": { "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -10305,23 +11131,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/tty-table/node_modules/cliui": { - "version": "8.0.1", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/tty-table/node_modules/color-convert": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -10331,21 +11145,24 @@ }, "node_modules/tty-table/node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/tty-table/node_modules/has-flag": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/tty-table/node_modules/supports-color": { "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -10353,31 +11170,6 @@ "node": ">=8" } }, - "node_modules/tty-table/node_modules/yargs": { - "version": "17.6.2", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/tty-table/node_modules/yargs-parser": { - "version": "21.1.1", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=12" - } - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -10392,18 +11184,20 @@ }, "node_modules/type-detect": { "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/type-fest": { - "version": "0.21.3", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -10411,8 +11205,9 @@ }, "node_modules/type-is": { "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, - "license": "MIT", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -10421,10 +11216,62 @@ "node": ">= 0.6" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/typed-array-length": { "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "for-each": "^0.3.3", @@ -10435,9 +11282,9 @@ } }, "node_modules/typescript": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz", - "integrity": "sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -10449,8 +11296,9 @@ }, "node_modules/unbox-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, - "license": "MIT", "dependencies": { "call-bind": "^1.0.2", "has-bigints": "^1.0.2", @@ -10463,36 +11311,48 @@ }, "node_modules/unc-path-regex": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/underscore": { "version": "1.13.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", + "dev": true }, "node_modules/underscore-keypath": { "version": "0.0.22", + "resolved": "https://registry.npmjs.org/underscore-keypath/-/underscore-keypath-0.0.22.tgz", + "integrity": "sha512-fU7aYj1J2LQd+jqdQ67AlCOZKK3Pl+VErS8fGYcgZG75XB9/bY+RLM+F2xEcKHhHNtLvqqFyXAoZQlLYfec3Xg==", "dev": true, "dependencies": { "underscore": "*" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, "node_modules/unicode-canonical-property-names-ecmascript": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, - "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -10503,47 +11363,44 @@ }, "node_modules/unicode-match-property-value-ecmascript": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/unicode-property-aliases-ecmascript": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/universalify": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4.0.0" } }, "node_modules/unpipe": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/update-browserslist-db": { - "version": "1.0.10", + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", "funding": [ { "type": "opencollective", @@ -10552,15 +11409,18 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "escalade": "^3.1.1", "picocolors": "^1.0.0" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -10568,16 +11428,18 @@ }, "node_modules/uri-js": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/url-parse": { "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "dev": true, - "license": "MIT", "dependencies": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -10585,26 +11447,28 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true }, "node_modules/utils-merge": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4.0" } }, "node_modules/v8-to-istanbul": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz", - "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0" + "convert-source-map": "^2.0.0" }, "engines": { "node": ">=10.12.0" @@ -10612,8 +11476,9 @@ }, "node_modules/validate-npm-package-license": { "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "license": "Apache-2.0", "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -10621,66 +11486,65 @@ }, "node_modules/vary": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, "node_modules/w3c-xmlserializer": { - "version": "3.0.0", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", + "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==", "dev": true, - "license": "MIT", "dependencies": { - "xml-name-validator": "^4.0.0" + "xml-name-validator": "^5.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/warp10": { - "version": "2.0.2", - "license": "MIT" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/warp10/-/warp10-2.1.0.tgz", + "integrity": "sha512-krhkqzJdUxAZv2Cx0Gz6dN1r7TTrG9RDewkDHBbJQIqbNTCdB5ZUHVh7VkA4DgrKW4ZXPPUQKCwmI/3btDse9A==" }, "node_modules/wcwidth": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "dev": true, - "license": "MIT", "dependencies": { "defaults": "^1.0.3" } }, "node_modules/webidl-conversions": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=12" } }, "node_modules/whatwg-encoding": { - "version": "2.0.0", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", "dev": true, - "license": "MIT", "dependencies": { "iconv-lite": "0.6.3" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/whatwg-encoding/node_modules/iconv-lite": { "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, - "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -10689,29 +11553,32 @@ } }, "node_modules/whatwg-mimetype": { - "version": "3.0.0", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", "dev": true, - "license": "MIT", "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/whatwg-url": { - "version": "10.0.0", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz", + "integrity": "sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==", "dev": true, - "license": "MIT", "dependencies": { - "tr46": "^3.0.0", + "tr46": "^5.0.0", "webidl-conversions": "^7.0.0" }, "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -10724,8 +11591,9 @@ }, "node_modules/which-boxed-primitive": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", "dev": true, - "license": "MIT", "dependencies": { "is-bigint": "^1.0.1", "is-boolean-object": "^1.1.0", @@ -10738,14 +11606,16 @@ } }, "node_modules/which-module": { - "version": "2.0.0", - "dev": true, - "license": "ISC" + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==", + "dev": true }, "node_modules/which-pm": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-pm/-/which-pm-2.0.0.tgz", + "integrity": "sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==", "dev": true, - "license": "MIT", "dependencies": { "load-yaml-file": "^0.2.0", "path-exists": "^4.0.0" @@ -10755,16 +11625,16 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.9", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", "dev": true, - "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", + "call-bind": "^1.0.4", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0", - "is-typed-array": "^1.1.10" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -10773,121 +11643,79 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/wide-align": { - "version": "1.1.3", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, - "node_modules/wide-align/node_modules/ansi-regex": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/string-width": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/strip-ansi": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/workerpool": { - "version": "6.1.0", - "dev": true, - "license": "Apache-2.0" + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "dev": true }, "node_modules/wrap-ansi": { - "version": "7.0.0", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, - "license": "MIT", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" }, "funding": { "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, - "license": "MIT", "dependencies": { - "color-name": "~1.1.4" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">=7.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, "node_modules/wrappy": { "version": "1.0.2", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, "node_modules/ws": { - "version": "8.12.0", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -10905,71 +11733,75 @@ } }, "node_modules/xml-name-validator": { - "version": "4.0.0", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz", + "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==", "dev": true, - "license": "Apache-2.0", "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/xmlchars": { "version": "2.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true }, "node_modules/y18n": { "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/yallist": { "version": "3.1.1", - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, "node_modules/yaml": { - "version": "1.10.2", + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", "dev": true, - "license": "ISC", "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/yargs": { - "version": "16.2.0", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "license": "MIT", "dependencies": { - "cliui": "^7.0.2", + "cliui": "^8.0.1", "escalade": "^3.1.1", "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "string-width": "^4.2.0", + "string-width": "^4.2.3", "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "yargs-parser": "^21.1.1" }, "engines": { - "node": ">=10" + "node": ">=12" } }, "node_modules/yargs-parser": { - "version": "18.1.3", + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "license": "ISC", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, "engines": { - "node": ">=6" + "node": ">=12" } }, "node_modules/yargs-unparser": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", "dev": true, - "license": "MIT", "dependencies": { "camelcase": "^6.0.0", "decamelize": "^4.0.0", @@ -10982,8 +11814,9 @@ }, "node_modules/yargs-unparser/node_modules/camelcase": { "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -10993,8 +11826,9 @@ }, "node_modules/yargs-unparser/node_modules/decamelize": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -11004,24 +11838,47 @@ }, "node_modules/yargs-unparser/node_modules/is-plain-obj": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/yargs/node_modules/yargs-parser": { - "version": "20.2.9", + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "license": "ISC", "engines": { - "node": ">=10" + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, "node_modules/yocto-queue": { "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -11031,15 +11888,15 @@ }, "packages/babel-utils": { "name": "@marko/babel-utils", - "version": "6.2.1", + "version": "6.3.5", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.16.0", + "@babel/runtime": "^7.23.8", "jsesc": "^3.0.2", "relative-import-path": "^1.0.0" }, "devDependencies": { - "@marko/compiler": "^5.30.0" + "@marko/compiler": "^5.34.4" } }, "packages/babel-utils/node_modules/jsesc": { @@ -11054,23 +11911,24 @@ }, "packages/compiler": { "name": "@marko/compiler", - "version": "5.31.2", + "version": "5.34.4", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.16.0", - "@babel/core": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/plugin-syntax-typescript": "^7.16.0", - "@babel/plugin-transform-modules-commonjs": "^7.16.0", - "@babel/plugin-transform-typescript": "^7.16.0", - "@babel/runtime": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0", - "@marko/babel-utils": "^6.2.1", + "@babel/code-frame": "^7.23.5", + "@babel/core": "^7.23.7", + "@babel/generator": "^7.23.6", + "@babel/parser": "^7.23.6", + "@babel/plugin-syntax-typescript": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.6", + "@babel/runtime": "^7.23.8", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "@luxass/strip-json-comments": "^1.1.1", + "@marko/babel-utils": "^6.3.5", "complain": "^1.6.0", "he": "^1.2.0", - "htmljs-parser": "^5.4.3", + "htmljs-parser": "^5.5.2", "jsesc": "^3.0.2", "kleur": "^4.1.5", "lasso-package-root": "^1.0.1", @@ -11078,12 +11936,10 @@ "raptor-util": "^3.2.0", "resolve-from": "^5.0.0", "self-closing-tags": "^1.0.1", - "source-map-support": "^0.5.21", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.1" + "source-map-support": "^0.5.21" }, "devDependencies": { - "@marko/translator-default": "^5.29.1" + "@marko/translator-default": "^5.31.11" } }, "packages/compiler/node_modules/jsesc": { @@ -11101,23 +11957,23 @@ "license": "Apache-2.0" }, "packages/marko": { - "version": "5.29.2", + "version": "5.32.5", "license": "MIT", "dependencies": { - "@marko/compiler": "^5.30.0", - "@marko/translator-default": "^5.28.0", + "@marko/compiler": "^5.34.4", + "@marko/translator-default": "^5.31.11", "app-module-path": "^2.2.0", "argly": "^1.2.0", "browser-refresh-client": "1.1.4", "complain": "^1.6.0", - "csstype": "^3.1.2", + "csstype": "^3.1.3", "events-light": "^1.0.5", "listener-tracker": "^2.0.0", - "minimatch": "^3.0.4", + "minimatch": "^9.0.3", "raptor-util": "^3.2.0", "resolve-from": "^5.0.0", "self-closing-tags": "^1.0.1", - "warp10": "^2.0.1" + "warp10": "^2.1.0" }, "bin": { "markoc": "bin/markoc" @@ -11146,34 +12002,23 @@ }, "packages/translator-default": { "name": "@marko/translator-default", - "version": "5.29.2", + "version": "5.31.11", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.16.0", - "@marko/babel-utils": "^6.2.0", - "escape-string-regexp": "^4.0.0", - "magic-string": "^0.27.0", + "@babel/runtime": "^7.23.8", + "@marko/babel-utils": "^6.3.5", + "magic-string": "^0.30.5", "self-closing-tags": "^1.0.1" }, "devDependencies": { - "@marko/compiler": "^5.31.1", - "marko": "^5.29.2" + "@marko/compiler": "^5.34.4", + "marko": "^5.32.5" }, "peerDependencies": { "@marko/compiler": "^5.16.1", "marko": "^5.17.2" } }, - "packages/translator-default/node_modules/escape-string-regexp": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "packages/translator-interop": { "name": "@marko/translator-interop-class-tags", "version": "0.0.1", @@ -11189,10 +12034,19 @@ "@marko/compiler": "^5.23.0" } }, + "packages/translator-interop/node_modules/@babel/code-frame": { + "version": "7.22.5", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, "packages/translator-interop/node_modules/@marko/babel-utils": { "version": "5.22.1", - "resolved": "https://registry.npmjs.org/@marko/babel-utils/-/babel-utils-5.22.1.tgz", - "integrity": "sha512-IbJECsApQJoe4Ovo4e5i05W7sAtmhyfvyxp1o5s78YFgaOwSD6qiXVT3kiJj9PeZ5ioBD2390+kt/FFEm4+q2Q==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.16.0", "jsesc": "^3.0.2", @@ -11201,8 +12055,7 @@ }, "packages/translator-interop/node_modules/jsesc": { "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, diff --git a/package.json b/package.json index 06fb18fea..e14a7ba1f 100644 --- a/package.json +++ b/package.json @@ -9,14 +9,13 @@ "build:sizes": "npm run build --ws && node -r ~ts scripts/sizes.ts", "build:types": "npm run build:types --ws --if-present && tsc -b tsconfig.build.json", "change": "changeset add", - "ci:report": "c8 report --reporter=text-lcov > coverage.lcov && codecov", "ci:test": "cross-env NODE_OPTIONS=\"--max-old-space-size=4096\" MARKO_DEBUG=1 c8 npm test", "format": "npm run lint:eslint -- --fix && npm run lint:prettier -- --write && sort-package-json './{,packages/*/}package.json' --quiet", "lint": "npm run lint:eslint && npm run lint:prettier -- -l", "lint:eslint": "eslint -f visualstudio .", - "lint:prettier": "prettier \"./**/*{.ts,.js,.json,.md,.yml}\"", + "lint:prettier": "prettier \"./**/*{.ts,.js,.json,.md,.yml}\" --with-node-modules", "prepare": "husky install", - "publish": "ENTRY=main:npm npm run set-entry && npm run build && changeset publish && ENTRY=main:dev npm run set-entry && npm ci", + "release": "ENTRY=main:npm npm run set-entry && npm run build && changeset publish && ENTRY=main:dev npm run set-entry && npm ci", "report": "open ./coverage/lcov-report/index.html", "set-entry": "npm exec --ws -c 'dot-json package.json main $(dot-json package.json $ENTRY)'", "test": "mocha", @@ -24,57 +23,55 @@ "version": "changeset version && npm i --package-lock-only" }, "devDependencies": { - "@babel/cli": "^7.16.0", - "@babel/core": "^7.16.0", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-runtime": "^7.16.0", - "@babel/preset-env": "^7.16.0", - "@babel/preset-typescript": "^7.22.5", - "@babel/register": "^7.16.0", - "@changesets/changelog-github": "^0.4.8", - "@changesets/cli": "^2.26.0", - "@ebay/browserslist-config": "^1.2.0", - "@rollup/plugin-terser": "^0.4.3", - "@rollup/plugin-virtual": "^3.0.1", - "@types/babel__code-frame": "^7.0.3", - "@types/babel__traverse": "^7.14.2", - "@types/jsdom": "^21.1.1", - "@types/mocha": "^10.0.1", - "@types/node": "^20.3.1", - "@typescript-eslint/eslint-plugin": "^5.59.11", - "@typescript-eslint/parser": "^5.59.11", - "~ts": "file:scripts/babel-register.js", + "@babel/cli": "^7.23.4", + "@babel/core": "^7.23.7", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-runtime": "^7.23.7", + "@babel/preset-env": "^7.23.8", + "@babel/preset-typescript": "^7.23.3", + "@babel/register": "^7.23.7", + "@changesets/changelog-github": "^0.5.0", + "@changesets/cli": "^2.27.1", + "@ebay/browserslist-config": "^2.7.0", + "@rollup/plugin-terser": "^0.4.4", + "@rollup/plugin-virtual": "^3.0.2", + "@types/babel__code-frame": "^7.0.6", + "@types/babel__traverse": "^7.20.5", + "@types/jsdom": "^21.1.6", + "@types/mocha": "^10.0.6", + "@types/node": "^20.10.8", + "@typescript-eslint/eslint-plugin": "^6.18.1", + "@typescript-eslint/parser": "^6.18.1", "babel-plugin-minprops": "^2.0.1", "bluebird": "^3.7.2", - "c8": "^8.0.0", - "chai": "^4.3.4", + "c8": "^9.0.0", + "chai": "^4.4.0", "cross-env": "^7.0.3", "diffable-html": "^4.0.0", - "dot-json": "^1.2.2", - "esbuild": "^0.18.2", - "eslint": "^8.49.0", - "eslint-config-prettier": "^9.0.0", - "eslint-import-resolver-typescript": "^3.5.5", - "express": "^4.17.1", - "husky": "^8.0.0", - "it-fails": "^1.0.5", - "jsdom": "^19.0.0", - "jsdom-context-require": "^4.0.4", + "dot-json": "^1.3.0", + "esbuild": "^0.19.11", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-import-resolver-typescript": "^3.6.1", + "express": "^4.18.2", + "husky": "^8.0.3", + "it-fails": "^1.0.7", + "jsdom": "^23.2.0", + "jsdom-context-require": "^4.0.9", "kleur": "^4.1.5", - "lint-staged": "^10.5.4", - "mocha": "^8.3.2", - "mocha-autotest": "^1.1.0", + "lint-staged": "^15.2.0", + "mocha": "^10.2.0", + "mocha-autotest": "^1.1.2", "mocha-snap": "^5.0.0", - "prettier": "^2.8.8", - "pretty-format": "^29.5.0", - "rollup": "^3.25.1", - "shell-quote": "^1.7.2", - "sort-package-json": "^2.4.1", + "prettier": "^3.1.1", + "pretty-format": "^29.7.0", + "rollup": "^4.9.4", + "sort-package-json": "^2.6.0", "table": "^6.8.1", "through": "^2.3.8", "through2": "^4.0.2", "tiny-glob": "^0.2.9", - "typescript": "^5.1.3" + "typescript": "^5.3.3", + "~ts": "file:scripts/babel-register.js" } } diff --git a/packages/babel-utils/CHANGELOG.md b/packages/babel-utils/CHANGELOG.md index ad01bfbb4..c581f926d 100644 --- a/packages/babel-utils/CHANGELOG.md +++ b/packages/babel-utils/CHANGELOG.md @@ -1,5 +1,41 @@ # Change Log +## 6.3.5 + +### Patch Changes + +- [#2076](https://github.com/marko-js/marko/pull/2076) [`69b3ff5`](https://github.com/marko-js/marko/commit/69b3ff57c829418946e05c13b644a5560f589086) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Upgrade all package deps to latest + +## 6.3.4 + +### Patch Changes + +- [#2060](https://github.com/marko-js/marko/pull/2060) [`648a94928`](https://github.com/marko-js/marko/commit/648a94928f662b04634a61395d5d48a956a8ff36) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Expose meta data about which child Marko templates were analyzed for a given compilation. + +## 6.3.3 + +### Patch Changes + +- [#2054](https://github.com/marko-js/marko/pull/2054) [`1c5eccadf`](https://github.com/marko-js/marko/commit/1c5eccadf8d968552dbe8756905009107d783718) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix regression with @marko/babel-utils not exposing new parse helpers. + +## 6.3.2 + +### Patch Changes + +- [#2051](https://github.com/marko-js/marko/pull/2051) [`5354d4411`](https://github.com/marko-js/marko/commit/5354d44112c56fcbbd7f44dd3bf91be1e5a7747c) Thanks [@LuLaValva](https://github.com/LuLaValva)! - add ts to ast + +## 6.3.1 + +### Patch Changes + +- [#2008](https://github.com/marko-js/marko/pull/2008) [`1235cf700`](https://github.com/marko-js/marko/commit/1235cf7005447bdad7a84bacf20d40c7c457c03a) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix regression with static template literal expressions. + +## 6.3.0 + +### Minor Changes + +- [#2006](https://github.com/marko-js/marko/pull/2006) [`b2e70bc45`](https://github.com/marko-js/marko/commit/b2e70bc45006a8cccfa61ac99bbca40a71d05fd1) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Add compute node helper to replace babels `evaluate` helper. This helper is less aggressive and doesn't suffer from the false positives that popped up with babels version. + ## 6.2.1 ### Patch Changes diff --git a/packages/babel-utils/index.d.ts b/packages/babel-utils/index.d.ts index 785a0f779..353ed578a 100644 --- a/packages/babel-utils/index.d.ts +++ b/packages/babel-utils/index.d.ts @@ -74,11 +74,11 @@ export interface TaglibLookup { getTag(tagName: string): undefined | TagDefinition; getAttribute( tagName: string, - attrName: string + attrName: string, ): undefined | AttributeDefinition; forEachAttribute( tagName: string, - callback: (attr: AttributeDefinition, tag: TagDefinition) => void + callback: (attr: AttributeDefinition, tag: TagDefinition) => void, ): void; } @@ -143,7 +143,7 @@ export function defineTag(tag: T): T; export type FunctionPlugin = ( path: t.NodePath, - types: typeof t + types: typeof t, ) => void; type EnterExitPlugin = { enter?(path: t.NodePath, types: typeof t): void; @@ -161,7 +161,7 @@ export type Plugin = export function assertAllowedAttributes( path: t.NodePath, - allowed: string[] + allowed: string[], ): void; export function assertNoArgs(path: t.NodePath): void; export function assertNoVar(path: t.NodePath): void; @@ -180,31 +180,31 @@ export function registerMacro(path: t.NodePath, name: string): void; export function hasMacro(path: t.NodePath, name: string): boolean; export function getMacroIdentifierForName( path: t.NodePath, - name: string + name: string, ): t.Identifier; export function getMacroIdentifier(path: t.NodePath): t.Identifier; export function getTagDef( - path: t.NodePath + path: t.NodePath, ): TagDefinition | undefined; export function getFullyResolvedTagName(path: t.NodePath): string; export function findParentTag( - path: t.NodePath + path: t.NodePath, ): t.NodePath | undefined; export function findAttributeTags( - path: t.NodePath + path: t.NodePath, ): Array>; export function getArgOrSequence( - path: t.NodePath + path: t.NodePath, ): t.Expression; export function loadFileForTag( - path: t.NodePath + path: t.NodePath, ): t.BabelFile | undefined; export function loadFileForImport( file: t.BabelFile, - template: string + template: string, ): t.BabelFile | undefined; export function normalizeTemplateString( @@ -219,13 +219,13 @@ export function getLoc(file: t.BabelFile, pos: number): Loc; export function getLocRange( file: t.BabelFile, start: number, - end: number + end: number, ): LocRange; export function withLoc( file: t.BabelFile, node: T, start: number, - end: number + end: number, ): T; export function parseStatements(file: t.BabelFile, str: string): t.Statement[]; @@ -234,7 +234,7 @@ export function parseStatements( str: string, sourceStart: number, sourceEnd: number, - sourceOffset?: number + sourceOffset?: number, ): t.Statement[]; export function parseExpression(file: t.BabelFile, str: string): t.Expression; @@ -243,76 +243,76 @@ export function parseExpression( str: string, sourceStart: number, sourceEnd: number, - sourceOffset?: number + sourceOffset?: number, ): t.Expression; export function parseParams( file: t.BabelFile, - str: string + str: string, ): t.Function["params"]; export function parseParams( file: t.BabelFile, str: string, sourceStart: number, - sourceEnd: number + sourceEnd: number, ): t.Function["params"]; export function parseArgs( file: t.BabelFile, - str: string + str: string, ): t.CallExpression["arguments"]; export function parseArgs( file: t.BabelFile, str: string, sourceStart: number, - sourceEnd: number + sourceEnd: number, ): t.CallExpression["arguments"]; export function parseVar( file: t.BabelFile, - str: string + str: string, ): t.VariableDeclarator["id"]; export function parseVar( file: t.BabelFile, str: string, sourceStart: number, - sourceEnd: number + sourceEnd: number, ): t.VariableDeclarator["id"]; export function parseTemplateLiteral( file: t.BabelFile, - str: string + str: string, ): t.TemplateLiteral; export function parseTemplateLiteral( file: t.BabelFile, str: string, sourceStart: number, - sourceEnd: number + sourceEnd: number, ): t.TemplateLiteral; export function resolveRelativePath(file: t.BabelFile, request: string): string; export function importDefault( file: t.BabelFile, request: string, - nameHint?: string + nameHint?: string, ): t.Identifier; export function importNamed( file: t.BabelFile, request: string, name: string, - nameHint?: string + nameHint?: string, ): t.Identifier; export function getTaglibLookup(file: t.BabelFile): TaglibLookup; export function getTagDefForTagName( file: t.BabelFile, - tagName: string + tagName: string, ): TagDefinition | undefined; export function getTemplateId(optimize: boolean, request: string): string; export function resolveTagImport( path: t.NodePath, - request: string + request: string, ): string | undefined; export enum DiagnosticType { @@ -345,19 +345,19 @@ export interface DiagnosticOptions { export function diagnosticError( path: t.NodePath, - options: DiagnosticOptions + options: DiagnosticOptions, ): void; export function diagnosticWarn( path: t.NodePath, - options: DiagnosticOptions + options: DiagnosticOptions, ): void; export function diagnosticDeprecate( path: t.NodePath, - options: DiagnosticOptions + options: DiagnosticOptions, ): void; export function diagnosticSuggest( path: t.NodePath, - options: DiagnosticOptions + options: DiagnosticOptions, ): void; interface ConfirmFix { @@ -375,3 +375,15 @@ interface SelectFix { }[]; initialValue?: string; } + +type Computed = + | undefined + | number + | string + | boolean + | RegExp + | bigint + | null + | { [x: string]: Computed } + | Computed[]; +export function computeNode(node: t.Node): undefined | { value: Computed }; diff --git a/packages/babel-utils/package.json b/packages/babel-utils/package.json index 1c6daa850..98befed7f 100644 --- a/packages/babel-utils/package.json +++ b/packages/babel-utils/package.json @@ -1,6 +1,6 @@ { "name": "@marko/babel-utils", - "version": "6.2.1", + "version": "6.3.5", "description": "Utilities for use with Marko babel plugins.", "keywords": [ "htmljs", @@ -28,12 +28,12 @@ "build": "babel ./src --out-dir ./dist --delete-dir-on-start --copy-files --config-file ../../babel.config.js --env-name=production" }, "dependencies": { - "@babel/runtime": "^7.16.0", + "@babel/runtime": "^7.23.8", "jsesc": "^3.0.2", "relative-import-path": "^1.0.0" }, "devDependencies": { - "@marko/compiler": "^5.30.0" + "@marko/compiler": "^5.34.4" }, "publishConfig": { "access": "public" diff --git a/packages/babel-utils/src/assert.js b/packages/babel-utils/src/assert.js index 2fe80f90e..e5086b321 100644 --- a/packages/babel-utils/src/assert.js +++ b/packages/babel-utils/src/assert.js @@ -5,7 +5,7 @@ export function assertAllowedAttributes(path, allowed) { throw path .get(`attributes.${i}`) .buildCodeFrameError( - `Invalid "${node.name.value}" tag attribute: "${attr.name}".` + `Invalid "${node.name.value}" tag attribute: "${attr.name}".`, ); } }); @@ -22,7 +22,7 @@ export function assertNoParams(path) { const end = params[params.length - 1].loc.end; throw path.hub.buildError( { loc: { start, end } }, - "Tag does not support parameters." + "Tag does not support parameters.", ); } } @@ -44,7 +44,7 @@ export function assertNoArgs(path) { const end = args[args.length - 1].node.loc.end; throw hub.buildError( { loc: { start, end } }, - "Tag does not support arguments." + "Tag does not support arguments.", ); } } diff --git a/packages/babel-utils/src/compute.js b/packages/babel-utils/src/compute.js new file mode 100644 index 000000000..826b6fe45 --- /dev/null +++ b/packages/babel-utils/src/compute.js @@ -0,0 +1,194 @@ +/** + * @param {import("@babel/types").Node} node + */ +export function computeNode(node) { + switch (node.type) { + case "StringLiteral": + case "NumericLiteral": + case "BooleanLiteral": + return { value: node.value }; + case "RegExpLiteral": + return { value: new RegExp(node.pattern, node.flags) }; + case "NullLiteral": + return { value: null }; + case "Identifier": + switch (node.name) { + case "undefined": + return { value: undefined }; + case "NaN": + return { value: NaN }; + case "Infinity": + return { value: Infinity }; + default: + return; + } + case "BigIntLiteral": + return { value: BigInt(node.value) }; + case "BinaryExpression": { + const left = computeNode(node.left); + if (!left) return; + const right = computeNode(node.right); + if (!right) return; + switch (node.operator) { + case "+": + return { value: left.value + right.value }; + case "-": + return { value: left.value - right.value }; + case "*": + return { value: left.value * right.value }; + case "/": + return { value: left.value / right.value }; + case "%": + return { value: left.value % right.value }; + case "**": + return { value: left.value ** right.value }; + case "|": + return { value: left.value | right.value }; + case "&": + return { value: left.value & right.value }; + case "^": + return { value: left.value ^ right.value }; + case "<<": + return { value: left.value << right.value }; + case ">>": + return { value: left.value >> right.value }; + case ">>>": + return { value: left.value >>> right.value }; + case "==": + return { value: left.value == right.value }; + case "!=": + return { value: left.value != right.value }; + case "===": + return { value: left.value === right.value }; + case "!==": + return { value: left.value !== right.value }; + case "<": + return { value: left.value < right.value }; + case "<=": + return { value: left.value <= right.value }; + case ">": + return { value: left.value > right.value }; + case ">=": + return { value: left.value >= right.value }; + default: + return; + } + } + case "UnaryExpression": { + const arg = computeNode(node.argument); + if (!arg) return; + switch (node.operator) { + case "+": + return { value: +arg.value }; + case "-": + return { value: -arg.value }; + case "~": + return { value: ~arg.value }; + case "!": + return { value: !arg.value }; + case "typeof": + return { value: typeof arg.value }; + case "void": + return { value: void arg.value }; + default: + return; + } + } + case "LogicalExpression": { + const left = computeNode(node.left); + if (!left) return; + const right = computeNode(node.right); + if (!right) return; + switch (node.operator) { + case "&&": + return { value: left.value && right.value }; + case "||": + return { value: left.value || right.value }; + case "??": + return { value: left.value ?? right.value }; + default: + return; + } + } + case "ConditionalExpression": { + const test = computeNode(node.test); + if (!test) return; + const consequent = computeNode(node.consequent); + if (!consequent) return; + const alternate = computeNode(node.alternate); + if (!alternate) return; + return { value: test.value ? consequent.value : alternate.value }; + } + case "TemplateLiteral": { + let value = node.quasis[0].value.cooked; + for (let i = 0; i < node.expressions.length; i++) { + const expr = computeNode(node.expressions[i]); + if (!expr) return; + value += expr.value + node.quasis[i + 1].value.cooked; + } + return { value }; + } + case "ObjectExpression": { + const value = {}; + for (const prop of node.properties) { + if (prop.decorators) return; + switch (prop.type) { + case "ObjectProperty": { + let key; + if (prop.computed) { + const keyNode = computeNode(prop.key); + if (!keyNode) return; + key = keyNode.value + ""; + } else { + switch (prop.key.type) { + case "Identifier": + key = prop.key.name; + break; + case "StringLiteral": + key = prop.key.value; + break; + default: + return; + } + } + + const propValue = computeNode(prop.value); + if (!propValue) return; + value[key] = propValue.value; + break; + } + case "SpreadElement": { + const arg = computeNode(prop.argument); + if (!arg) return; + Object.assign(value, arg.value); + break; + } + } + } + + return { value }; + } + case "ArrayExpression": { + const value = []; + for (const elem of node.elements) { + if (elem) { + if (elem.type === "SpreadElement") { + const arg = computeNode(elem.argument); + if (typeof arg?.value?.[Symbol.iterator] !== "function") return; + for (const item of arg.value) { + value.push(item); + } + } else { + const elemValue = computeNode(elem); + if (!elemValue) return; + value.push(elemValue.value); + } + } else { + value.length++; + } + } + + return { value }; + } + } +} diff --git a/packages/babel-utils/src/diagnostics.js b/packages/babel-utils/src/diagnostics.js index 03da01079..d488df878 100644 --- a/packages/babel-utils/src/diagnostics.js +++ b/packages/babel-utils/src/diagnostics.js @@ -30,7 +30,7 @@ function add(type, path, options) { if (rawFix) { if (file.___compileStage !== "migrate") { throw new Error( - "Diagnostic fixes can only be registered during the migrate stage." + "Diagnostic fixes can only be registered during the migrate stage.", ); } diff --git a/packages/babel-utils/src/imports.js b/packages/babel-utils/src/imports.js index 6d5e1379f..04f41e41f 100644 --- a/packages/babel-utils/src/imports.js +++ b/packages/babel-utils/src/imports.js @@ -13,7 +13,7 @@ export function resolveRelativePath(file, request) { if (file.markoOpts.optimize) { request = request.replace( /(^|\/node-modules\/)marko\/src\//, - "$1marko/dist/" + "$1marko/dist/", ); } @@ -30,8 +30,8 @@ export function importDefault(file, request, nameHint) { request, (importDeclaration = file.path.pushContainer( "body", - t.importDeclaration([], t.stringLiteral(request)) - )[0]) + t.importDeclaration([], t.stringLiteral(request)), + )[0]), ); } @@ -41,14 +41,14 @@ export function importDefault(file, request, nameHint) { const specifiers = importDeclaration.get("specifiers"); const specifier = specifiers.find((specifier) => - specifier.isImportDefaultSpecifier() + specifier.isImportDefaultSpecifier(), ); if (!specifier) { const identifier = file.scope.generateUidIdentifier(nameHint); importDeclaration.pushContainer( "specifiers", - t.importDefaultSpecifier(identifier) + t.importDefaultSpecifier(identifier), ); return identifier; } @@ -66,22 +66,22 @@ export function importNamed(file, request, name, nameHint = name) { request, (importDeclaration = file.path.pushContainer( "body", - t.importDeclaration([], t.stringLiteral(request)) - )[0]) + t.importDeclaration([], t.stringLiteral(request)), + )[0]), ); } const specifiers = importDeclaration.get("specifiers"); const specifier = specifiers.find( (specifier) => - specifier.isImportSpecifier() && specifier.node.imported.name === name + specifier.isImportSpecifier() && specifier.node.imported.name === name, ); if (!specifier) { const identifier = file.scope.generateUidIdentifier(nameHint); importDeclaration.pushContainer( "specifiers", - t.importSpecifier(identifier, t.identifier(name)) + t.importSpecifier(identifier, t.identifier(name)), ); return identifier; } diff --git a/packages/babel-utils/src/index.js b/packages/babel-utils/src/index.js index 1a5f7dc0a..193a8c437 100644 --- a/packages/babel-utils/src/index.js +++ b/packages/babel-utils/src/index.js @@ -27,6 +27,7 @@ export { assertNoVar, assertNoAttributeTags, } from "./assert"; +export { computeNode } from "./compute"; export { normalizeTemplateString } from "./template-string"; export { getLoc, getLocRange, withLoc } from "./loc"; @@ -38,6 +39,8 @@ export { parseArgs, parseVar, parseTemplateLiteral, + parseTypeArgs, + parseTypeParams, } from "./parse"; export { resolveRelativePath, importDefault, importNamed } from "./imports"; diff --git a/packages/babel-utils/src/parse.js b/packages/babel-utils/src/parse.js index 55dd65c99..100378aaa 100644 --- a/packages/babel-utils/src/parse.js +++ b/packages/babel-utils/src/parse.js @@ -1,6 +1,6 @@ import * as babelParser from "@babel/parser"; -import { getLocRange } from "./loc"; import { types as t } from "@marko/compiler"; +import { getLocRange } from "./loc"; const CODE_AS_WHITE_SPACE_KEY = Symbol(); @@ -9,7 +9,7 @@ export function parseStatements( str, sourceStart, sourceEnd, - sourceOffset + sourceOffset, ) { return tryParse(file, false, str, sourceStart, sourceEnd, sourceOffset); } @@ -19,7 +19,7 @@ export function parseExpression( str, sourceStart, sourceEnd, - sourceOffset + sourceOffset, ) { return tryParse(file, true, str, sourceStart, sourceEnd, sourceOffset); } @@ -30,7 +30,7 @@ export function parseParams(file, str, sourceStart, sourceEnd) { `(${str})=>{}`, sourceStart, sourceEnd, - 1 + 1, ); if (parsed.type === "ArrowFunctionExpression") { @@ -56,7 +56,7 @@ export function parseVar(file, str, sourceStart, sourceEnd) { `(${str})=>{}`, sourceStart, sourceEnd, - 1 + 1, ); if (parsed.type === "ArrowFunctionExpression" && parsed.params.length === 1) { @@ -72,7 +72,7 @@ export function parseTemplateLiteral(file, str, sourceStart, sourceEnd) { "`" + str + "`", sourceStart, sourceEnd, - 1 + 1, ); if (parsed.type === "TemplateLiteral") { @@ -82,13 +82,40 @@ export function parseTemplateLiteral(file, str, sourceStart, sourceEnd) { return ensureParseError(file, parsed, sourceStart, sourceEnd); } +export function parseTypeArgs(file, str, sourceStart, sourceEnd) { + const parsed = parseExpression(file, `_<${str}>`, sourceStart, sourceEnd, 2); + + if (parsed.type === "TSInstantiationExpression") { + // typeArguments is Flow only (not TS), we need to use typeParameters + return parsed.typeParameters; + } + + return [ensureParseError(file, parsed, sourceStart, sourceEnd)]; +} + +export function parseTypeParams(file, str, sourceStart, sourceEnd) { + const parsed = parseExpression( + file, + `<${str}>()=>{}`, + sourceStart, + sourceEnd, + 1, + ); + + if (parsed.type === "ArrowFunctionExpression") { + return parsed.typeParameters; + } + + return [ensureParseError(file, parsed, sourceStart, sourceEnd)]; +} + function tryParse( file, isExpression, str, sourceStart, sourceEnd, - sourceOffset + sourceOffset, ) { const { parserOpts } = file.opts; let code = str; @@ -98,12 +125,12 @@ function tryParse( file.metadata.marko[CODE_AS_WHITE_SPACE_KEY] || (file.metadata.marko[CODE_AS_WHITE_SPACE_KEY] = file.code.replace( /[^\s]/g, - " " + " ", )); code = whitespace.slice( 0, - sourceOffset ? sourceStart - sourceOffset : sourceStart + sourceOffset ? sourceStart - sourceOffset : sourceStart, ) + str; try { @@ -116,7 +143,7 @@ function tryParse( sourceStart, sourceEnd, err.message, - err.loc + err.loc, ); if (isExpression) { @@ -140,7 +167,7 @@ function ensureParseError(file, node, sourceStart, sourceEnd) { file, sourceStart, sourceEnd, - `Unexpected node of type ${node.type} returned while parsing.` + `Unexpected node of type ${node.type} returned while parsing.`, ); } diff --git a/packages/babel-utils/src/tags.js b/packages/babel-utils/src/tags.js index 229146ac7..8cf7bab23 100644 --- a/packages/babel-utils/src/tags.js +++ b/packages/babel-utils/src/tags.js @@ -1,10 +1,10 @@ -import { basename, dirname, relative, resolve } from "path"; -import resolveFrom from "resolve-from"; import { createHash } from "crypto"; +import { basename, dirname, relative, resolve } from "path"; import { types as t } from "@marko/compiler"; import { getRootDir } from "lasso-package-root"; -import { getTagDefForTagName } from "./taglib"; +import resolveFrom from "resolve-from"; import { resolveRelativePath } from "./imports"; +import { getTagDefForTagName } from "./taglib"; const MACRO_IDS_KEY = Symbol(); const MACRO_NAMES_KEY = "__marko_macro_names__"; // must be a string literal since it is used across compiler stages. @@ -64,7 +64,7 @@ export function registerMacro(path, name) { if (macroNames) { if (macroNames[name]) { throw path.buildCodeFrameError( - `A macro with the name "${name}" already exists.` + `A macro with the name "${name}" already exists.`, ); } macroNames[name] = true; @@ -88,7 +88,7 @@ export function getMacroIdentifierForName(path, name) { if (file.___compileStage !== "translate") { throw new Error( - "getMacroIdentifierForName can only be called during the translate phase of the compiler." + "getMacroIdentifierForName can only be called during the translate phase of the compiler.", ); } @@ -107,7 +107,7 @@ export function getMacroIdentifierForName(path, name) { if (!id) { throw new Error( - " was added programmatically, but was not registered via the 'registerMacro' api in @marko/babel-utils." + " was added programmatically, but was not registered via the 'registerMacro' api in @marko/babel-utils.", ); } @@ -119,13 +119,13 @@ export function getMacroIdentifier(path) { if (file.___compileStage !== "translate") { throw new Error( - "getMacroIdentifier can only be called during the translate phase of the compiler." + "getMacroIdentifier can only be called during the translate phase of the compiler.", ); } if (!isMacroTag(path)) { throw path.buildCodeFrameError( - "getMacroIdentifier called on non macro referencing tag." + "getMacroIdentifier called on non macro referencing tag.", ); } @@ -145,7 +145,9 @@ export function getTagDef(path) { node.tagDef = getTagDefForTagName( file, - isAttributeTag(path) ? getFullyResolvedTagName(path) : node.name.value + isAttributeTag(path) + ? getFullyResolvedTagName(path) + : node.name.value, ) || null; } } @@ -236,10 +238,18 @@ export function loadFileForTag(tag) { const filename = def && def.template; if (filename) { + const markoMeta = file.metadata.marko; + const { analyzedTags } = markoMeta; + if (analyzedTags) { + analyzedTags.push(filename); + } else { + markoMeta.analyzedTags = [filename]; + } + return file.___getMarkoFile( fs.readFileSync(filename).toString("utf-8"), createNewFileOpts(file.opts, filename), - file.markoOpts + file.markoOpts, ); } } @@ -253,10 +263,18 @@ export function loadFileForImport(file, request) { relativeRequest[0] === "." ? resolve(file.opts.filename, "..", relativeRequest) : resolveFrom(dirname(file.opts.filename), relativeRequest); + const markoMeta = file.metadata.marko; + const { analyzedTags } = markoMeta; + if (analyzedTags) { + analyzedTags.push(filename); + } else { + markoMeta.analyzedTags = [filename]; + } + return file.___getMarkoFile( fs.readFileSync(filename).toString("utf-8"), createNewFileOpts(file.opts, filename), - file.markoOpts + file.markoOpts, ); } } @@ -283,7 +301,7 @@ export function resolveTagImport(path, request) { if (!relativePath) { throw path.buildCodeFrameError( - `Unable to find entry point for custom tag <${tagName}>.` + `Unable to find entry point for custom tag <${tagName}>.`, ); } diff --git a/packages/babel-utils/src/template-string.js b/packages/babel-utils/src/template-string.js index 7d29fbf9c..4770aaa95 100644 --- a/packages/babel-utils/src/template-string.js +++ b/packages/babel-utils/src/template-string.js @@ -1,5 +1,5 @@ -import jsesc from "jsesc"; import { types as t } from "@marko/compiler"; +import jsesc from "jsesc"; export function normalizeTemplateString(quasis, ...expressions) { quasis = quasis.map((q) => (t.isTemplateElement(q) ? q.value.cooked : q)); @@ -13,7 +13,7 @@ export function normalizeTemplateString(quasis, ...expressions) { quasis.splice( i + 1, 0, - ...v.quasis.slice(1, -1).map((q) => q.value.cooked) + ...v.quasis.slice(1, -1).map((q) => q.value.cooked), ); expressions.splice(i, 1, ...v.expressions); i += v.expressions.length; diff --git a/packages/compiler/CHANGELOG.md b/packages/compiler/CHANGELOG.md index c82fafdb7..f05c1c244 100644 --- a/packages/compiler/CHANGELOG.md +++ b/packages/compiler/CHANGELOG.md @@ -1,5 +1,114 @@ # Change Log +## 5.34.4 + +### Patch Changes + +- [#2076](https://github.com/marko-js/marko/pull/2076) [`69b3ff5`](https://github.com/marko-js/marko/commit/69b3ff57c829418946e05c13b644a5560f589086) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Upgrade all package deps to latest + +- Updated dependencies [[`69b3ff5`](https://github.com/marko-js/marko/commit/69b3ff57c829418946e05c13b644a5560f589086)]: + - @marko/babel-utils@6.3.5 + +## 5.34.3 + +### Patch Changes + +- [#2074](https://github.com/marko-js/marko/pull/2074) [`bf23c566fac02f4e2991be357a95483663493b3f`](https://github.com/marko-js/marko/commit/bf23c566fac02f4e2991be357a95483663493b3f) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Upgrade package lock and built types. + +## 5.34.2 + +### Patch Changes + +- [#2069](https://github.com/marko-js/marko/pull/2069) [`977d69078`](https://github.com/marko-js/marko/commit/977d690784f1d97acb3494bb822fa852c1380685) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix issue with printing variable declarations with multiple variables. + +## 5.34.1 + +### Patch Changes + +- [#2064](https://github.com/marko-js/marko/pull/2064) [`5e294103f`](https://github.com/marko-js/marko/commit/5e294103f78642b8a44887a1569ffd0eabcf6821) Thanks [@LuLaValva](https://github.com/LuLaValva)! - fix sourcemaps + +## 5.34.0 + +### Minor Changes + +- [#2062](https://github.com/marko-js/marko/pull/2062) [`436ace040`](https://github.com/marko-js/marko/commit/436ace040b73d11908911d60c10845b6e99e8eca) Thanks [@LuLaValva](https://github.com/LuLaValva)! - Add "exports" to marko.json + +## 5.33.8 + +### Patch Changes + +- [#2060](https://github.com/marko-js/marko/pull/2060) [`648a94928`](https://github.com/marko-js/marko/commit/648a94928f662b04634a61395d5d48a956a8ff36) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Expose meta data about which child Marko templates were analyzed for a given compilation. + +- [#2059](https://github.com/marko-js/marko/pull/2059) [`aed88284b`](https://github.com/marko-js/marko/commit/aed88284b8b3c68965f70b6bdf9412c7100c5df5) Thanks [@LuLaValva](https://github.com/LuLaValva)! - fix AST types + +- Updated dependencies [[`648a94928`](https://github.com/marko-js/marko/commit/648a94928f662b04634a61395d5d48a956a8ff36)]: + - @marko/babel-utils@6.3.4 + +## 5.33.7 + +### Patch Changes + +- [#2056](https://github.com/marko-js/marko/pull/2056) [`84f443d60`](https://github.com/marko-js/marko/commit/84f443d60539cc1b3382c6b16da4061070f97aca) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix issue when the Marko hot-reload runtime is loaded in native esm + +## 5.33.6 + +### Patch Changes + +- [#2054](https://github.com/marko-js/marko/pull/2054) [`1c5eccadf`](https://github.com/marko-js/marko/commit/1c5eccadf8d968552dbe8756905009107d783718) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix regression with @marko/babel-utils not exposing new parse helpers. + +- Updated dependencies [[`1c5eccadf`](https://github.com/marko-js/marko/commit/1c5eccadf8d968552dbe8756905009107d783718)]: + - @marko/babel-utils@6.3.3 + +## 5.33.5 + +### Patch Changes + +- [#2051](https://github.com/marko-js/marko/pull/2051) [`5354d4411`](https://github.com/marko-js/marko/commit/5354d44112c56fcbbd7f44dd3bf91be1e5a7747c) Thanks [@LuLaValva](https://github.com/LuLaValva)! - add ts to ast + +- Updated dependencies [[`5354d4411`](https://github.com/marko-js/marko/commit/5354d44112c56fcbbd7f44dd3bf91be1e5a7747c)]: + - @marko/babel-utils@6.3.2 + +## 5.33.4 + +### Patch Changes + +- [#2049](https://github.com/marko-js/marko/pull/2049) [`1554b1e1e`](https://github.com/marko-js/marko/commit/1554b1e1e53a75980af0b238cc27bed5ddfa215a) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Allow `template.marko` to act as `index.marko` for backword compat with v4/v3. + +## 5.33.3 + +### Patch Changes + +- [#2042](https://github.com/marko-js/marko/pull/2042) [`447104632`](https://github.com/marko-js/marko/commit/44710463258999ad037febef10264e32f3291157) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - When compiling async, prefer using the async babel api for loading babel config files. + +## 5.33.2 + +### Patch Changes + +- [#2038](https://github.com/marko-js/marko/pull/2038) [`71a227a5f`](https://github.com/marko-js/marko/commit/71a227a5ff8b16c0bb983e082f28280518f712ce) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix issue where using the longhand nested attribute tag syntax in a marko.json with a `target-property` defined was not registering the alias as a known attribute, leading to compile errors. + +## 5.33.1 + +### Patch Changes + +- [#2020](https://github.com/marko-js/marko/pull/2020) [`6a4e947b5`](https://github.com/marko-js/marko/commit/6a4e947b5ac9944e61d7871d314a6325a0522d1d) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Ensure .marko files are resolved for legacy renderer taglib configs. + +## 5.33.0 + +### Minor Changes + +- [#2012](https://github.com/marko-js/marko/pull/2012) [`6ba268c84`](https://github.com/marko-js/marko/commit/6ba268c841631b3ed36964c8f532e543885ad4f5) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Support registering a taglib in the compiler by just passing in a module id. + +## 5.32.0 + +### Minor Changes + +- [#2006](https://github.com/marko-js/marko/pull/2006) [`b2e70bc45`](https://github.com/marko-js/marko/commit/b2e70bc45006a8cccfa61ac99bbca40a71d05fd1) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Add compute node helper to replace babels `evaluate` helper. This helper is less aggressive and doesn't suffer from the false positives that popped up with babels version. + +### Patch Changes + +- Updated dependencies [[`b2e70bc45`](https://github.com/marko-js/marko/commit/b2e70bc45006a8cccfa61ac99bbca40a71d05fd1)]: + - @marko/babel-utils@6.3.0 + ## 5.31.2 ### Patch Changes diff --git a/packages/compiler/babel-types.d.ts b/packages/compiler/babel-types.d.ts index 310bd812d..ec68d1981 100644 --- a/packages/compiler/babel-types.d.ts +++ b/packages/compiler/babel-types.d.ts @@ -1,3 +1,4 @@ +/* eslint-disable import/export */ import { Scope } from "./dist/traverse"; export * from "./dist/types"; export * from "./dist/traverse"; diff --git a/packages/compiler/config.d.ts b/packages/compiler/config.d.ts index 41cad5317..d4c284b01 100644 --- a/packages/compiler/config.d.ts +++ b/packages/compiler/config.d.ts @@ -18,10 +18,11 @@ declare const Config: { resolveVirtualDependency?: | (( filename: string, - dep: { virtualPath: string; code: string; map?: any } + dep: { virtualPath: string; code: string; map?: any }, ) => string) | null; hydrateIncludeImports?: RegExp | ((request: string) => boolean); + hydrateInit?: boolean; optimize?: boolean; cache?: Map; hot?: boolean; diff --git a/packages/compiler/index.d.ts b/packages/compiler/index.d.ts index e0831e1d5..9bce94f4f 100644 --- a/packages/compiler/index.d.ts +++ b/packages/compiler/index.d.ts @@ -1,28 +1,32 @@ -import { SourceMap } from "magic-string"; import { Diagnostic, TaglibLookup } from "@marko/babel-utils"; +import { SourceMap } from "magic-string"; import * as types from "./babel-types"; export { types }; type _Config = typeof import("./config"); export interface Config extends _Config {} +interface Dep { + type: string; + path: string; + [x: string]: unknown; +} -type Dep = { +interface VirtualDep { type: string; code: string; - path: string; + virtualPath: string; startPos?: number; endPos?: number; - require?: boolean; - virtualPath?: string; [x: string]: unknown; -}; +} export interface MarkoMeta { id: string; component?: string; watchFiles: string[]; tags?: string[]; - deps: Array; + deps: Array; + analyzedTags?: [string, ...string[]]; diagnostics: Diagnostic[]; } @@ -38,38 +42,39 @@ export function configure(config: Config): void; export function compile( src: string, filename: string, - config?: Config + config?: Config, ): Promise; export function compileSync( src: string, filename: string, - config?: Config + config?: Config, ): CompileResult; export function compileFile( filename: string, - config?: Config + config?: Config, ): Promise; export function compileFileSync( filename: string, - config?: Config + config?: Config, ): CompileResult; export function getRuntimeEntryFiles( output: string, - translator?: string | undefined + translator?: string | undefined, ): string[]; export namespace taglib { export function excludeDir(dirname: string): void; export function excludePackage(packageName: string): void; + export function register(id: string): void; export function register(id: string, props: { [x: string]: unknown }): void; export function buildLookup( dirname: string, translator?: unknown, - onError?: (err: Error) => void + onError?: (err: Error) => void, ): TaglibLookup; export function clearCaches(): void; } diff --git a/packages/compiler/package.json b/packages/compiler/package.json index d58918740..c492c1598 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -1,6 +1,6 @@ { "name": "@marko/compiler", - "version": "5.31.2", + "version": "5.34.4", "description": "Marko template to JS compiler.", "keywords": [ "babel", @@ -35,20 +35,21 @@ "build:types": "node scripts/types-babel-types.mjs > ./dist/types.d.ts && node scripts/types-babel-traverse.js > ./dist/traverse.d.ts" }, "dependencies": { - "@babel/code-frame": "^7.16.0", - "@babel/core": "^7.16.0", - "@babel/generator": "^7.16.0", - "@babel/parser": "^7.16.0", - "@babel/plugin-syntax-typescript": "^7.16.0", - "@babel/plugin-transform-modules-commonjs": "^7.16.0", - "@babel/plugin-transform-typescript": "^7.16.0", - "@babel/runtime": "^7.16.0", - "@babel/traverse": "^7.16.0", - "@babel/types": "^7.16.0", - "@marko/babel-utils": "^6.2.1", + "@babel/code-frame": "^7.23.5", + "@babel/core": "^7.23.7", + "@babel/generator": "^7.23.6", + "@babel/parser": "^7.23.6", + "@babel/plugin-syntax-typescript": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.6", + "@babel/runtime": "^7.23.8", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "@luxass/strip-json-comments": "^1.1.1", + "@marko/babel-utils": "^6.3.5", "complain": "^1.6.0", "he": "^1.2.0", - "htmljs-parser": "^5.4.3", + "htmljs-parser": "^5.5.2", "jsesc": "^3.0.2", "kleur": "^4.1.5", "lasso-package-root": "^1.0.1", @@ -56,12 +57,10 @@ "raptor-util": "^3.2.0", "resolve-from": "^5.0.0", "self-closing-tags": "^1.0.1", - "source-map-support": "^0.5.21", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.1" + "source-map-support": "^0.5.21" }, "devDependencies": { - "@marko/translator-default": "^5.29.1" + "@marko/translator-default": "^5.31.11" }, "publishConfig": { "access": "public" diff --git a/packages/compiler/register.d.ts b/packages/compiler/register.d.ts index a13fd467b..8a183239e 100644 --- a/packages/compiler/register.d.ts +++ b/packages/compiler/register.d.ts @@ -2,5 +2,5 @@ import { Config } from "."; type Extensions = Partial; export default function register( - config: Config & { extensions?: Extensions } + config: Config & { extensions?: Extensions }, ): Extensions; diff --git a/packages/compiler/scripts/types-babel-traverse.js b/packages/compiler/scripts/types-babel-traverse.js index 4e949226e..ef77395fd 100644 --- a/packages/compiler/scripts/types-babel-traverse.js +++ b/packages/compiler/scripts/types-babel-traverse.js @@ -33,14 +33,14 @@ const { MARKO_TYPES } = require("../dist/babel-types/types/definitions"); const HUB_INTERFACE = "export interface HubInterface {"; const HUB_CLASS = "export class Hub implements HubInterface {\n constructor();"; -const IMPORT = "import * as t from '@babel/types'"; +const IMPORT = 'import * as t from "@babel/types"'; const EXPORT_NODE = "export import Node = t.Node;"; const NODE_PATH_GET = "get(key: string, context?: boolean | TraversalContext): NodePath | NodePath[];"; const IS = - "//#region ------------------------- isXXX -------------------------"; + "// #region ------------------------- isXXX -------------------------"; const ASSERT = - "//#region ------------------------- assertXXX -------------------------"; + "// #region ------------------------- assertXXX -------------------------"; const BREAK = "\n "; fs.readFile( @@ -53,11 +53,11 @@ fs.readFile( (str) => { if (data.indexOf(str) === -1) { console.error( - `Unable to find \`${str}\` in @types/babel__traverse/index.d.ts` + `Unable to find \`${str}\` in @types/babel__traverse/index.d.ts`, ); process.exit(1); } - } + }, ); var result = data @@ -76,12 +76,12 @@ fs.readFile( } ${HUB_INTERFACE} - file: BabelFile;` + file: BabelFile;`, ) .replace( HUB_CLASS, `${HUB_CLASS} - file: BabelFile;` + file: BabelFile;`, ) .replace(IMPORT, `import * as t from './types'`) .replace(EXPORT_NODE, "type Node = t.Node") @@ -91,18 +91,18 @@ ${HUB_INTERFACE} IS + BREAK + MARKO_TYPES.map( - (t) => `is${t}(props?: object | null): this is NodePath;` - ).join(BREAK) + (t) => `is${t}(opts?: object | null): this is NodePath;`, + ).join(BREAK), ) .replace( ASSERT, ASSERT + BREAK + MARKO_TYPES.map( - (t) => `assert${t}(props?: object | null): void;` - ).join(BREAK) + (t) => `assert${t}(opts?: object | null): void;`, + ).join(BREAK), ); process.stdout.write(result); - } + }, ); diff --git a/packages/compiler/src/babel-plugin/index.js b/packages/compiler/src/babel-plugin/index.js index 7d35c7ddc..fee7e5da3 100644 --- a/packages/compiler/src/babel-plugin/index.js +++ b/packages/compiler/src/babel-plugin/index.js @@ -1,25 +1,25 @@ -import path from "path"; import { createHash } from "crypto"; -import * as t from "../babel-types"; -import { diagnosticError, getTemplateId } from "@marko/babel-utils"; +import path from "path"; import { visitors } from "@babel/traverse"; +import { diagnosticError, getTemplateId } from "@marko/babel-utils"; +import * as t from "../babel-types"; import { buildLookup } from "../taglib"; +import taglibConfig from "../taglib/config"; +import { buildCodeFrameError } from "../util/build-code-frame"; +import throwAggregateError from "../util/merge-errors"; +import shouldOptimize from "../util/should-optimize"; +import tryLoadTranslator from "../util/try-load-translator"; +import { MarkoFile } from "./file"; import { parseMarko } from "./parser"; import { visitor as migrate } from "./plugins/migrate"; import { visitor as transform } from "./plugins/transform"; -import { MarkoFile } from "./file"; -import taglibConfig from "../taglib/config"; -import tryLoadTranslator from "../util/try-load-translator"; -import shouldOptimize from "../util/should-optimize"; -import { buildCodeFrameError } from "../util/build-code-frame"; -import throwAggregateError from "../util/merge-errors"; const SOURCE_FILES = new WeakMap(); export default (api, markoOpts) => { api.assertVersion(7); const translator = (markoOpts.translator = tryLoadTranslator( - markoOpts.translator + markoOpts.translator, )); markoOpts.output = markoOpts.output || "html"; @@ -30,7 +30,7 @@ export default (api, markoOpts) => { if (!translator || !translator.translate) { throw new Error( - "@marko/compiler: translator must provide a translate visitor object" + "@marko/compiler: translator must provide a translate visitor object", ); } @@ -39,7 +39,7 @@ export default (api, markoOpts) => { typeof markoOpts.resolveVirtualDependency !== "function" ) { throw new Error( - `@marko/compiler: the "resolveVirtualDependency" option must be supplied when output is "hydrate".` + `@marko/compiler: the "resolveVirtualDependency" option must be supplied when output is "hydrate".`, ); } @@ -100,7 +100,7 @@ export default (api, markoOpts) => { addPlugin( metadata.marko, rootTranslators, - taglibLookup.taglibsById[id].translator + taglibLookup.taglibsById[id].translator, ); } } @@ -127,7 +127,7 @@ export default (api, markoOpts) => { MarkoClass(path) { // We replace the MarkoClass with a regular class declaration so babel can strip it's types. path.replaceWith( - t.classDeclaration(t.identifier(""), null, path.node.body) + t.classDeclaration(t.identifier(""), null, path.node.body), ); }, ExportNamedDeclaration: { @@ -254,8 +254,8 @@ export function getMarkoFile(code, fileOpts, markoOpts) { file.opts.filename, file.code, node.errorLoc || node.loc, - node.label - ) + node.label, + ), ); } }); @@ -396,4 +396,7 @@ function isMarkoOutput(output) { function finalizeMeta(meta) { meta.watchFiles = [...new Set(meta.watchFiles)]; + if (meta.analyzedTags) { + meta.analyzedTags = [...new Set(meta.analyzedTags)]; + } } diff --git a/packages/compiler/src/babel-plugin/parser.js b/packages/compiler/src/babel-plugin/parser.js index 45b65cd31..1a228383b 100644 --- a/packages/compiler/src/babel-plugin/parser.js +++ b/packages/compiler/src/babel-plugin/parser.js @@ -1,5 +1,3 @@ -import { TagType, createParser } from "htmljs-parser"; -import * as t from "../babel-types"; import { getTagDefForTagName, parseArgs, @@ -7,8 +5,12 @@ import { parseParams, parseStatements, parseTemplateLiteral, + parseTypeArgs, + parseTypeParams, parseVar, } from "@marko/babel-utils"; +import { TagType, createParser } from "htmljs-parser"; +import * as t from "../babel-types"; const noop = () => {}; const emptyRange = (part) => part.start === part.end; @@ -73,7 +75,7 @@ export function parseMarko(file) { file, parser.read(value), value.start, - value.end + value.end, ); if (t.isStringLiteral(result)) { // convert to template literal just so that we don't mistake it for a native tag if this is a tag name. @@ -84,7 +86,7 @@ export function parseMarko(file) { cooked: result.value, }), ], - [] + [], ); } else { return result; @@ -197,6 +199,22 @@ export function parseMarko(file) { onComment(part) { pushContent(withLoc(t.markoComment(parser.read(part.value)), part)); }, + onTagTypeArgs(part) { + currentTag.node.typeArguments = parseTypeArgs( + file, + parser.read(part.value), + part.value.start, + part.value.end, + ); + }, + onTagTypeParams(part) { + currentBody.node.typeParameters = parseTypeParams( + file, + parser.read(part.value), + part.value.start, + part.value.end, + ); + }, onPlaceholder(part) { pushContent( withLoc( @@ -205,12 +223,12 @@ export function parseMarko(file) { file, parser.read(part.value), part.value.start, - part.value.end + part.value.end, ), - part.escape + part.escape, ), - part - ) + part, + ), ); }, onScriptlet(part) { @@ -221,11 +239,11 @@ export function parseMarko(file) { file, parser.read(part.value), part.value.start, - part.value.end - ) + part.value.end, + ), ), - part - ) + part, + ), ); }, onOpenTagName(part) { @@ -241,13 +259,13 @@ export function parseMarko(file) { if (literalTagName === "%") { throw file.buildCodeFrameError( tagName, - "<% scriptlets %> are no longer supported." + "<% scriptlets %> are no longer supported.", ); } const parseOptions = (node.tagDef = getTagDefForTagName( file, - literalTagName + literalTagName, ))?.parseOptions; if (parseOptions) { @@ -284,7 +302,7 @@ export function parseMarko(file) { file, parser.read(value), value.start, - value.end + value.end, ); }, @@ -293,7 +311,7 @@ export function parseMarko(file) { file, parser.read(value), value.start, - value.end + value.end, ); }, @@ -302,7 +320,7 @@ export function parseMarko(file) { file, parser.read(value), value.start, - value.end + value.end, ); }, @@ -315,8 +333,8 @@ export function parseMarko(file) { t.booleanLiteral(true), modifier, undefined, - !name - )) + !name, + )), ); currentAttr.start = part.start; @@ -328,7 +346,7 @@ export function parseMarko(file) { file, parser.read(value), value.start, - value.end + value.end, ); currentAttr.end = end; @@ -340,7 +358,7 @@ export function parseMarko(file) { currentAttr.value = parseExpression( file, parser.read(part.value), - part.value.start + part.value.start, ); }, @@ -353,18 +371,18 @@ export function parseMarko(file) { file, parser.read(part.params.value), part.params.value.start, - part.params.value.end + part.params.value.end, ), t.blockStatement( parseStatements( file, parser.read(part.body.value), part.body.value.start, - part.body.value.end - ) - ) + part.body.value.end, + ), + ), ), - part + part, ); }, @@ -373,10 +391,10 @@ export function parseMarko(file) { currentTag.node.attributes.push( withLoc( t.markoSpreadAttribute( - parseExpression(file, parser.read(part.value), part.value.start) + parseExpression(file, parser.read(part.value), part.value.start), ), - part - ) + part, + ), ); }, @@ -392,20 +410,22 @@ export function parseMarko(file) { currentShorthandClassNames.length === 1 ? currentShorthandClassNames[0] : currentShorthandClassNames.every((expr) => - t.isStringLiteral(expr) - ) - ? withLoc( - t.stringLiteral( - currentShorthandClassNames.map((node) => node.value).join(" ") - ), - { - start: currentShorthandClassNames[0].start, - end: currentShorthandClassNames[ - currentShorthandClassNames.length - 1 - ].end, - } - ) - : t.arrayExpression(currentShorthandClassNames); + t.isStringLiteral(expr), + ) + ? withLoc( + t.stringLiteral( + currentShorthandClassNames + .map((node) => node.value) + .join(" "), + ), + { + start: currentShorthandClassNames[0].start, + end: currentShorthandClassNames[ + currentShorthandClassNames.length - 1 + ].end, + }, + ) + : t.arrayExpression(currentShorthandClassNames); for (const attr of attributes) { if (attr.name === "class") { @@ -443,12 +463,12 @@ export function parseMarko(file) { if (attr.name === "id") { throw file.buildCodeFrameError( attr, - "Cannot have shorthand id and id attribute." + "Cannot have shorthand id and id attribute.", ); } } currentTag.node.attributes.push( - t.markoAttribute("id", currentShorthandId) + t.markoAttribute("id", currentShorthandId), ); currentShorthandId = undefined; } diff --git a/packages/compiler/src/babel-types/generator/patch.js b/packages/compiler/src/babel-types/generator/patch.js index 360119a4f..de0a0fa91 100644 --- a/packages/compiler/src/babel-types/generator/patch.js +++ b/packages/compiler/src/babel-types/generator/patch.js @@ -1,18 +1,8 @@ import "../types/patch"; +import Printer from "@babel/generator/lib/printer"; import * as t from "@babel/types"; import SELF_CLOSING from "self-closing-tags"; -import Printer from "@babel/generator/lib/printer"; - -const UNENCLOSED_WHITESPACE_TYPES = [ - "LogicalExpression", - "AssignmentExpression", - "ConditionalExpression", - "BinaryExpression", - "NewExpression", - "Function", - "AssignmentExpression", -]; Object.assign(Printer.prototype, { MarkoParseError(node) { @@ -61,7 +51,10 @@ Object.assign(Printer.prototype, { this.token(`${node.static ? "static" : "$"} `); - if (node.body.length === 1) { + if ( + node.body.length === 1 && + !statementCouldHaveUnenclosedNewline(node.body[0]) + ) { // TODO should determine if node has unenclosed newlines. this.print(node.body[0], node); } else { @@ -171,6 +164,12 @@ Object.assign(Printer.prototype, { this.token(tagName); } + if (node.typeArguments) { + this.token("<"); + this.printList(node.typeArguments.params, node); + this.token(">"); + } + if (node.var) { this.token("/"); this.print(node.var, node); @@ -187,6 +186,14 @@ Object.assign(Printer.prototype, { } if (node.body.params.length) { + if (node.body.typeParameters) { + if (!node.typeArguments) { + this.token(" "); + } + this.token("<"); + this.printList(node.body.typeParameters.params, node); + this.token(">"); + } this.token("|"); this.printList(node.body.params, node); this.token("|"); @@ -228,7 +235,7 @@ function spaceSeparator() { } function printWithParansIfNeeded(value, parent) { - const needsParans = hasUnenclosedWhitespace(value); + const needsParans = expressionCouldHaveUnenclosedWhitespace(value); if (needsParans) { this.token("("); @@ -241,6 +248,25 @@ function printWithParansIfNeeded(value, parent) { } } -function hasUnenclosedWhitespace(node) { - return UNENCLOSED_WHITESPACE_TYPES.includes(node.type); +function expressionCouldHaveUnenclosedWhitespace(node) { + switch (node.type) { + case "AssignmentExpression": + case "BinaryExpression": + case "ConditionalExpression": + case "Function": + case "LogicalExpression": + case "NewExpression": + return true; + default: + return false; + } +} + +function statementCouldHaveUnenclosedNewline(node) { + switch (node.type) { + case "VariableDeclaration": + return node.declarations.length > 1; + default: + return false; + } } diff --git a/packages/compiler/src/babel-types/traverse/patch.js b/packages/compiler/src/babel-types/traverse/patch.js index 1ddfbc941..0dd0a2b57 100644 --- a/packages/compiler/src/babel-types/traverse/patch.js +++ b/packages/compiler/src/babel-types/traverse/patch.js @@ -1,7 +1,7 @@ import "../types/patch"; -import * as t from "@babel/types"; import traverse, { NodePath, Scope } from "@babel/traverse"; +import * as t from "@babel/types"; import { MARKO_ALIAS_TYPES, MARKO_TYPES } from "../types/definitions"; MARKO_TYPES.forEach((typeName) => { @@ -75,7 +75,7 @@ Scope.prototype.crawl = function () { } } }, - }) + }), ); } @@ -95,7 +95,7 @@ Scope.prototype.crawl = function () { if (hoistableBinding) { if (hoistableBinding === true) { throw ref.buildCodeFrameError( - "Ambiguous reference, variable was defined in multiple places and was not shadowed." + "Ambiguous reference, variable was defined in multiple places and was not shadowed.", ); } diff --git a/packages/compiler/src/babel-types/types/definitions.js b/packages/compiler/src/babel-types/types/definitions.js index b1debfd5b..29602227d 100644 --- a/packages/compiler/src/babel-types/types/definitions.js +++ b/packages/compiler/src/babel-types/types/definitions.js @@ -118,7 +118,7 @@ const MarkoDefinitions = { arguments: { validate: chain( assertValueType("array"), - assertEach(assertNodeType("Expression", "SpreadElement")) + assertEach(assertNodeType("Expression", "SpreadElement")), ), optional: true, }, @@ -147,15 +147,19 @@ const MarkoDefinitions = { MarkoTagBody: { aliases: ["Marko", "BlockParent", "Scope"], builder: ["body", "params"], - visitor: ["params", "body"], + visitor: ["typeParameters", "params", "body"], fields: { params: { validate: chain( assertValueType("array"), - assertEach(assertNodeType("Identifier", "Pattern", "RestElement")) + assertEach(assertNodeType("Identifier", "Pattern", "RestElement")), ), default: [], }, + typeParameters: { + validate: assertNodeType("TSTypeParameterDeclaration"), + optional: true, + }, body: { validate: arrayOfType([ "MarkoTag", @@ -173,7 +177,14 @@ const MarkoDefinitions = { MarkoTag: { aliases: ["Marko", "Statement"], builder: ["name", "attributes", "body", "arguments", "var"], - visitor: ["name", "attributes", "body", "arguments", "var"], + visitor: [ + "name", + "typeArguments", + "attributes", + "body", + "arguments", + "var", + ], fields: { name: { validate: assertNodeType("Expression"), @@ -188,10 +199,14 @@ const MarkoDefinitions = { arguments: { validate: chain( assertValueType("array"), - assertEach(assertNodeType("Expression", "SpreadElement")) + assertEach(assertNodeType("Expression", "SpreadElement")), ), optional: true, }, + typeArguments: { + validate: assertNodeType("TSTypeParameterInstantiation"), + optional: true, + }, rawValue: { validate: assertValueType("string"), optional: true, @@ -208,6 +223,6 @@ export default MarkoDefinitions; export const MARKO_TYPES = Object.keys(MarkoDefinitions); export const MARKO_ALIAS_TYPES = Array.from( new Set( - MARKO_TYPES.reduce((all, t) => all.concat(MarkoDefinitions[t].aliases), []) - ) + MARKO_TYPES.reduce((all, t) => all.concat(MarkoDefinitions[t].aliases), []), + ), ); diff --git a/packages/compiler/src/babel-types/types/patch.js b/packages/compiler/src/babel-types/types/patch.js index 6d0af95df..57f91c756 100644 --- a/packages/compiler/src/babel-types/types/patch.js +++ b/packages/compiler/src/babel-types/types/patch.js @@ -1,9 +1,9 @@ /* eslint-disable no-import-assign */ import * as babelTypes from "@babel/types"; import defineType from "@babel/types/lib/definitions/utils"; -import validate from "@babel/types/lib/validators/validate"; import * as generatedValidators from "@babel/types/lib/validators/generated"; import * as referencedValidators from "@babel/types/lib/validators/isReferenced"; +import validate from "@babel/types/lib/validators/validate"; import definitions, { MARKO_ALIAS_TYPES, MARKO_TYPES } from "./definitions"; const { @@ -64,8 +64,8 @@ function assert(typeName, node, opts) { if (!is(typeName, node, opts)) { throw new Error( `Expected type "${typeName}" with option ${JSON.stringify( - opts - )}, but instead got "${node.type}".` + opts, + )}, but instead got "${node.type}".`, ); } } @@ -76,7 +76,7 @@ function builder(type, args) { const countArgs = args.length; if (countArgs > keys.length) { throw new Error( - `${type}: Too many arguments passed. Received ${countArgs} but can receive no more than ${keys.length}` + `${type}: Too many arguments passed. Received ${countArgs} but can receive no more than ${keys.length}`, ); } diff --git a/packages/compiler/src/config.js b/packages/compiler/src/config.js index 5d2997aa7..c733b7000 100644 --- a/packages/compiler/src/config.js +++ b/packages/compiler/src/config.js @@ -136,6 +136,12 @@ const config = { hydrateIncludeImports: /\.(css|less|s[ac]ss|styl|png|jpe?g|gif|svg|ico|webp|avif|mp4|webm|ogg|mp3|wav|flac|aac|woff2?|eot|ttf|otf)$/, + /** + * When compiling in hydrate mode, this option will cause the compiler to + * call the `marko/components.init` function to begin hydrating components. + */ + hydrateInit: true, + /** * Set to true in order to bring in the hot module replacement runtime. */ diff --git a/packages/compiler/src/index.js b/packages/compiler/src/index.js index 4f695582e..f35359593 100644 --- a/packages/compiler/src/index.js +++ b/packages/compiler/src/index.js @@ -1,17 +1,17 @@ export * as types from "./babel-types"; import path from "path"; import * as babel from "@babel/core"; -import cjsPlugin from "@babel/plugin-transform-modules-commonjs"; import tsSyntaxPlugin from "@babel/plugin-syntax-typescript"; +import cjsPlugin from "@babel/plugin-transform-modules-commonjs"; import tsTransformPlugin from "@babel/plugin-transform-typescript"; import { DiagnosticType } from "@marko/babel-utils"; import corePlugin from "./babel-plugin"; import defaultConfig from "./config"; import * as taglib from "./taglib"; -import shouldOptimize from "./util/should-optimize"; -import tryLoadTranslator from "./util/try-load-translator"; import { buildCodeFrameError } from "./util/build-code-frame"; import throwAggregateError from "./util/merge-errors"; +import shouldOptimize from "./util/should-optimize"; +import tryLoadTranslator from "./util/try-load-translator"; export { taglib }; const CWD = process.cwd(); @@ -23,7 +23,7 @@ export function configure(newConfig) { export async function compile(src, filename, config) { const markoConfig = loadMarkoConfig(config); - const babelConfig = loadBabelConfig(filename, markoConfig); + const babelConfig = await loadBabelConfig(filename, markoConfig); const babelResult = await babel.transformAsync(src, babelConfig); scheduleDefaultClear(markoConfig); return buildResult(src, filename, markoConfig.errorRecovery, babelResult); @@ -31,7 +31,7 @@ export async function compile(src, filename, config) { export function compileSync(src, filename, config) { const markoConfig = loadMarkoConfig(config); - const babelConfig = loadBabelConfig(filename, markoConfig); + const babelConfig = loadBabelConfigSync(filename, markoConfig); const babelResult = babel.transformSync(src, babelConfig); scheduleDefaultClear(markoConfig); return buildResult(src, filename, markoConfig.errorRecovery, babelResult); @@ -73,7 +73,21 @@ function loadMarkoConfig(config) { return markoConfig; } -function loadBabelConfig(filename, { babelConfig, ...markoConfig }) { +async function loadBabelConfig(filename, config) { + const baseBabelConfig = getBaseBabelConfig(filename, config); + return isTranslatedOutput(config.output) + ? (await babel.loadPartialConfigAsync(baseBabelConfig)).options + : baseBabelConfig; +} + +function loadBabelConfigSync(filename, config) { + const baseBabelConfig = getBaseBabelConfig(filename, config); + return isTranslatedOutput(config.output) + ? babel.loadPartialConfigSync(baseBabelConfig).options + : baseBabelConfig; +} + +function getBaseBabelConfig(filename, { babelConfig, ...markoConfig }) { const isTranslated = isTranslatedOutput(markoConfig.output); const requiredPlugins = [ [corePlugin, markoConfig], @@ -111,8 +125,6 @@ function loadBabelConfig(filename, { babelConfig, ...markoConfig }) { if (markoConfig.modules === "cjs") { baseBabelConfig.plugins.push([cjsPlugin, { loose: true }]); } - - return babel.loadPartialConfig(baseBabelConfig).options; } return baseBabelConfig; diff --git a/packages/compiler/src/register.js b/packages/compiler/src/register.js index da36e006f..ce7d8a7c5 100644 --- a/packages/compiler/src/register.js +++ b/packages/compiler/src/register.js @@ -1,7 +1,7 @@ "use strict"; -const compiler = require("."); const shouldOptimize = require("./util/should-optimize").default; +const compiler = require("."); const requiredOptions = { modules: "cjs" }; const isDev = !shouldOptimize(); const sourceMaps = new Map(); @@ -35,8 +35,8 @@ function register({ extensions = require.extensions, ...options } = {}) { sourceMaps: isDev ? "both" : false, }, options, - requiredOptions - ) + requiredOptions, + ), ); if (compiled.map) { diff --git a/packages/compiler/src/taglib/finder/index.js b/packages/compiler/src/taglib/finder/index.js index b9547d18f..a755a0b1e 100644 --- a/packages/compiler/src/taglib/finder/index.js +++ b/packages/compiler/src/taglib/finder/index.js @@ -1,9 +1,9 @@ "use strict"; var nodePath = require("path"); +var lassoPackageRoot = require("lasso-package-root"); var resolveFrom = require("resolve-from").silent; var taglibConfig = require("../config"); var taglibLoader = require("../loader"); -var lassoPackageRoot = require("lasso-package-root"); var findCache = {}; var excludedDirs = {}; var excludedPackages = {}; @@ -117,10 +117,10 @@ function find(dirname, registeredTaglibs) { if (!excludedPackages[name]) { let taglibPath = resolveFrom( rootPkg.__dirname, - nodePath.join(name, "marko.json") + nodePath.join(name, "marko.json"), ); if (taglibPath) { - var taglib = taglibLoader.loadTaglibFromFile(taglibPath); + var taglib = taglibLoader.loadTaglibFromFile(taglibPath, true); helper.addTaglib(taglib); } } diff --git a/packages/compiler/src/taglib/index.js b/packages/compiler/src/taglib/index.js index e45798f83..77f27b216 100644 --- a/packages/compiler/src/taglib/index.js +++ b/packages/compiler/src/taglib/index.js @@ -1,15 +1,17 @@ -import loader from "./loader"; -import finder from "./finder"; -import Lookup from "./lookup"; -import taglibConfig from "./config"; +import path from "path"; +import markoModules from "../../modules"; import tryLoadTranslator from "../util/try-load-translator"; +import taglibConfig from "./config"; +import finder from "./finder"; +import loader from "./loader"; +import Lookup from "./lookup"; export const excludeDir = finder.excludeDir; export const excludePackage = finder.excludePackage; import markoHTMLTaglib from "./marko-html.json"; -import markoSVGTaglib from "./marko-svg.json"; import markoMathTaglib from "./marko-math.json"; +import markoSVGTaglib from "./marko-svg.json"; const registeredTaglibs = []; const loadedTranslatorsTaglibs = new Map(); @@ -23,7 +25,7 @@ export function buildLookup(dirname, requestedTranslator, onError) { const translator = tryLoadTranslator(requestedTranslator); if (!translator || !Array.isArray(translator.taglibs)) { throw new Error( - "@marko/compiler: Invalid translator provided to buildLookup(dir, translator)" + "@marko/compiler: Invalid translator provided to buildLookup(dir, translator)", ); } @@ -33,8 +35,8 @@ export function buildLookup(dirname, requestedTranslator, onError) { loadedTranslatorsTaglibs.set( translator, (taglibsForDir = registeredTaglibs.concat( - translator.taglibs.map(([id, props]) => loadTaglib(id, props)) - )) + translator.taglibs.map(([id, props]) => loadTaglib(id, props)), + )), ); } @@ -77,6 +79,22 @@ export function buildLookup(dirname, requestedTranslator, onError) { } export function register(id, props) { + if (typeof props === "undefined") { + switch (id[0]) { + case ".": + case "/": + case "\\": + break; + default: + if (!id.endsWith(".json")) { + id = path.join(id, "marko.json"); + } + break; + } + id = markoModules.require.resolve(id); + props = markoModules.require(id); + } + registeredTaglibs.push(loadTaglib(id, props)); } diff --git a/packages/compiler/src/taglib/loader/Taglib.js b/packages/compiler/src/taglib/loader/Taglib.js index 9a7dd7856..c43113feb 100644 --- a/packages/compiler/src/taglib/loader/Taglib.js +++ b/packages/compiler/src/taglib/loader/Taglib.js @@ -26,9 +26,10 @@ function handleImport(taglib, importedTaglib) { } class Taglib { - constructor(filePath) { + constructor(filePath, isFromPackageJson) { ok(filePath, '"filePath" expected'); this.filePath = this.path /* deprecated */ = this.id = filePath; + this.isFromPackageJson = isFromPackageJson === true; this.dirname = path.dirname(this.filePath); this.scriptLang = undefined; this.tags = {}; @@ -47,7 +48,7 @@ class Taglib { if (!attribute.pattern && !attribute.name) { throw new Error( - "Invalid attribute: " + require("util").inspect(attribute) + "Invalid attribute: " + require("util").inspect(attribute), ); } diff --git a/packages/compiler/src/taglib/loader/index.js b/packages/compiler/src/taglib/loader/index.js index 4fd5a1e89..d84ead2a6 100644 --- a/packages/compiler/src/taglib/loader/index.js +++ b/packages/compiler/src/taglib/loader/index.js @@ -1,15 +1,15 @@ var cache = require("./cache"); -var types = require("./types"); -var loaders = require("./loaders"); var DependencyChain = require("./DependencyChain"); +var loaders = require("./loaders"); +var types = require("./types"); function loadTaglibFromProps(taglib, taglibProps) { return loaders.loadTaglibFromProps(taglib, taglibProps); } -function loadTaglibFromFile(filePath) { - return loaders.loadTaglibFromFile(filePath); +function loadTaglibFromFile(filePath, isFromPackageJson) { + return loaders.loadTaglibFromFile(filePath, isFromPackageJson); } function loadTaglibFromDir(filePath) { @@ -29,7 +29,7 @@ function loadTag(tagProps, filePath) { loaders.loadTagFromProps( tag, tagProps, - new DependencyChain(filePath ? [filePath] : []) + new DependencyChain(filePath ? [filePath] : []), ); return tag; } diff --git a/packages/compiler/src/taglib/loader/json-file-reader.js b/packages/compiler/src/taglib/loader/json-file-reader.js index 82d789c3b..b333ce486 100644 --- a/packages/compiler/src/taglib/loader/json-file-reader.js +++ b/packages/compiler/src/taglib/loader/json-file-reader.js @@ -1,5 +1,5 @@ +var stripJsonComments = require("@luxass/strip-json-comments").strip; var taglibConfig = require("../config"); -var stripJsonComments = require("strip-json-comments"); var fsReadOptions = { encoding: "utf8" }; exports.readFileSync = function (path) { @@ -10,7 +10,7 @@ exports.readFileSync = function (path) { return taglibProps; } catch (e) { throw new Error( - 'Unable to parse JSON file at path "' + path + '". Error: ' + e + 'Unable to parse JSON file at path "' + path + '". Error: ' + e, ); } }; diff --git a/packages/compiler/src/taglib/loader/loadAttributeFromProps.js b/packages/compiler/src/taglib/loader/loadAttributeFromProps.js index 8f0af45eb..c7a60e9ed 100644 --- a/packages/compiler/src/taglib/loader/loadAttributeFromProps.js +++ b/packages/compiler/src/taglib/loader/loadAttributeFromProps.js @@ -2,9 +2,9 @@ var assert = require("assert"); var raptorRegexp = require("raptor-regexp"); +var createError = require("raptor-util/createError"); var propertyHandlers = require("./property-handlers"); var types = require("./types"); -var createError = require("raptor-util/createError"); var hasOwnProperty = Object.prototype.hasOwnProperty; class AttrLoader { @@ -229,7 +229,7 @@ function loadAttributeFromProps(attrName, attrProps, dependencyChain) { dependencyChain + "): " + err, - err + err, ); } diff --git a/packages/compiler/src/taglib/loader/loadAttributes.js b/packages/compiler/src/taglib/loader/loadAttributes.js index 845f487d4..10d7123a7 100644 --- a/packages/compiler/src/taglib/loader/loadAttributes.js +++ b/packages/compiler/src/taglib/loader/loadAttributes.js @@ -10,7 +10,7 @@ module.exports = function loadAttributes(value, parent, dependencyChain) { var attr = loaders.loadAttributeFromProps( attrName, attrProps, - dependencyChain.append("@" + attrName) + dependencyChain.append("@" + attrName), ); parent.addAttribute(attr); diff --git a/packages/compiler/src/taglib/loader/loadTagFromFile.js b/packages/compiler/src/taglib/loader/loadTagFromFile.js index bb63fe217..6c42c4030 100644 --- a/packages/compiler/src/taglib/loader/loadTagFromFile.js +++ b/packages/compiler/src/taglib/loader/loadTagFromFile.js @@ -1,9 +1,8 @@ -var jsonFileReader = require("./json-file-reader"); -var types = require("./types"); -var cache = require("./cache"); -var loaders = require("./loaders"); - var ok = require("assert").ok; +var cache = require("./cache"); +var jsonFileReader = require("./json-file-reader"); +var loaders = require("./loaders"); +var types = require("./types"); function loadTagFromFile(filePath) { ok(filePath, '"filePath" is required'); diff --git a/packages/compiler/src/taglib/loader/loadTagFromProps.js b/packages/compiler/src/taglib/loader/loadTagFromProps.js index 1ff38495a..292741f9c 100644 --- a/packages/compiler/src/taglib/loader/loadTagFromProps.js +++ b/packages/compiler/src/taglib/loader/loadTagFromProps.js @@ -1,21 +1,39 @@ "use strict"; var ok = require("assert").ok; -var resolveFrom = require("resolve-from").silent; -var propertyHandlers = require("./property-handlers"); -var isObjectEmpty = require("raptor-util/isObjectEmpty"); var nodePath = require("path"); var createError = require("raptor-util/createError"); -var taglibConfig = require("../config"); -var types = require("./types"); -var loaders = require("./loaders"); +var isObjectEmpty = require("raptor-util/isObjectEmpty"); +var resolveFrom = require("resolve-from").silent; var markoModules = require("../../../modules"); +var taglibConfig = require("../config"); +var loaders = require("./loaders"); +var propertyHandlers = require("./property-handlers"); +var types = require("./types"); var hasOwnProperty = Object.prototype.hasOwnProperty; function resolveRelative(dirname, value) { return value[0] === "." ? resolveFrom(dirname, value) : value; } +function resolveWithMarkoExt(dirname, value) { + if (value[0] !== ".") return value; + + if ( + markoModules.require.extensions && + !(".marko" in markoModules.require.extensions) + ) { + markoModules.require.extensions[".marko"] = undefined; + try { + return resolveFrom(dirname, value); + } finally { + delete markoModules.require.extensions[".marko"]; + } + } + + return resolveFrom(dirname, value); +} + function removeDashes(str) { return str.replace(/-([a-z])/g, function (match, lower) { return lower.toUpperCase(); @@ -105,14 +123,14 @@ class TagLoader { nestedVariable.nameFromAttribute = value; }, }, - dependencyChain.toString() + dependencyChain.toString(), ); if (!nestedVariable.name && !nestedVariable.nameFromAttribute) { throw new Error( 'The "name" or "name-from-attribute" attribute is required for a nested variable (' + dependencyChain + - ")" + ")", ); } } @@ -203,7 +221,7 @@ class TagLoader { // with the user's taglib. if (!isObjectEmpty(value)) { throw new Error( - "Unsupported properties of [" + Object.keys(value).join(", ") + "]" + "Unsupported properties of [" + Object.keys(value).join(", ") + "]", ); } @@ -240,7 +258,7 @@ class TagLoader { var attr = loaders.loadAttributeFromProps( attrName, attrProps, - dependencyChain.append(part) + dependencyChain.append(part), ); tag.addAttribute(attr); @@ -271,7 +289,7 @@ class TagLoader { let attr = loaders.loadAttributeFromProps( nestedTag.targetProperty, { type: "object" }, - dependencyChain.append(part) + dependencyChain.append(part), ); tag.addAttribute(attr); @@ -300,7 +318,7 @@ class TagLoader { * @param {String} value The renderer path */ renderer(value) { - this.tag.renderer = resolveRelative(this.dirname, value); + this.tag.renderer = resolveWithMarkoExt(this.dirname, value); } /** @@ -349,7 +367,7 @@ class TagLoader { loaders.loadAttributes( value, tag, - this.dependencyChain.append("attributes") + this.dependencyChain.append("attributes"), ); } @@ -474,7 +492,7 @@ class TagLoader { for (const nestedTagName in value) { const nestedTagDef = value[nestedTagName]; var dependencyChain = this.dependencyChain.append( - `nestedTags["${nestedTagName}"]` + `nestedTags["${nestedTagName}"]`, ); var nestedTag = new types.Tag(filePath); @@ -482,16 +500,13 @@ class TagLoader { nestedTag.name = nestedTagName; tag.addNestedTag(nestedTag); - - if (!nestedTag.isRepeated) { - let attr = loaders.loadAttributeFromProps( + tag.addAttribute( + loaders.loadAttributeFromProps( nestedTag.targetProperty, - { type: "object" }, - dependencyChain - ); - - tag.addAttribute(attr); - } + { type: "expression" }, + dependencyChain, + ), + ); } } @@ -556,7 +571,7 @@ function loadTagFromProps(tag, tagProps, dependencyChain) { } catch (err) { throw createError( "Unable to load tag (" + dependencyChain + "): " + err, - err + err, ); } diff --git a/packages/compiler/src/taglib/loader/loadTaglibFromDir.js b/packages/compiler/src/taglib/loader/loadTaglibFromDir.js index 1da1dd142..918f19169 100644 --- a/packages/compiler/src/taglib/loader/loadTaglibFromDir.js +++ b/packages/compiler/src/taglib/loader/loadTaglibFromDir.js @@ -1,10 +1,9 @@ +var ok = require("assert").ok; var nodePath = require("path"); -var types = require("./types"); var cache = require("./cache"); var DependencyChain = require("./DependencyChain"); var scanTagsDir = require("./scanTagsDir"); - -var ok = require("assert").ok; +var types = require("./types"); function loadFromDir(dir) { ok(dir, '"dir" is required'); @@ -22,7 +21,7 @@ function loadFromDir(dir) { dir, "components", taglib, - new DependencyChain([componentsPath]) + new DependencyChain([componentsPath]), ); } diff --git a/packages/compiler/src/taglib/loader/loadTaglibFromFile.js b/packages/compiler/src/taglib/loader/loadTaglibFromFile.js index 657b248f5..79577a6d6 100644 --- a/packages/compiler/src/taglib/loader/loadTaglibFromFile.js +++ b/packages/compiler/src/taglib/loader/loadTaglibFromFile.js @@ -1,11 +1,10 @@ -var jsonFileReader = require("./json-file-reader"); -var types = require("./types"); -var cache = require("./cache"); -var loaders = require("./loaders"); - var ok = require("assert").ok; +var cache = require("./cache"); +var jsonFileReader = require("./json-file-reader"); +var loaders = require("./loaders"); +var types = require("./types"); -function loadFromFile(filePath) { +function loadFromFile(filePath, isFromPackageJson) { ok(filePath, '"filePath" is required'); var taglib = cache.get(filePath); @@ -13,7 +12,7 @@ function loadFromFile(filePath) { // Only load a taglib once by caching the loaded taglibs using the file // system file path as the key if (!taglib) { - taglib = new types.Taglib(filePath); + taglib = new types.Taglib(filePath, isFromPackageJson); cache.put(filePath, taglib); var taglibProps = jsonFileReader.readFileSync(filePath); diff --git a/packages/compiler/src/taglib/loader/loadTaglibFromProps.js b/packages/compiler/src/taglib/loader/loadTaglibFromProps.js index 691070453..109a3812a 100644 --- a/packages/compiler/src/taglib/loader/loadTaglibFromProps.js +++ b/packages/compiler/src/taglib/loader/loadTaglibFromProps.js @@ -1,17 +1,17 @@ "use strict"; var ok = require("assert").ok; -var resolveFrom = require("resolve-from").silent; var nodePath = require("path"); -var types = require("./types"); -var taglibFS = require("../config"); -var scanTagsDir = require("./scanTagsDir"); -var propertyHandlers = require("./property-handlers"); -var jsonFileReader = require("./json-file-reader"); -var DependencyChain = require("./DependencyChain"); var createError = require("raptor-util/createError"); -var loaders = require("./loaders"); +var resolveFrom = require("resolve-from").silent; var markoModules = require("../../../modules"); +var taglibFS = require("../config"); +var DependencyChain = require("./DependencyChain"); +var jsonFileReader = require("./json-file-reader"); +var loaders = require("./loaders"); +var propertyHandlers = require("./property-handlers"); +var scanTagsDir = require("./scanTagsDir"); +var types = require("./types"); var hasOwnProperty = Object.prototype.hasOwnProperty; function resolveRelative(dirname, value) { @@ -44,7 +44,7 @@ class TaglibLoader { constructor(taglib, dependencyChain) { ok( dependencyChain instanceof DependencyChain, - '"dependencyChain" is not valid' + '"dependencyChain" is not valid', ); this.dependencyChain = dependencyChain; @@ -105,7 +105,7 @@ class TaglibLoader { tagFilePath + '" does not exist. (' + dependencyChain + - ")" + ")", ); } @@ -142,7 +142,7 @@ class TaglibLoader { var attr = loaders.loadAttributeFromProps( attrKey, value, - this.dependencyChain.append("@" + attrKey) + this.dependencyChain.append("@" + attrKey), ); attr.filePath = filePath; @@ -176,7 +176,7 @@ class TaglibLoader { var attr = loaders.loadAttributeFromProps( attrName, attrDef, - this.dependencyChain.append("@" + attrName) + this.dependencyChain.append("@" + attrName), ); attr.key = attrName; @@ -205,7 +205,7 @@ class TaglibLoader { this._handleTag( tagName, tags[tagName], - this.dependencyChain.append("tags." + tagName) + this.dependencyChain.append("tags." + tagName), ); } } @@ -237,7 +237,7 @@ class TaglibLoader { dirname, dir[i], taglib, - this.dependencyChain.append(`tags-dir[${i}]`) + this.dependencyChain.append(`tags-dir[${i}]`), ); } } else { @@ -246,12 +246,30 @@ class TaglibLoader { dirname, dir, taglib, - this.dependencyChain.append(`tags-dir`) + this.dependencyChain.append(`tags-dir`), ); } } } + exports(dir) { + var taglib = this.taglib; + var path = this.filePath; + var dirname = this.dirname; + + if (taglib.isFromPackageJson) { + taglib.tagsDir = false; + + scanTagsDir( + path, + dirname, + dir, + taglib, + this.dependencyChain.append(`exports`), + ); + } + } + taglibImports(imports) { // The "taglib-imports" property allows another taglib to be imported // into this taglib so that the tags defined in the imported taglib @@ -282,7 +300,7 @@ class TaglibLoader { importPath = resolveFrom( packageDir, - nodePath.join(dependencyName, "marko.json") + nodePath.join(dependencyName, "marko.json"), ); if (importPath) { @@ -296,7 +314,7 @@ class TaglibLoader { taglib.addImport(importPath); } else { throw new Error( - "Import not found: " + curImport + " (from " + dirname + ")" + "Import not found: " + curImport + " (from " + dirname + ")", ); } } @@ -381,7 +399,7 @@ class TaglibLoader { let attr = loaders.loadAttributeFromProps( attrName, rawAttrDef, - attrGroupDependencyChain.append("@" + attrName) + attrGroupDependencyChain.append("@" + attrName), ); attrGroup[attrName] = attr; @@ -406,7 +424,7 @@ function loadTaglibFromProps(taglib, taglibProps, dependencyChain) { } catch (err) { throw createError( "Unable to load taglib (" + dependencyChain + "): " + err, - err + err, ); } diff --git a/packages/compiler/src/taglib/loader/property-handlers.js b/packages/compiler/src/taglib/loader/property-handlers.js index 89996b106..4f0e22de1 100644 --- a/packages/compiler/src/taglib/loader/property-handlers.js +++ b/packages/compiler/src/taglib/loader/property-handlers.js @@ -57,7 +57,7 @@ module.exports = function invokeHandlers(config, handlers, path) { "Invalid option of " + badProperty + ". Allowed: " + - Object.keys(handlers).join(", ") + Object.keys(handlers).join(", "), ); } diff --git a/packages/compiler/src/taglib/loader/scanTagsDir.js b/packages/compiler/src/taglib/loader/scanTagsDir.js index 3db14ea37..5be3eb0f3 100644 --- a/packages/compiler/src/taglib/loader/scanTagsDir.js +++ b/packages/compiler/src/taglib/loader/scanTagsDir.js @@ -117,7 +117,7 @@ module.exports = function scanTagsDir( tagsConfigDirname, dir, taglib, - dependencyChain + dependencyChain, ) { let prefix; @@ -179,7 +179,7 @@ module.exports = function scanTagsDir( "Invalid tag file: " + tagJsonPath + ". Neither a renderer or a template was found for tag. " + - JSON.stringify(tagDef, null, 2) + JSON.stringify(tagDef, null, 2), ); } else { // Skip this directory... there doesn't appear to be anything in it diff --git a/packages/compiler/src/taglib/lookup/index.js b/packages/compiler/src/taglib/lookup/index.js index 5fc995d1e..05df76e61 100644 --- a/packages/compiler/src/taglib/lookup/index.js +++ b/packages/compiler/src/taglib/lookup/index.js @@ -1,8 +1,8 @@ "use strict"; var ok = require("assert").ok; -var taglibTypes = require("../loader/types"); var extend = require("raptor-util/extend"); +var taglibTypes = require("../loader/types"); var hasOwnProperty = Object.prototype.hasOwnProperty; function TAG_COMPARATOR(a, b) { @@ -27,8 +27,8 @@ function merge(target, source) { target[key] = Array.isArray(targetVal) ? targetVal.concat(sourceVal) : Array.isArray(sourceVal) - ? [targetVal].concat(sourceVal) - : merge(merge(new targetVal.constructor(), targetVal), sourceVal); + ? [targetVal].concat(sourceVal) + : merge(merge(new targetVal.constructor(), targetVal), sourceVal); continue; } } diff --git a/packages/compiler/src/util/build-code-frame.js b/packages/compiler/src/util/build-code-frame.js index 92a8d20d4..0b7adef19 100644 --- a/packages/compiler/src/util/build-code-frame.js +++ b/packages/compiler/src/util/build-code-frame.js @@ -1,6 +1,6 @@ import path from "path"; -import color from "kleur"; import { codeFrameColumns } from "@babel/code-frame"; +import color from "kleur"; const CWD = process.cwd(); const indent = " "; @@ -12,7 +12,7 @@ class CompileError extends Error { this.stack = loc ? `CompileError\n${indent}at ${prettyFileName}\n${prettyMessage.replace( /^/gm, - indent + indent, )}` : `CompileError: ${prettyMessage}\n${indent}at ${prettyFileName}`; @@ -71,7 +71,7 @@ function buildMessage(code, loc, message) { } : undefined, }, - { highlightCode: true, message } + { highlightCode: true, message }, ) : message; } diff --git a/packages/marko/CHANGELOG.md b/packages/marko/CHANGELOG.md index 48f18fe2c..35f33361f 100644 --- a/packages/marko/CHANGELOG.md +++ b/packages/marko/CHANGELOG.md @@ -1,5 +1,257 @@ # Change Log +## 5.32.5 + +### Patch Changes + +- [#2076](https://github.com/marko-js/marko/pull/2076) [`69b3ff5`](https://github.com/marko-js/marko/commit/69b3ff57c829418946e05c13b644a5560f589086) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Upgrade all package deps to latest + +- Updated dependencies [[`69b3ff5`](https://github.com/marko-js/marko/commit/69b3ff57c829418946e05c13b644a5560f589086)]: + - @marko/translator-default@5.31.11 + - @marko/compiler@5.34.4 + +## 5.32.4 + +### Patch Changes + +- [#2074](https://github.com/marko-js/marko/pull/2074) [`bf23c566fac02f4e2991be357a95483663493b3f`](https://github.com/marko-js/marko/commit/bf23c566fac02f4e2991be357a95483663493b3f) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Upgrade package lock and built types. + +- Updated dependencies [[`bf23c566fac02f4e2991be357a95483663493b3f`](https://github.com/marko-js/marko/commit/bf23c566fac02f4e2991be357a95483663493b3f)]: + - @marko/translator-default@5.31.10 + - @marko/compiler@5.34.3 + +## 5.32.3 + +### Patch Changes + +- [#2071](https://github.com/marko-js/marko/pull/2071) [`652b7aa16`](https://github.com/marko-js/marko/commit/652b7aa1608ace877e713ce43486fca1b0a0400b) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix types for onsecuritypolicyviolation native attribute. + +- [#2071](https://github.com/marko-js/marko/pull/2071) [`652b7aa16`](https://github.com/marko-js/marko/commit/652b7aa1608ace877e713ce43486fca1b0a0400b) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix types for tag attribute tags. + +## 5.32.2 + +### Patch Changes + +- [#2069](https://github.com/marko-js/marko/pull/2069) [`977d69078`](https://github.com/marko-js/marko/commit/977d690784f1d97acb3494bb822fa852c1380685) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix issue with printing variable declarations with multiple variables. + +- Updated dependencies [[`977d69078`](https://github.com/marko-js/marko/commit/977d690784f1d97acb3494bb822fa852c1380685)]: + - @marko/translator-default@5.31.9 + - @marko/compiler@5.34.2 + +## 5.32.1 + +### Patch Changes + +- [#2067](https://github.com/marko-js/marko/pull/2067) [`ea859a547`](https://github.com/marko-js/marko/commit/ea859a547972be7a2fde6688890023c5bc85bc16) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Simplify the typings of Marko.NativeTags to work better across typescript versions. + +## 5.32.0 + +### Minor Changes + +- [#2062](https://github.com/marko-js/marko/pull/2062) [`436ace040`](https://github.com/marko-js/marko/commit/436ace040b73d11908911d60c10845b6e99e8eca) Thanks [@LuLaValva](https://github.com/LuLaValva)! - Add "exports" to marko.json + +### Patch Changes + +- Updated dependencies [[`436ace040`](https://github.com/marko-js/marko/commit/436ace040b73d11908911d60c10845b6e99e8eca)]: + - @marko/compiler@5.34.0 + +## 5.31.18 + +### Patch Changes + +- [#2060](https://github.com/marko-js/marko/pull/2060) [`648a94928`](https://github.com/marko-js/marko/commit/648a94928f662b04634a61395d5d48a956a8ff36) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Expose meta data about which child Marko templates were analyzed for a given compilation. + +- Updated dependencies [[`648a94928`](https://github.com/marko-js/marko/commit/648a94928f662b04634a61395d5d48a956a8ff36), [`aed88284b`](https://github.com/marko-js/marko/commit/aed88284b8b3c68965f70b6bdf9412c7100c5df5)]: + - @marko/compiler@5.33.8 + - @marko/translator-default@5.31.8 + +## 5.31.17 + +### Patch Changes + +- [#2056](https://github.com/marko-js/marko/pull/2056) [`84f443d60`](https://github.com/marko-js/marko/commit/84f443d60539cc1b3382c6b16da4061070f97aca) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix issue when the Marko hot-reload runtime is loaded in native esm + +- Updated dependencies [[`84f443d60`](https://github.com/marko-js/marko/commit/84f443d60539cc1b3382c6b16da4061070f97aca)]: + - @marko/translator-default@5.31.7 + - @marko/compiler@5.33.7 + +## 5.31.16 + +### Patch Changes + +- [#2054](https://github.com/marko-js/marko/pull/2054) [`1c5eccadf`](https://github.com/marko-js/marko/commit/1c5eccadf8d968552dbe8756905009107d783718) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix regression with @marko/babel-utils not exposing new parse helpers. + +- Updated dependencies [[`1c5eccadf`](https://github.com/marko-js/marko/commit/1c5eccadf8d968552dbe8756905009107d783718)]: + - @marko/compiler@5.33.6 + - @marko/translator-default@5.31.6 + +## 5.31.15 + +### Patch Changes + +- [#2053](https://github.com/marko-js/marko/pull/2053) [`37b347eb5`](https://github.com/marko-js/marko/commit/37b347eb5e9e2d16badb170a880e2eed5d2892a9) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Improve compatibility of legacy Marko widgets loading a template compiled as esm. + +- Updated dependencies [[`5354d4411`](https://github.com/marko-js/marko/commit/5354d44112c56fcbbd7f44dd3bf91be1e5a7747c)]: + - @marko/translator-default@5.31.5 + - @marko/compiler@5.33.5 + +## 5.31.14 + +### Patch Changes + +- [#2049](https://github.com/marko-js/marko/pull/2049) [`1554b1e1e`](https://github.com/marko-js/marko/commit/1554b1e1e53a75980af0b238cc27bed5ddfa215a) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Allow `template.marko` to act as `index.marko` for backword compat with v4/v3. + +- Updated dependencies [[`1554b1e1e`](https://github.com/marko-js/marko/commit/1554b1e1e53a75980af0b238cc27bed5ddfa215a)]: + - @marko/translator-default@5.31.4 + - @marko/compiler@5.33.4 + +## 5.31.13 + +### Patch Changes + +- [#2046](https://github.com/marko-js/marko/pull/2046) [`b7cefe4c6`](https://github.com/marko-js/marko/commit/b7cefe4c6f000fc01008ac5d75d2054a34f4f574) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Lazily check for global jQuery when patching legacy components. + +## 5.31.12 + +### Patch Changes + +- [#2042](https://github.com/marko-js/marko/pull/2042) [`447104632`](https://github.com/marko-js/marko/commit/44710463258999ad037febef10264e32f3291157) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - When compiling async, prefer using the async babel api for loading babel config files. + +- [#2044](https://github.com/marko-js/marko/pull/2044) [`358fb2d22`](https://github.com/marko-js/marko/commit/358fb2d22e3e7bd7cba5e97f34547ff53c309f62) Thanks [@LuLaValva](https://github.com/LuLaValva)! - fix event handler types + +- [#2043](https://github.com/marko-js/marko/pull/2043) [`f94486b10`](https://github.com/marko-js/marko/commit/f94486b10fb8c7be63551d0aa4cbebdb8d03614b) Thanks [@LuLaValva](https://github.com/LuLaValva)! - Add CSS camelCase properties + +- Updated dependencies [[`447104632`](https://github.com/marko-js/marko/commit/44710463258999ad037febef10264e32f3291157)]: + - @marko/compiler@5.33.3 + +## 5.31.11 + +### Patch Changes + +- [#2040](https://github.com/marko-js/marko/pull/2040) [`a5e3f0461`](https://github.com/marko-js/marko/commit/a5e3f046135bcdd054426974282d4ba870bdb97c) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix compat issue where markoWidgets.defineRenderer was not resolving the default export of a Marko 5 template. + +## 5.31.10 + +### Patch Changes + +- [#2038](https://github.com/marko-js/marko/pull/2038) [`71a227a5f`](https://github.com/marko-js/marko/commit/71a227a5ff8b16c0bb983e082f28280518f712ce) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix issue where using the longhand nested attribute tag syntax in a marko.json with a `target-property` defined was not registering the alias as a known attribute, leading to compile errors. + +- Updated dependencies [[`71a227a5f`](https://github.com/marko-js/marko/commit/71a227a5ff8b16c0bb983e082f28280518f712ce)]: + - @marko/translator-default@5.31.3 + - @marko/compiler@5.33.2 + +## 5.31.9 + +### Patch Changes + +- [#2036](https://github.com/marko-js/marko/pull/2036) [`ea08cc2a9`](https://github.com/marko-js/marko/commit/ea08cc2a9bb494d5735dc0fe69b6aa85cb5ed179) Thanks [@rturnq](https://github.com/rturnq)! - Simplify batching, prevent treeshaking bug + +## 5.31.8 + +### Patch Changes + +- [#2034](https://github.com/marko-js/marko/pull/2034) [`a340023b7`](https://github.com/marko-js/marko/commit/a340023b7ef59f1af9ad80f42ac69138ddd3d216) Thanks [@LuLaValva](https://github.com/LuLaValva)! - docs(concise-mode): add multiline attributes + +## 5.31.7 + +### Patch Changes + +- [#2032](https://github.com/marko-js/marko/pull/2032) [`034f96741`](https://github.com/marko-js/marko/commit/034f967419d840ae7b8a8cead6c657d5cc64b0a6) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Add js file extension to compiled import of the registry runtime. This improves prebundling in Vite. + +- Updated dependencies [[`034f96741`](https://github.com/marko-js/marko/commit/034f967419d840ae7b8a8cead6c657d5cc64b0a6)]: + - @marko/translator-default@5.31.2 + +## 5.31.6 + +### Patch Changes + +- [#2027](https://github.com/marko-js/marko/pull/2027) [`db819d388`](https://github.com/marko-js/marko/commit/db819d388e9419d7354a9639c59faa0cd3518305) Thanks [@mlrawlings](https://github.com/mlrawlings)! - Update Marko 5 Upgrade instructions + +## 5.31.5 + +### Patch Changes + +- [#2024](https://github.com/marko-js/marko/pull/2024) [`085c87387`](https://github.com/marko-js/marko/commit/085c8738701146877958d81f88248cdf67678174) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Avoid using the bare webpack include api to check if a module has already been loaded. + +## 5.31.4 + +### Patch Changes + +- [#2020](https://github.com/marko-js/marko/pull/2020) [`6a4e947b5`](https://github.com/marko-js/marko/commit/6a4e947b5ac9944e61d7871d314a6325a0522d1d) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Ensure .marko files are resolved for legacy renderer taglib configs. + +- Updated dependencies [[`6a4e947b5`](https://github.com/marko-js/marko/commit/6a4e947b5ac9944e61d7871d314a6325a0522d1d)]: + - @marko/compiler@5.33.1 + - @marko/translator-default@5.31.1 + +## 5.31.3 + +### Patch Changes + +- [#2018](https://github.com/marko-js/marko/pull/2018) [`7a22dc3d1`](https://github.com/marko-js/marko/commit/7a22dc3d16b0d9da9abc7b62c9aa917e54738a16) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix loading of legacy components in some test environments. + +## 5.31.2 + +### Patch Changes + +- [#2016](https://github.com/marko-js/marko/pull/2016) [`fb46f0a91`](https://github.com/marko-js/marko/commit/fb46f0a9186a0b437e011b40fecf975eae0b9093) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Optimize preserve-tag implementation to use browser remap again. + +- [#2016](https://github.com/marko-js/marko/pull/2016) [`1b1df3f56`](https://github.com/marko-js/marko/commit/1b1df3f5674e09914bca448f045ff720002c3ae6) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix issue where marko-widger renderers were not bound to the correct "this". + +## 5.31.1 + +### Patch Changes + +- [#2014](https://github.com/marko-js/marko/pull/2014) [`636ae526d`](https://github.com/marko-js/marko/commit/636ae526d7f58fa9fe21b0d9e30beb711258002c) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Avoid bundling load api when using legacy runtime. + +- [#2014](https://github.com/marko-js/marko/pull/2014) [`636ae526d`](https://github.com/marko-js/marko/commit/636ae526d7f58fa9fe21b0d9e30beb711258002c) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Avoid loading legacy Marko compiler api if possible when using load api. + +## 5.31.0 + +### Minor Changes + +- [#2012](https://github.com/marko-js/marko/pull/2012) [`9aede281f`](https://github.com/marko-js/marko/commit/9aede281f95a788df03d607b7d6ca10d9025d39f) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Add compiler option to disable initializing components when outputting hydrate code. + +### Patch Changes + +- [#2012](https://github.com/marko-js/marko/pull/2012) [`17099cd8f`](https://github.com/marko-js/marko/commit/17099cd8ff4ef5868b79f32bdb682fd7393e7139) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Allow skipping output of virtual dependencies by returning a falsey value from the `resolveVirtualDependency` option. + +- [#2012](https://github.com/marko-js/marko/pull/2012) [`ec21e799f`](https://github.com/marko-js/marko/commit/ec21e799f39e74c3d5b0fcfb5839a3954fbc7ad0) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix issue where data (legacy alias of input) was overwritten by assignment but still being migrated. + +- Updated dependencies [[`9aede281f`](https://github.com/marko-js/marko/commit/9aede281f95a788df03d607b7d6ca10d9025d39f), [`17099cd8f`](https://github.com/marko-js/marko/commit/17099cd8ff4ef5868b79f32bdb682fd7393e7139), [`ec21e799f`](https://github.com/marko-js/marko/commit/ec21e799f39e74c3d5b0fcfb5839a3954fbc7ad0), [`6ba268c84`](https://github.com/marko-js/marko/commit/6ba268c841631b3ed36964c8f532e543885ad4f5)]: + - @marko/translator-default@5.31.0 + - @marko/compiler@5.33.0 + +## 5.30.2 + +### Patch Changes + +- [#2010](https://github.com/marko-js/marko/pull/2010) [`c08f940c8`](https://github.com/marko-js/marko/commit/c08f940c8ea73806ed79d35d435b3844fbfb6759) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Improve upgrade guide to reference the new `marko-widgets` and `@marko/compat-v4` modules. + +## 5.30.1 + +### Patch Changes + +- [#2008](https://github.com/marko-js/marko/pull/2008) [`1235cf700`](https://github.com/marko-js/marko/commit/1235cf7005447bdad7a84bacf20d40c7c457c03a) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix regression with static template literal expressions. + +- Updated dependencies [[`1235cf700`](https://github.com/marko-js/marko/commit/1235cf7005447bdad7a84bacf20d40c7c457c03a)]: + - @marko/translator-default@5.30.1 + +## 5.30.0 + +### Minor Changes + +- [#2006](https://github.com/marko-js/marko/pull/2006) [`b2e70bc45`](https://github.com/marko-js/marko/commit/b2e70bc45006a8cccfa61ac99bbca40a71d05fd1) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Add compute node helper to replace babels `evaluate` helper. This helper is less aggressive and doesn't suffer from the false positives that popped up with babels version. + +### Patch Changes + +- [#2005](https://github.com/marko-js/marko/pull/2005) [`4286236b0`](https://github.com/marko-js/marko/commit/4286236b0eaa3cfdbdde02f531d76fcaed3203ee) Thanks [@rturnq](https://github.com/rturnq)! - Handle errors thrown in await catch attribute + +- [#2006](https://github.com/marko-js/marko/pull/2006) [`b2e70bc45`](https://github.com/marko-js/marko/commit/b2e70bc45006a8cccfa61ac99bbca40a71d05fd1) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Avoid adding trailing semicolon to style attribute output. + +- Updated dependencies [[`b2e70bc45`](https://github.com/marko-js/marko/commit/b2e70bc45006a8cccfa61ac99bbca40a71d05fd1), [`b2e70bc45`](https://github.com/marko-js/marko/commit/b2e70bc45006a8cccfa61ac99bbca40a71d05fd1), [`d45962db1`](https://github.com/marko-js/marko/commit/d45962db1def9b025a1d75d98b4c655c0565e3ef)]: + - @marko/translator-default@5.30.0 + - @marko/compiler@5.32.0 + ## 5.29.2 ### Patch Changes @@ -2725,8 +2977,8 @@ Summary of changes across all beta releases for the `4.5.0` release: ```javascript require("marko/node-require").install({ compilerOptions: { - writeToDisk: false - } + writeToDisk: false, + }, }); ``` @@ -3381,9 +3633,9 @@ exports.renderer = function (input, out) { template.render( { - tabs: tabs + tabs: tabs, }, - out + out, ); }; ``` diff --git a/packages/marko/bin/markoc.js b/packages/marko/bin/markoc.js index 53e1d4039..346c6125f 100644 --- a/packages/marko/bin/markoc.js +++ b/packages/marko/bin/markoc.js @@ -5,35 +5,7 @@ var fs = require("fs"); var nodePath = require("path"); var cwd = process.cwd(); -var resolveFrom = require("resolve-from").silent; - -// Try to use the Marko compiler installed with the project -var markoCompilerPath = resolveFrom(process.cwd(), "marko/compiler"); -const markocPkgVersion = require("../package.json").version; - -var markoPkgPath = resolveFrom(process.cwd(), "marko/package.json"); -var markoPkgVersion = markoPkgPath && require(markoPkgPath).version; - -var markoCompiler = markoCompilerPath - ? require(markoCompilerPath) - : require("../compiler"); - -var Minimatch = require("minimatch").Minimatch; - var appModulePath = require("app-module-path"); - -var mmOptions = { - matchBase: true, - dot: true, - flipNegate: true, -}; - -function relPath(path) { - if (path.startsWith(cwd)) { - return path.substring(cwd.length + 1); - } -} - var args = require("argly") .createParser({ "--help": { @@ -94,7 +66,7 @@ var args = require("argly") .example("Compile multiple templates", "$0 template.marko src/ foo/") .example( "Delete all *.marko.js files in the current directory", - "$0 . --clean" + "$0 . --clean", ) .validate(function (result) { if (result.help) { @@ -124,6 +96,31 @@ var args = require("argly") process.exit(1); }) .parse(); +var Minimatch = require("minimatch").Minimatch; +var resolveFrom = require("resolve-from").silent; + +// Try to use the Marko compiler installed with the project +var markoCompilerPath = resolveFrom(process.cwd(), "marko/compiler"); +const markocPkgVersion = require("../package.json").version; + +var markoPkgPath = resolveFrom(process.cwd(), "marko/package.json"); +var markoPkgVersion = markoPkgPath && require(markoPkgPath).version; + +var markoCompiler = markoCompilerPath + ? require(markoCompilerPath) + : require("../compiler"); + +var mmOptions = { + matchBase: true, + dot: true, + flipNegate: true, +}; + +function relPath(path) { + if (path.startsWith(cwd)) { + return path.substring(cwd.length + 1); + } +} var output = "html"; @@ -324,7 +321,7 @@ if (args.clean) { } else { console.log("Deleted " + deleteCount + " file(s)"); } - } + }, ); } else { var found = {}; @@ -345,7 +342,7 @@ if (args.clean) { relPath(path) + "\n Output: " + relPath(outPath) + - "\n" + "\n", ); context.beginAsync(); @@ -356,7 +353,7 @@ if (args.clean) { 'Failed to compile "' + relPath(path) + '". Error: ' + - (err.stack || err) + (err.stack || err), ); context.endAsync(err); return; @@ -367,7 +364,7 @@ if (args.clean) { fs.writeFile(outPath, src, "utf8", function (err) { if (err) { failed.push( - 'Failed to write "' + path + '". Error: ' + (err.stack || err) + 'Failed to write "' + path + '". Error: ' + (err.stack || err), ); context.endAsync(err); return; @@ -384,7 +381,7 @@ if (args.clean) { 'Failed to write sourcemap"' + path + '". Error: ' + - (err.stack || err) + (err.stack || err), ); context.endAsync(err); return; @@ -392,7 +389,7 @@ if (args.clean) { compileCount++; context.endAsync(); - } + }, ); return; @@ -426,7 +423,7 @@ if (args.clean) { if (err) { if (failed.length) { console.error( - "The following errors occurred:\n- " + failed.join("\n- ") + "The following errors occurred:\n- " + failed.join("\n- "), ); } else { console.error(err); @@ -440,7 +437,7 @@ if (args.clean) { } else { console.log("Compiled " + compileCount + " templates(s)"); } - } + }, ); } } diff --git a/packages/marko/docs/10-awesome-marko-features.md b/packages/marko/docs/10-awesome-marko-features.md index 391398f74..ee0b38a44 100644 --- a/packages/marko/docs/10-awesome-marko-features.md +++ b/packages/marko/docs/10-awesome-marko-features.md @@ -261,7 +261,7 @@ http count: 30, colors: ["red", "green", "blue"], }, - res + res, ); }) .listen(8080); diff --git a/packages/marko/docs/class-components.md b/packages/marko/docs/class-components.md index da88940a8..acda52f67 100644 --- a/packages/marko/docs/class-components.md +++ b/packages/marko/docs/class-components.md @@ -782,7 +782,7 @@ Marko uses [`listener-tracker`](https://github.com/patrick-steele-idem/listener- ```js this.subscribeTo(window).on("scroll", () => - console.log("The user scrolled the window!") + console.log("The user scrolled the window!"), ); ``` diff --git a/packages/marko/docs/compiler.md b/packages/marko/docs/compiler.md index 523c682f1..d3c2001a2 100644 --- a/packages/marko/docs/compiler.md +++ b/packages/marko/docs/compiler.md @@ -70,7 +70,7 @@ import * as compiler from "@marko/compiler"; const asyncResult = await compiler.compile( "

Hello!", "./src/index.marko", - { modules: "cjs" } + { modules: "cjs" }, ); const syncResult = compiler.compileSync("

Hello!", "./src/index.marko", { modules: "cjs", @@ -217,7 +217,7 @@ Type: code: string; virtualPath: string; map?: SourceMap; - } + }, ) => string; ``` @@ -296,6 +296,12 @@ import "./baz.wasm"; For `hydrate` output, with the default `hydrateIncludeImports`, would only cause `./foo.css` to be loaded in the browser. +#### `hydrateInit` + +This option is only used for `output: "hydrate"`. It defaults to `true` and causes the hydrate output to include code which tells the Marko runtime to begin hydrating any registered components. + +Setting to false will disable that `init` call and allow you to generate code which _just_ imports any hydrate dependencies for a template. + #### `cache` Type: typeof [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) (specifically, `.get()` is required)
diff --git a/packages/marko/docs/concise.md b/packages/marko/docs/concise.md index 5ec1ced8d..6cda6143c 100644 --- a/packages/marko/docs/concise.md +++ b/packages/marko/docs/concise.md @@ -38,6 +38,28 @@ _output.html_ > **ProTip:** These shorthand attributes are available within the HTML syntax as well +## Attributes on multiple lines + +If a component has lots of attributes, you can spread them across multiple lines by surrounding them with square brackets + +_input.marko_ + +```marko +div [ + id="hello" + class=["class1", "class2", "class3"] + style={ border: "1px solid red" } +] -- hello +``` + +_output.html_ + +```html +
+ hello +
+``` + ## Text Text in concise mode is denoted by two or more dashes (`--`). diff --git a/packages/marko/docs/http.md b/packages/marko/docs/http.md index fbe75c86d..d9543f26f 100644 --- a/packages/marko/docs/http.md +++ b/packages/marko/docs/http.md @@ -19,7 +19,7 @@ server.on("request", (req, res) => { count: 30, colors: ["red", "green", "blue"], }, - res + res, ); }); diff --git a/packages/marko/docs/lasso.md b/packages/marko/docs/lasso.md index 07d59da87..7cb650c52 100644 --- a/packages/marko/docs/lasso.md +++ b/packages/marko/docs/lasso.md @@ -38,7 +38,7 @@ npm install @lasso/marko-taglib After installing, the lasso custom tags can be used in your templates: ```html - + diff --git a/packages/marko/docs/marko-5-upgrade.md b/packages/marko/docs/marko-5-upgrade.md index e7d8c04ba..c94fa8568 100644 --- a/packages/marko/docs/marko-5-upgrade.md +++ b/packages/marko/docs/marko-5-upgrade.md @@ -6,59 +6,106 @@ This means you should complete a step and get it merged back into master fairly If you do decide to pause and later jump in where you left off, be sure to repeat Step 0 first 😉. -## Step 0 - Ensure you're in a working state - -Run your application and tests to ensure your project is in a working state. There's little worse than finding an issue after you've started the upgrade process only to figure out the issue existed beforehand. - -## Step 1 - Upgrade to latest 4.x +## Step 0 - Ensure you're in a working state on the latest version of Marko 4 Before we start, you'll want to make sure that you are already on the latest `4.x` release of `marko`. -``` +```bash +# Upgrade using npm npm install marko@^4 -``` -or - -``` +# Or with yarn yarn upgrade marko@^4 ``` -> Note: Do NOT run `npm install marko` (without the `@^4`). This will put you on Marko 5 and we're not quite there yet. +> **Warning** +> Do _not_ run `npm install marko` (without the `@^4`). This will put you on Marko 5 and we're not quite there yet. -## Step 2 - Deal with deprecations +Run your application and tests to ensure your project is in a working state. There's little worse than finding an issue after you've started the upgrade process only to figure out the issue existed beforehand. -Run your application and tests and ensure that there are no deprecation warnings logged to the console. If there are, you should follow the instructions in the deprecation messages to avoid the deprecated pattern and migrate to the recommended pattern. - -Additionally, any deprecation warnings that start with `MIGRATION` are automatically migratable by [`marko migrate`](https://github.com/marko-js/cli/blob/master/packages/migrate/README.md). Most migrations are 100% safe and will run automatically. However, there are a few migrations which are considered unsafe: they may only get you 90% of the way there. These migrations will prompt and ask if you want to run the migration. It is highly recommended to run these only on a single component at a time and then finish the migration manually using the guide below so that your app is always in a working state. - -## Step 3 - Upgrade dependencies +## Step 1 - Upgrade dependencies Before upgrading to Marko 5, it is recommended to make sure that your Marko-related dependencies are up-to-date. Many packages have versions that support both Marko 4 and Marko 5. If one of your dependencies doesn't have a version that supports both, you'll need to wait to upgrade it until you're upgrading Marko. After upgrading, run your application and tests to ensure that everything is still working as intended. If there are any issues, please refer to the changelogs of the modules you just upgraded to see if you need to make any changes within your app to accommodate the new versions. -## Step 4 - Upgrade marko +## Step 2 - Upgrade Marko Phew! With all the prep out of the way we're finally ready to upgrade `marko`! -``` -npm install marko@^5 +### Install Modules + +Note that some features removed in Marko 4 do not log deprecations since they do not need to be resolved to get up and running with Marko 5. However for Marko 5 to support some of the features removed after Marko 4 you need to install a `compat` module. + +There are currently two `compat` modules you can install, one which supports the `marko-widget`'s api from Marko@3 and one with just the compat needed for Marko@4 components. + +**For apps with `marko-widgets` installed, add the following modules:** + +```bash +# Upgrade using npm +npm install marko@^5 @marko/compiler marko-widgets@^8 + +# Or with yarn +yarn install marko@^5 @marko/compiler marko-widgets@^8 ``` -or +**For apps which were not using the Marko@3 compat layer, add the following modules:** -``` -yarn upgrade marko@^5 +```bash +# Upgrade using npm +npm install marko@^5 @marko/compiler @marko/compat-v4 + +# Or with yarn +yarn install marko@^5 @marko/compiler @marko/compat-v4 ``` -> **Note**: Marko 5 has changed to using ES Modules. This means if you are using CJS modules to `require` a Marko template you will need to use the `.default` property exported. -> -> ```js -> const template = require("./template.marko"); -> // …should become: -> const template = require("./template.marko").default; -> -> // If already using ES Modules, things remain the same: -> import template from "./template.marko"; -> ``` +### App entry updates + +If you're bundling your server code (common with `webpack` setups), your entry will be your bundler config. +Otherwise it's probably something like `index.js` or `server.js` near your project root. + +- Register your compat module globally so that any dependencies also run through the compat layer: + + ```js + require("@marko/compiler").taglib.register("marko-widgets"); + ``` + + > **Note** + > if using `webpack` or `rollup` this line should also be added you your bundler config file + + > **Note** + > if using `jest` you should pass the [`register` option](https://github.com/marko-js/jest#customizing-the-marko-compiler) which requires the latest version of `jest` and `@marko/jest` + +- _If you're using `babel`_, Marko 5 picks up on your babel config which could change behavior. You may want to configure Marko to ignore your babel config: + ```js + require("@marko/compiler").configure({ + babelConfig: { + babelrc: false, + configFile: false, + }, + }); + ``` + If you do this, you'll also want also want to pass the `babelConfig` option to your bundler plugin (`lasso-marko`, `@marko/webpack`, `@marko/rollup`) + +### Submodule updates + +A couple submodules no longer exist in Marko 5: + +- _If you're using the require hook_, replace `marko/node-require`: + ```diff + - require('marko/node-require').install(); + + require('@marko/compiler/register'); + ``` +- _If you're using `browser-refresh`_, including the runtime is no longer necessary: + ```diff + - require('marko/browser-refresh').enable(); + ``` + +## Step 3 - Optional, but recommended: deal with deprecations + +Run your application and tests and ensure that there are no deprecation warnings logged to the console. If there are, you should follow the instructions in the deprecation messages to avoid the deprecated pattern and migrate to the recommended pattern. + +Additionally, any deprecation warnings that start with `MIGRATION` are automatically migratable by [`marko migrate`](https://github.com/marko-js/cli/blob/master/packages/migrate/README.md). Most migrations are 100% safe and will run automatically. However, there are a few migrations which are considered unsafe: they may only get you 90% of the way there. These migrations will prompt and ask if you want to run the migration. It is highly recommended to run these only on a single component at a time and then finish the migration manually using the guide below so that your app is always in a working state. + +> **Note** +> The [TagsAPI](https://dev.to/ryansolid/introducing-the-marko-tags-api-preview-37o4) is becoming stable soon. Deprecations related to `marko-widgets`, might be worth holding off on rather than migrating these widgets to the Class Components API. diff --git a/packages/marko/docs/marko-json.md b/packages/marko/docs/marko-json.md index b6e5ce3d7..ea1905bd0 100644 --- a/packages/marko/docs/marko-json.md +++ b/packages/marko/docs/marko-json.md @@ -131,6 +131,7 @@ Similar to [`marko-tag.json`](#single-component-definition), this file is discov ```js { "taglib-id": "my-custom-tag-library", // Names the component library, for better errors. + "exports": "./dist", // Where to export the compiled components. "tags-dir": "./ui-modules", // What directory to crawl to autodiscover components. Default:`./components/` "taglib-imports": ["./some-folder/marko.json", "./other-folder/marko.json"], // Creates a _combined_ tag library by referencing others. diff --git a/packages/marko/docs/marko-vs-react.md b/packages/marko/docs/marko-vs-react.md index 80c8f8d1b..c4ee93278 100644 --- a/packages/marko/docs/marko-vs-react.md +++ b/packages/marko/docs/marko-vs-react.md @@ -643,7 +643,7 @@ import ReactDOM from "react-dom"; ReactDOM.render( , - document.getElementById("container") + document.getElementById("container"), ); ``` diff --git a/packages/marko/docs/rendering.md b/packages/marko/docs/rendering.md index c7f1fe2d4..e830c92f4 100644 --- a/packages/marko/docs/rendering.md +++ b/packages/marko/docs/rendering.md @@ -258,7 +258,7 @@ app.get("/", (req, res) => { }, }, }, - res + res, ); }); ``` diff --git a/packages/marko/docs/rollup.md b/packages/marko/docs/rollup.md index 874f9d586..6c21c8b12 100644 --- a/packages/marko/docs/rollup.md +++ b/packages/marko/docs/rollup.md @@ -118,7 +118,7 @@ export default (async () => [ }, external: (id) => externalDependencies.some( - (dependency) => id === dependency || id.startsWith(dependency + "/") + (dependency) => id === dependency || id.startsWith(dependency + "/"), ), plugins: [isWatch && runPlugin({ execArgv: ["--enable-source-maps"] })], }), @@ -167,8 +167,8 @@ export default (async () => [ `📊 Bundle visualizer at \x1b[4;36mfile://${path.join( __dirname, "../../", - bundleAnalyzerFilename - )}\x1b[0m` + bundleAnalyzerFilename, + )}\x1b[0m`, ); }, }, @@ -345,7 +345,7 @@ marko.browser({ fileName, // only inline code chunks below 1kB inline: code.trim().length < 1024 && code, - } + }, ); }, }); diff --git a/packages/marko/docs/why-is-marko-fast.md b/packages/marko/docs/why-is-marko-fast.md index 869825086..c2fbd6d76 100644 --- a/packages/marko/docs/why-is-marko-fast.md +++ b/packages/marko/docs/why-is-marko-fast.md @@ -113,7 +113,7 @@ function render(input, out) { }), }, 0, - 4 + 4, ); } ``` diff --git a/packages/marko/index.d.ts b/packages/marko/index.d.ts index 591521e8f..ed4d6277e 100644 --- a/packages/marko/index.d.ts +++ b/packages/marko/index.d.ts @@ -58,11 +58,11 @@ declare global { once(eventName: PropertyKey, listener: (...args: any[]) => any): this; prependListener( eventName: PropertyKey, - listener: (...args: any[]) => any + listener: (...args: any[]) => any, ): this; removeListener( eventName: PropertyKey, - listener: (...args: any[]) => any + listener: (...args: any[]) => any, ): this; /** Register a callback executed when the last async out has completed. */ onLast(listener: (next: () => void) => unknown): this; @@ -84,7 +84,7 @@ declare global { // eslint-disable-next-line @typescript-eslint/no-unused-vars in Params extends readonly any[] = [], // eslint-disable-next-line @typescript-eslint/no-unused-vars - out Return = void + out Return = void, > {} /** Valid data types which can be passed in as a <${dynamic}/> tag name. */ @@ -125,7 +125,7 @@ declare global { * cleaned up once this component is destroyed * */ subscribeTo( - emitter: unknown + emitter: unknown, ): Omit; /** Emits an event on the component instance. */ emit(eventName: PropertyKey, ...args: any[]): boolean; @@ -136,12 +136,12 @@ declare global { /** Listen to an event on the component instance before all other listeners. */ prependListener( eventName: PropertyKey, - listener: (...args: any[]) => any + listener: (...args: any[]) => any, ): this; /** Remove a listener from the component instance. */ removeListener( eventName: PropertyKey, - listener: (...args: any[]) => any + listener: (...args: any[]) => any, ): this; /** Remove all listeners from the component instance. */ removeAllListeners(eventName?: PropertyKey): this; @@ -156,14 +156,14 @@ declare global { /** Gets an element reference by its `key` attribute in the template. */ getEl( key?: string, - index?: number + index?: number, ): T; /** Gets all element references by their `key` attribute in the template. */ getEls(key: string): T; /** Gets a component reference by its `key` attribute in the template. */ getComponent( key: string, - index?: number + index?: number, ): T; /** Gets all component references by their `key` attribute in the template. */ getComponents(key: string): T; @@ -178,14 +178,14 @@ declare global { */ setState( name: Key & keyof this["state"], - value: (this["state"] & Record)[Key] + value: (this["state"] & Record)[Key], ): void; setState(value: Partial): void; /** Schedules an update related to a specific state property and optionally updates the value. */ setStateDirty( name: Key & keyof this["state"], - value?: (this["state"] & Record)[Key] + value?: (this["state"] & Record)[Key], ): void; /** Synchronously flush any scheduled updates. */ update(): void; @@ -238,7 +238,7 @@ declare global { stream?: { write: (chunk: string) => void; end: (chunk?: string) => void; - } + }, ): Marko.Out; /** Asynchronously render the template in buffered mode. */ @@ -246,13 +246,13 @@ declare global { input: Marko.TemplateInput, cb?: ( err: Error | null, - result: Marko.RenderResult - ) => void + result: Marko.RenderResult, + ) => void, ): Marko.Out; /** Synchronously render the template. */ abstract renderSync( - input: Marko.TemplateInput + input: Marko.TemplateInput, ): Marko.RenderResult; /** Synchronously render a template to a string. */ @@ -260,13 +260,13 @@ declare global { /** Render a template and return a stream.Readable in nodejs or a ReadableStream in a web worker environment. */ abstract stream( - input: Marko.TemplateInput + input: Marko.TemplateInput, ): ReadableStream & NodeJS.ReadableStream; /** @marko-overload-end */ } export interface RenderResult< - out Component extends Marko.Component = Marko.Component + out Component extends Marko.Component = Marko.Component, > { /** Returns the component created as a result of rendering the template. */ getComponent(): Component; @@ -307,11 +307,11 @@ declare global { once(eventName: PropertyKey, listener: (...args: any[]) => any): this; prependListener( eventName: PropertyKey, - listener: (...args: any[]) => any + listener: (...args: any[]) => any, ): this; removeListener( eventName: PropertyKey, - listener: (...args: any[]) => any + listener: (...args: any[]) => any, ): this; removeAllListeners(eventName?: PropertyKey): this; } @@ -323,7 +323,7 @@ declare global { export interface NativeTag< Input extends Record, - Return extends Element + Return extends Element, > { input: Input; return: () => Return; @@ -335,37 +335,37 @@ declare global { export type Input = 0 extends 1 & Name ? any : Name extends string - ? Name extends keyof NativeTags - ? NativeTags[Name]["input"] - : Record - : Name extends - | Template - | { _(): () => (input: infer Input) => any } - ? Input - : Name extends Body - ? Args extends { - length: infer Length; - } - ? number extends Length - ? { value?: Args } - : 0 extends Length - ? { value?: [] } - : { value: Args } - : never - : never; + ? Name extends keyof NativeTags + ? NativeTags[Name]["input"] + : Record + : Name extends + | Template + | { _(): () => (input: infer Input) => any } + ? Input + : Name extends Body + ? Args extends { + length: infer Length; + } + ? number extends Length + ? { value?: Args } + : 0 extends Length + ? { value?: [] } + : { value: Args } + : never + : never; export type Return = 0 extends 1 & Name ? any : Name extends string - ? Name extends keyof NativeTags - ? NativeTags[Name]["return"] - : () => Element - : Name extends - | { _(): () => (input: any) => { return: infer Return } } - | Template - | Body - ? Return - : never; + ? Name extends keyof NativeTags + ? NativeTags[Name]["return"] + : () => Element + : Name extends + | { _(): () => (input: any) => { return: infer Return } } + | Template + | Body + ? Return + : never; /** @deprecated @see {@link Marko.Input} */ export type NativeTagInput = diff --git a/packages/marko/legacy-components-browser.marko b/packages/marko/legacy-components-browser.marko new file mode 100644 index 000000000..52f062000 --- /dev/null +++ b/packages/marko/legacy-components-browser.marko @@ -0,0 +1,15 @@ + + +// What's going on here? We are using Marko to do JavaScript code generation +// during the module bundling phase to conditionally export either the +// "src" or the "dist" folder based on whether or not we are doing a +// debug or non-debug build. We are using Marko since we know the Marko compiler +// is enabled already (no extra babel transform required). diff --git a/packages/marko/legacy-components.js b/packages/marko/legacy-components.js new file mode 100644 index 000000000..f3f201d3c --- /dev/null +++ b/packages/marko/legacy-components.js @@ -0,0 +1,7 @@ +var isDebug = require("./env").isDebug; + +if (isDebug) { + module.exports = require("./src/runtime/components/legacy"); +} else { + module.exports = require("./dist/runtime/components/legacy"); +} diff --git a/packages/marko/package.json b/packages/marko/package.json index 710f1ff14..2a2da37be 100644 --- a/packages/marko/package.json +++ b/packages/marko/package.json @@ -1,6 +1,6 @@ { "name": "marko", - "version": "5.29.2", + "version": "5.32.5", "description": "UI Components + streaming, async, high performance, HTML templating for Node.js and the browser.", "keywords": [ "front-end", @@ -35,6 +35,7 @@ "browser": { "./compiler.js": "./compiler-browser.marko", "./components.js": "./components-browser.marko", + "./legacy-components.js": "./legacy-components-browser.marko", "./index.js": "./index-browser.marko" }, "types": "index.d.ts", @@ -50,6 +51,8 @@ "compiler.js", "components-browser.marko", "components.js", + "legacy-components-browser.marko", + "legacy-components.js", "env.js", "index.d.ts", "index-browser.marko", @@ -61,20 +64,20 @@ "build": "babel ./src --out-dir ./dist --delete-dir-on-start --copy-files --config-file ../../babel.config.js --env-name=production" }, "dependencies": { - "@marko/compiler": "^5.30.0", - "@marko/translator-default": "^5.28.0", + "@marko/compiler": "^5.34.4", + "@marko/translator-default": "^5.31.11", "app-module-path": "^2.2.0", "argly": "^1.2.0", "browser-refresh-client": "1.1.4", "complain": "^1.6.0", - "csstype": "^3.1.2", + "csstype": "^3.1.3", "events-light": "^1.0.5", "listener-tracker": "^2.0.0", - "minimatch": "^3.0.4", + "minimatch": "^9.0.3", "raptor-util": "^3.2.0", "resolve-from": "^5.0.0", "self-closing-tags": "^1.0.1", - "warp10": "^2.0.1" + "warp10": "^2.1.0" }, "logo": { "url": "https://raw.githubusercontent.com/marko-js/branding/master/marko-logo-small.png" diff --git a/packages/marko/src/compiler/index.js b/packages/marko/src/compiler/index.js index 7bd1b42e8..b98062b42 100644 --- a/packages/marko/src/compiler/index.js +++ b/packages/marko/src/compiler/index.js @@ -1,12 +1,12 @@ "use strict"; +var ok = require("assert").ok; +var fs = require("fs"); var complain = "MARKO_DEBUG" && require("complain"); var compiler = require("@marko/compiler"); var extend = require("raptor-util/extend"); -var globalConfig = require("./config"); -var ok = require("assert").ok; -var fs = require("fs"); var taglib = require("../taglib"); +var globalConfig = require("./config"); var defaults = extend({}, globalConfig); // eslint-disable-next-line no-constant-condition @@ -16,7 +16,7 @@ if ("MARKO_DEBUG") { require.main.filename !== require.resolve("../../bin/markoc") ) { complain( - "Using `marko/compiler` has been deprecated, please upgrade to the `@marko/compiler` module." + "Using `marko/compiler` has been deprecated, please upgrade to the `@marko/compiler` module.", ); } } @@ -67,7 +67,7 @@ function _compile(src, filename, userConfig, callback) { if (callback) { compiler.compile(src, filename, options).then( (result) => callback(null, resultCompat(result, options)), - (error) => callback(error) + (error) => callback(error), ); } else { return resultCompat(compiler.compileSync(src, filename, options), options); @@ -98,7 +98,7 @@ function compileForBrowser(src, filename, options, callback) { meta: false, sourceOnly: false, }, - options + options, ); return compile(src, filename, options, callback); diff --git a/packages/marko/src/core-tags/components/preserve-tag.js b/packages/marko/src/core-tags/components/preserve-tag.js index edea4c1fe..1b32fffad 100644 --- a/packages/marko/src/core-tags/components/preserve-tag.js +++ b/packages/marko/src/core-tags/components/preserve-tag.js @@ -1,81 +1 @@ -var ComponentsContext = require("../../runtime/components/ComponentsContext"); -var getComponentsContext = ComponentsContext.___getComponentsContext; - -module.exports = function render(input, out) { - var isComponent = !input.n; - var shouldPreserve = !("i" in input) || input.i; - var componentsContext = out.___components; - - if (typeof document === "object") { - var isHydrate = - componentsContext && componentsContext.___globalContext.___isHydrate; - var ownerComponent = out.___assignedComponentDef.___component; - var referenceComponent = ownerComponent; - var key = out.___assignedKey; - var checkKey = key; - - if (key[0] !== "@") { - var parentComponent = componentsContext.___componentDef.___component; - if (ownerComponent !== parentComponent) { - referenceComponent = parentComponent; - checkKey += ":" + ownerComponent.id; - } - } - - var isPreserved = - shouldPreserve && - (isHydrate || referenceComponent.___keyedElements[checkKey]); - - if (isComponent) { - out.bf(key, ownerComponent, shouldPreserve); - - if (!isPreserved && input.renderBody) { - input.renderBody(out); - } - - out.ef(); - } else { - if (isPreserved) { - if (input.b) { - out.___parent.___preserveBody = true; - } else { - out.beginElement("", null, key, ownerComponent); - out.___parent.___preserve = true; - out.endElement(); - } - } else if (input.renderBody) { - input.renderBody(out); - } - } - } else { - if (isComponent) { - out.bf( - out.___assignedKey, - out.___assignedComponentDef.___component, - true - ); - } - - if (input.renderBody) { - if (shouldPreserve) { - var parentPreserved = false; - - if (componentsContext) { - parentPreserved = componentsContext.___isPreserved; - } else { - componentsContext = getComponentsContext(out); - } - - componentsContext.___isPreserved = true; - input.renderBody(out); - componentsContext.___isPreserved = parentPreserved; - } else { - input.renderBody(out); - } - } - - if (isComponent) { - out.ef(); - } - } -}; +module.exports = require("@internal/preserve-tag"); diff --git a/packages/marko/src/core-tags/core/await/AsyncValue.js b/packages/marko/src/core-tags/core/await/AsyncValue.js index 94e350cc2..a12f2b4d8 100644 --- a/packages/marko/src/core-tags/core/await/AsyncValue.js +++ b/packages/marko/src/core-tags/core/await/AsyncValue.js @@ -98,7 +98,7 @@ AsyncValue.prototype = { }, function onRejected(err) { queueMicrotask(asyncValue.___reject.bind(asyncValue, err)); - } + }, ); if (finalPromise.done) { diff --git a/packages/marko/src/core-tags/core/await/client-reorder-runtime.js b/packages/marko/src/core-tags/core/await/client-reorder-runtime.js index 6356dc559..a54e2710c 100644 --- a/packages/marko/src/core-tags/core/await/client-reorder-runtime.js +++ b/packages/marko/src/core-tags/core/await/client-reorder-runtime.js @@ -8,7 +8,7 @@ function $af( childNodes, i, len, - af + af, ) { af = $af; diff --git a/packages/marko/src/core-tags/core/await/index.d.marko b/packages/marko/src/core-tags/core/await/index.d.marko index a5239270e..90fd88c96 100644 --- a/packages/marko/src/core-tags/core/await/index.d.marko +++ b/packages/marko/src/core-tags/core/await/index.d.marko @@ -1,8 +1,8 @@ export interface Input { value: readonly [T]; - then?: { renderBody: Marko.Body<[Awaited]> }; - catch?: { renderBody: Marko.Body<[unknown]> }; - placeholder?: { renderBody: Marko.Body }; + then?: Marko.AttrTag<{ renderBody: Marko.Body<[Awaited]> }>; + catch?: Marko.AttrTag<{ renderBody: Marko.Body<[unknown]> }>; + placeholder?: Marko.AttrTag<{ renderBody: Marko.Body }>; "client-reorder"?: boolean; name?: string; timeout?: number; diff --git a/packages/marko/src/core-tags/core/await/renderer.js b/packages/marko/src/core-tags/core/await/renderer.js index 69bdeb370..89a2e8a2a 100644 --- a/packages/marko/src/core-tags/core/await/renderer.js +++ b/packages/marko/src/core-tags/core/await/renderer.js @@ -18,7 +18,7 @@ function requestData(provider, timeout) { if ("MARKO_DEBUG") { complain( "Passing a callback function to the tag has been deprecated, please use a promise instead.", - { level: 1, locationIndex: 3 } + { level: 1, locationIndex: 3 }, ); } @@ -220,7 +220,11 @@ function renderContents(err, data, input, out) { if (err) { if (input.catch) { if (errorRenderer) { - errorRenderer(out, err); + try { + errorRenderer(out, err); + } catch (err2) { + out.error(err2); + } } } else { out.error(err); diff --git a/packages/marko/src/core-tags/core/await/reorderer-renderer.js b/packages/marko/src/core-tags/core/await/reorderer-renderer.js index be92bb06d..4b8ecedce 100644 --- a/packages/marko/src/core-tags/core/await/reorderer-renderer.js +++ b/packages/marko/src/core-tags/core/await/reorderer-renderer.js @@ -52,7 +52,7 @@ module.exports = function (input, out) { if (!global._afRuntime) { // Minified version of ./client-reorder-runtime.js asyncOut.script( - `function $af(d,a,e,l,g,h,k,b,f,c){c=$af;if(a&&!c[a])(c[a+="$"]||(c[a]=[])).push(d);else{e=document;l=e.getElementById("af"+d);g=e.getElementById("afph"+d);h=e.createDocumentFragment();k=l.childNodes;b=0;for(f=k.length;b' + result.toString() + - "" + "", ); } else { asyncOut.write( @@ -78,7 +78,7 @@ module.exports = function (input, out) { awaitInfo.id + '" style="display:none">' + result.toString() + - "" + "", ); } @@ -88,7 +88,7 @@ module.exports = function (input, out) { ? awaitInfo.id : '"' + awaitInfo.id + '"') + (awaitInfo.after ? ',"' + awaitInfo.after + '"' : "") + - ")" + ")", ); awaitInfo.out.writer = asyncOut.writer; diff --git a/packages/marko/src/node-require/browser-refresh.js b/packages/marko/src/node-require/browser-refresh.js index a9d98f2ad..568954ae8 100644 --- a/packages/marko/src/node-require/browser-refresh.js +++ b/packages/marko/src/node-require/browser-refresh.js @@ -9,7 +9,7 @@ if ("MARKO_DEBUG") { .enableSpecialReload( `${extensions .map((ext) => `*${ext}`) - .join(" ")} marko.json marko-tag.json` + .join(" ")} marko.json marko-tag.json`, ) .onFileModified((path) => { hotReload.handleFileModified(path); diff --git a/packages/marko/src/node-require/hot-reload.js b/packages/marko/src/node-require/hot-reload.js index d51a63c5d..6094e7806 100644 --- a/packages/marko/src/node-require/hot-reload.js +++ b/packages/marko/src/node-require/hot-reload.js @@ -9,7 +9,7 @@ exports.handleFileModified = function (filename) { if (!fs.existsSync(filename)) { console.log( "[marko/hot-reload] WARNING cannot resolve template path: ", - filename + filename, ); return; } @@ -35,7 +35,7 @@ function tryReload(filename) { delete require.cache[filename]; require(filename); console.log( - `[marko] Template successfully reloaded: ${cwdRelative(filename)}` + `[marko] Template successfully reloaded: ${cwdRelative(filename)}`, ); } catch (e) { console.error(e); diff --git a/packages/marko/src/node-require/index.js b/packages/marko/src/node-require/index.js index 3b11c2843..4ef4d8d30 100644 --- a/packages/marko/src/node-require/index.js +++ b/packages/marko/src/node-require/index.js @@ -14,7 +14,7 @@ const MARKO_EXTENSIONS = Symbol("MARKO_EXTENSIONS"); // eslint-disable-next-line no-constant-condition if ("MARKO_DEBUG") { complain( - 'Using "marko/node-require" has been replaced with "@marko/compiler/register".' + 'Using "marko/node-require" has been replaced with "@marko/compiler/register".', ); } @@ -32,8 +32,8 @@ function compile(templatePath, markoCompiler, userCompilerOptions) { {}, defaultCompilerOptions, userCompilerOptions, - requiredCompilerOptions - ) + requiredCompilerOptions, + ), ).code; } diff --git a/packages/marko/src/node_modules/@internal/components-beginComponent/index.js b/packages/marko/src/node_modules/@internal/components-beginComponent/index.js index a73318e77..08090ac5b 100644 --- a/packages/marko/src/node_modules/@internal/components-beginComponent/index.js +++ b/packages/marko/src/node_modules/@internal/components-beginComponent/index.js @@ -4,6 +4,7 @@ const ComponentDef = require("../../../runtime/components/ComponentDef"); var FLAG_WILL_RERENDER_IN_BROWSER = 1; // var FLAG_HAS_RENDER_BODY = 2; +var FLAG_OLD_HYDRATE_NO_CREATE = 8; module.exports = function beginComponent( componentsContext, @@ -11,15 +12,20 @@ module.exports = function beginComponent( key, ownerComponentDef, isSplitComponent, - isImplicitComponent + isImplicitComponent, + existingComponentDef ) { var componentId = component.id; - var componentDef = (componentsContext.___componentDef = new ComponentDef( - component, - componentId, - componentsContext - )); + // existingComponentDef is only here to allow binding a conditional + // widget. It should be removed when the legacy compat layer is removed. + var componentDef = + existingComponentDef || + (componentsContext.___componentDef = new ComponentDef( + component, + componentId, + componentsContext + )); var ownerIsRenderBoundary = ownerComponentDef && ownerComponentDef.___renderBoundary; @@ -54,6 +60,10 @@ module.exports = function beginComponent( componentsContext.___isPreserved = false; } + if (out.global.oldHydrateNoCreate === true) { + componentDef.___flags |= FLAG_OLD_HYDRATE_NO_CREATE; + } + if ((ownerIsRenderBoundary || ownerWillRerender) && key != null) { out.w( "\n"; } diff --git a/packages/marko/test/__util__/patch-module.js b/packages/marko/test/__util__/patch-module.js index 55208380d..e78960319 100644 --- a/packages/marko/test/__util__/patch-module.js +++ b/packages/marko/test/__util__/patch-module.js @@ -1,7 +1,7 @@ var fs = require("fs"); +var Module = require("module").Module; var nodePath = require("path"); -var Module = require("module").Module; var oldResolveFilename = Module._resolveFilename; var isDebug = require("../../env").isDebug; @@ -16,7 +16,7 @@ try { if (fs.existsSync(markoInstalledDir)) { fs.renameSync( markoInstalledDir, - markoInstalledDir.replace("node_modules/marko", "node_modules/~marko") + markoInstalledDir.replace("node_modules/marko", "node_modules/~marko"), ); } } catch (e) { @@ -24,7 +24,7 @@ try { } Module._resolveFilename = function (request, parent, isMain) { - if (request.charAt(0) !== "." && parent.filename.startsWith(rootDir)) { + if (request.charAt(0) !== "." && parent?.filename.startsWith(rootDir)) { if ( request === "marko/components" || request === "marko/env" || diff --git a/packages/marko/test/api-compiler/fixtures/compileFileForBrowser-callback.js/expected.js b/packages/marko/test/api-compiler/fixtures/compileFileForBrowser-callback.js/expected.js index 395e5dc97..4e5da2a6f 100644 --- a/packages/marko/test/api-compiler/fixtures/compileFileForBrowser-callback.js/expected.js +++ b/packages/marko/test/api-compiler/fixtures/compileFileForBrowser-callback.js/expected.js @@ -1 +1 @@ -"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _index = require("marko/src/runtime/vdom/index.js");var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer.js"));var _registry = require("marko/src/runtime/components/registry");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent.js"));const _marko_componentType = "packages/marko/test/api-compiler/fixtures/compileFileForBrowser-callback.js/template.marko",_marko_template = (0, _index.t)(_marko_componentType);var _default = _marko_template;exports.default = _default;(0, _registry.r)(_marko_componentType, () => _marko_template);const _marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) {out.t("Hello ", _component);out.t(input.name, _component);out.t("!", _component);}, { t: _marko_componentType, i: true, d: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file +"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _index = require("marko/src/runtime/vdom/index.js");var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer.js"));var _registry = require("marko/src/runtime/components/registry.js");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent.js"));const _marko_componentType = "packages/marko/test/api-compiler/fixtures/compileFileForBrowser-callback.js/template.marko",_marko_template = (0, _index.t)(_marko_componentType);var _default = exports.default = _marko_template;(0, _registry.r)(_marko_componentType, () => _marko_template);const _marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) {out.t("Hello ", _component);out.t(input.name, _component);out.t("!", _component);}, { t: _marko_componentType, i: true, d: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file diff --git a/packages/marko/test/api-compiler/fixtures/compileFileForBrowser-callback.js/test.js b/packages/marko/test/api-compiler/fixtures/compileFileForBrowser-callback.js/test.js index 7f1aea9f6..12b86dc23 100644 --- a/packages/marko/test/api-compiler/fixtures/compileFileForBrowser-callback.js/test.js +++ b/packages/marko/test/api-compiler/fixtures/compileFileForBrowser-callback.js/test.js @@ -22,6 +22,6 @@ exports.check = function (marko, markoCompiler, expect, snapshot, done) { } catch (err) { done(err); } - } + }, ); }; diff --git a/packages/marko/test/api-compiler/fixtures/compileFileForBrowser.js/expected.js b/packages/marko/test/api-compiler/fixtures/compileFileForBrowser.js/expected.js index 4c3651603..5312667c3 100644 --- a/packages/marko/test/api-compiler/fixtures/compileFileForBrowser.js/expected.js +++ b/packages/marko/test/api-compiler/fixtures/compileFileForBrowser.js/expected.js @@ -1 +1 @@ -"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _index = require("marko/src/runtime/vdom/index.js");var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer.js"));var _registry = require("marko/src/runtime/components/registry");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent.js"));const _marko_componentType = "packages/marko/test/api-compiler/fixtures/compileFileForBrowser.js/template.marko",_marko_template = (0, _index.t)(_marko_componentType);var _default = _marko_template;exports.default = _default;(0, _registry.r)(_marko_componentType, () => _marko_template);const _marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) {out.t("Hello ", _component);out.t(input.name, _component);out.t("!", _component);}, { t: _marko_componentType, i: true, d: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file +"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _index = require("marko/src/runtime/vdom/index.js");var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer.js"));var _registry = require("marko/src/runtime/components/registry.js");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent.js"));const _marko_componentType = "packages/marko/test/api-compiler/fixtures/compileFileForBrowser.js/template.marko",_marko_template = (0, _index.t)(_marko_componentType);var _default = exports.default = _marko_template;(0, _registry.r)(_marko_componentType, () => _marko_template);const _marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) {out.t("Hello ", _component);out.t(input.name, _component);out.t("!", _component);}, { t: _marko_componentType, i: true, d: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file diff --git a/packages/marko/test/api-compiler/fixtures/compileForBrowser-callback.js/expected.js b/packages/marko/test/api-compiler/fixtures/compileForBrowser-callback.js/expected.js index a9ab9821e..b70c4ea4d 100644 --- a/packages/marko/test/api-compiler/fixtures/compileForBrowser-callback.js/expected.js +++ b/packages/marko/test/api-compiler/fixtures/compileForBrowser-callback.js/expected.js @@ -1 +1 @@ -"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _index = require("marko/src/runtime/vdom/index.js");var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer.js"));var _registry = require("marko/src/runtime/components/registry");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent.js"));const _marko_componentType = "packages/marko/test/api-compiler/fixtures/compileForBrowser-callback.js/template.marko",_marko_template = (0, _index.t)(_marko_componentType);var _default = _marko_template;exports.default = _default;(0, _registry.r)(_marko_componentType, () => _marko_template);const _marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) {out.t("Hello ", _component);out.t(input.name, _component);out.t("!", _component);}, { t: _marko_componentType, i: true, d: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file +"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _index = require("marko/src/runtime/vdom/index.js");var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer.js"));var _registry = require("marko/src/runtime/components/registry.js");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent.js"));const _marko_componentType = "packages/marko/test/api-compiler/fixtures/compileForBrowser-callback.js/template.marko",_marko_template = (0, _index.t)(_marko_componentType);var _default = exports.default = _marko_template;(0, _registry.r)(_marko_componentType, () => _marko_template);const _marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) {out.t("Hello ", _component);out.t(input.name, _component);out.t("!", _component);}, { t: _marko_componentType, i: true, d: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file diff --git a/packages/marko/test/api-compiler/fixtures/compileForBrowser-callback.js/test.js b/packages/marko/test/api-compiler/fixtures/compileForBrowser-callback.js/test.js index 52400e999..bc6c4b0e8 100644 --- a/packages/marko/test/api-compiler/fixtures/compileForBrowser-callback.js/test.js +++ b/packages/marko/test/api-compiler/fixtures/compileForBrowser-callback.js/test.js @@ -26,6 +26,6 @@ exports.check = function (marko, markoCompiler, expect, snapshot, done) { } catch (err) { done(err); } - } + }, ); }; diff --git a/packages/marko/test/api-compiler/fixtures/compileForBrowser.js/expected.js b/packages/marko/test/api-compiler/fixtures/compileForBrowser.js/expected.js index 11470bb9b..8c2ff8878 100644 --- a/packages/marko/test/api-compiler/fixtures/compileForBrowser.js/expected.js +++ b/packages/marko/test/api-compiler/fixtures/compileForBrowser.js/expected.js @@ -1 +1 @@ -"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _index = require("marko/src/runtime/vdom/index.js");var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer.js"));var _registry = require("marko/src/runtime/components/registry");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent.js"));const _marko_componentType = "packages/marko/test/api-compiler/fixtures/compileForBrowser.js/template.marko",_marko_template = (0, _index.t)(_marko_componentType);var _default = _marko_template;exports.default = _default;(0, _registry.r)(_marko_componentType, () => _marko_template);const _marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) {out.t("Hello ", _component);out.t(input.name, _component);out.t("!", _component);}, { t: _marko_componentType, i: true, d: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file +"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _index = require("marko/src/runtime/vdom/index.js");var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer.js"));var _registry = require("marko/src/runtime/components/registry.js");var _defineComponent = _interopRequireDefault(require("marko/src/runtime/components/defineComponent.js"));const _marko_componentType = "packages/marko/test/api-compiler/fixtures/compileForBrowser.js/template.marko",_marko_template = (0, _index.t)(_marko_componentType);var _default = exports.default = _marko_template;(0, _registry.r)(_marko_componentType, () => _marko_template);const _marko_component = {};_marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) {out.t("Hello ", _component);out.t(input.name, _component);out.t("!", _component);}, { t: _marko_componentType, i: true, d: true }, _marko_component);_marko_template.Component = (0, _defineComponent.default)(_marko_component, _marko_template._); \ No newline at end of file diff --git a/packages/marko/test/api-compiler/index.test.js b/packages/marko/test/api-compiler/index.test.js index 4c385fff4..086297c96 100644 --- a/packages/marko/test/api-compiler/index.test.js +++ b/packages/marko/test/api-compiler/index.test.js @@ -20,7 +20,7 @@ autotest("fixtures", (fixture) => { markoCompiler, expect, snapshot, - done + done, ); }); }); diff --git a/packages/marko/test/api/fixtures/load-render-callback/test.js b/packages/marko/test/api/fixtures/load-render-callback/test.js index 382ae65b1..1c42836ae 100644 --- a/packages/marko/test/api/fixtures/load-render-callback/test.js +++ b/packages/marko/test/api/fixtures/load-render-callback/test.js @@ -13,6 +13,6 @@ exports.check = function (marko, markoCompiler, expect, snapshot, done) { snapshot(html); done(); - } + }, ); }; diff --git a/packages/marko/test/api/fixtures/no-write-to-disk-load/test.js b/packages/marko/test/api/fixtures/no-write-to-disk-load/test.js index 52a855bcd..f8a67349f 100644 --- a/packages/marko/test/api/fixtures/no-write-to-disk-load/test.js +++ b/packages/marko/test/api/fixtures/no-write-to-disk-load/test.js @@ -1,5 +1,5 @@ -var nodePath = require("path"); var fs = require("fs"); +var nodePath = require("path"); exports.check = function (marko, markoCompiler, expect, snapshot, done) { markoCompiler.defaultOptions.writeToDisk = false; diff --git a/packages/marko/test/api/fixtures/no-write-to-disk-require/test.js b/packages/marko/test/api/fixtures/no-write-to-disk-require/test.js index 116f668b8..05171ef01 100644 --- a/packages/marko/test/api/fixtures/no-write-to-disk-require/test.js +++ b/packages/marko/test/api/fixtures/no-write-to-disk-require/test.js @@ -1,5 +1,5 @@ -var nodePath = require("path"); var fs = require("fs"); +var nodePath = require("path"); exports.check = function (marko, markoCompiler, expect, snapshot, done) { markoCompiler.defaultOptions.writeToDisk = false; diff --git a/packages/marko/test/api/fixtures/render-await-client-reorder-unhandled-rejected-promise/test.js b/packages/marko/test/api/fixtures/render-await-client-reorder-unhandled-rejected-promise/test.js index 12ef28726..2077df8f8 100644 --- a/packages/marko/test/api/fixtures/render-await-client-reorder-unhandled-rejected-promise/test.js +++ b/packages/marko/test/api/fixtures/render-await-client-reorder-unhandled-rejected-promise/test.js @@ -10,12 +10,12 @@ exports.check = function (marko, markoCompiler, expect, snapshot, done) { { userPromise: promiseProvider(1, new Error("User Promise Rejected Error")), }, - out + out, ); out.on("error", (err) => { expect(err.message.indexOf("User Promise Rejected Error") !== -1).to.equal( - true + true, ); done(); }); diff --git a/packages/marko/test/api/fixtures/render-writable-stream-global-data/test.js b/packages/marko/test/api/fixtures/render-writable-stream-global-data/test.js index 16a47b4bd..ef6030b4d 100644 --- a/packages/marko/test/api/fixtures/render-writable-stream-global-data/test.js +++ b/packages/marko/test/api/fixtures/render-writable-stream-global-data/test.js @@ -24,6 +24,6 @@ exports.check = function (marko, markoCompiler, expect, snapshot, done) { foo: "bar", }, }, - stream + stream, ); }; diff --git a/packages/marko/test/api/fixtures/require-compiled-template/test.js b/packages/marko/test/api/fixtures/require-compiled-template/test.js index fe62fe6a7..3070853a0 100644 --- a/packages/marko/test/api/fixtures/require-compiled-template/test.js +++ b/packages/marko/test/api/fixtures/require-compiled-template/test.js @@ -16,6 +16,6 @@ exports.check = function (marko, markoCompiler, expect, snapshot, done) { snapshot(result.toString()); done(); - } + }, ); }; diff --git a/packages/marko/test/api/fixtures/require-render-callback/test.js b/packages/marko/test/api/fixtures/require-render-callback/test.js index 0fb919c06..036da8bc6 100644 --- a/packages/marko/test/api/fixtures/require-render-callback/test.js +++ b/packages/marko/test/api/fixtures/require-render-callback/test.js @@ -14,6 +14,6 @@ exports.check = function (marko, markoCompiler, expect, snapshot, done) { snapshot(result.toString()); done(); - } + }, ); }; diff --git a/packages/marko/test/api/index.test.js b/packages/marko/test/api/index.test.js index 0f1541ebe..715478a19 100644 --- a/packages/marko/test/api/index.test.js +++ b/packages/marko/test/api/index.test.js @@ -21,7 +21,7 @@ autotest("fixtures", (fixture) => { markoCompiler, expect, snapshot, - done + done, ); }); }); diff --git a/packages/marko/test/async-stream/index.test.js b/packages/marko/test/async-stream/index.test.js index e64c3e19b..e533871ef 100644 --- a/packages/marko/test/async-stream/index.test.js +++ b/packages/marko/test/async-stream/index.test.js @@ -1,12 +1,12 @@ "use strict"; require("../__util__/test-init"); +var fs = require("fs"); +var nodePath = require("path"); var chai = require("chai"); chai.config.includeStack = true; -var expect = require("chai").expect; -var nodePath = require("path"); -var fs = require("fs"); +var expect = chai.expect; var fsReadOptions = { encoding: "utf8" }; var AsyncStream = require("marko/runtime/html/AsyncStream"); @@ -328,14 +328,12 @@ describe("AsyncStream", function () { it("should support writing to a through2 stream", function (done) { var output = ""; - var through2 = require("through2")(function write( - data, - encoding, - callback - ) { - output += data; - callback(null, data); - }); + var through2 = require("through2")( + function write(data, encoding, callback) { + output += data; + callback(null, data); + }, + ); var errors = []; var out = createAsyncStream(through2) @@ -423,7 +421,7 @@ describe("AsyncStream", function () { var helloReadStream = fs.createReadStream( nodePath.join(__dirname, "fixtures/hello.txt"), - fsReadOptions + fsReadOptions, ); helloReadStream.pipe(asyncOut); @@ -455,7 +453,7 @@ describe("AsyncStream", function () { var helloReadStream = fs.createReadStream( nodePath.join(__dirname, "fixtures/hello.txt"), - fsReadOptions + fsReadOptions, ); helloReadStream.pipe(asyncOut); diff --git a/packages/marko/test/async-vdom-builder/index.test.js b/packages/marko/test/async-vdom-builder/index.test.js index 2832e76a2..a43d42f3a 100644 --- a/packages/marko/test/async-vdom-builder/index.test.js +++ b/packages/marko/test/async-vdom-builder/index.test.js @@ -1,7 +1,7 @@ require("../__util__/test-init"); +var expect = require("chai").expect; var AsyncVDOMBuilder = require("marko/runtime/vdom/AsyncVDOMBuilder"); var VElement = require("marko/runtime/vdom/VElement"); -var expect = require("chai").expect; function getChildNodes(parentNode) { var childNodes = []; @@ -51,7 +51,7 @@ describe("AsyncVDOMBuilder", function () { expect(tree.___firstChild.___nodeName).to.equal("div"); expect(tree.___firstChild.___nextSibling.___nodeName).to.equal("span"); expect( - tree.___firstChild.___nextSibling.___nextSibling.___nodeName + tree.___firstChild.___nextSibling.___nextSibling.___nodeName, ).to.equal("section"); done(); }); diff --git a/packages/marko/test/components-browser/fixtures/append-prepend/test.js b/packages/marko/test/components-browser/fixtures/append-prepend/test.js index fe356d3ac..864284e09 100644 --- a/packages/marko/test/components-browser/fixtures/append-prepend/test.js +++ b/packages/marko/test/components-browser/fixtures/append-prepend/test.js @@ -10,6 +10,6 @@ module.exports = function (helpers) { hello.renderSync({ value: "before" }).prependTo(renderTarget); hello.renderSync({ value: "after" }).appendTo(renderTarget); expect(renderTarget.innerHTML).to.equal( - "
Hello before
ref
Hello after
" + "
Hello before
ref
Hello after
", ); }; diff --git a/packages/marko/test/components-browser/fixtures/component-destroy-unsubscribe-custom-events/test.js b/packages/marko/test/components-browser/fixtures/component-destroy-unsubscribe-custom-events/test.js index 58c3bc4ca..166b13a22 100644 --- a/packages/marko/test/components-browser/fixtures/component-destroy-unsubscribe-custom-events/test.js +++ b/packages/marko/test/components-browser/fixtures/component-destroy-unsubscribe-custom-events/test.js @@ -4,7 +4,7 @@ module.exports = function (helpers) { var component = helpers.mount(require.resolve("./index"), {}); var customEventsComponent = helpers.mount( require.resolve("./components/app-custom-events"), - {} + {}, ); var receivedEvents = []; diff --git a/packages/marko/test/components-browser/fixtures/component-dom-events/test.js b/packages/marko/test/components-browser/fixtures/component-dom-events/test.js index ddd84bacf..ab454ad59 100644 --- a/packages/marko/test/components-browser/fixtures/component-dom-events/test.js +++ b/packages/marko/test/components-browser/fixtures/component-dom-events/test.js @@ -16,7 +16,7 @@ module.exports = function (helpers) { component.clearLog(); helpers.triggerMouseEvent( component.getEl("button").firstElementChild, - "click" + "click", ); expect(component.logOutput).to.deep.equal(["button:click", "el:click"]); @@ -27,7 +27,7 @@ module.exports = function (helpers) { component.clearLog(); helpers.triggerMouseEvent( component.getEl("button").firstElementChild, - "mousemove" + "mousemove", ); expect(component.logOutput).to.deep.equal([ "button>span:mousemove", diff --git a/packages/marko/test/components-browser/fixtures/component-preserve-all-state-when-rendered-in-loop/test.js b/packages/marko/test/components-browser/fixtures/component-preserve-all-state-when-rendered-in-loop/test.js index 15f95af66..47727097b 100644 --- a/packages/marko/test/components-browser/fixtures/component-preserve-all-state-when-rendered-in-loop/test.js +++ b/packages/marko/test/components-browser/fixtures/component-preserve-all-state-when-rendered-in-loop/test.js @@ -47,16 +47,16 @@ module.exports = function (helpers) { var fullPath = path + " " + key; expect( lookupA[key].el === lookupB[key].el, - 'unpreserved element "' + fullPath + '"' + 'unpreserved element "' + fullPath + '"', ).to.equal(true); expect( lookupA[key].component === lookupB[key].component, - 'unpreserved component "' + fullPath + '"' + 'unpreserved component "' + fullPath + '"', ).to.equal(true); ensurePreservedKeys( lookupA[key].children, lookupB[key].children, - fullPath + fullPath, ); } } diff --git a/packages/marko/test/components-browser/fixtures/component-preserve-all-state-when-rerendered-setTimeout/test.js b/packages/marko/test/components-browser/fixtures/component-preserve-all-state-when-rerendered-setTimeout/test.js index 403bd2e74..4b72a98bd 100644 --- a/packages/marko/test/components-browser/fixtures/component-preserve-all-state-when-rerendered-setTimeout/test.js +++ b/packages/marko/test/components-browser/fixtures/component-preserve-all-state-when-rerendered-setTimeout/test.js @@ -13,7 +13,7 @@ module.exports = function (helpers, done) { component.update(); expect(component.state.count).to.equal(100); expect(targetEl.innerHTML).to.contain( - "Hello Frank! You have 100 new messages." + "Hello Frank! You have 100 new messages.", ); }, 100); @@ -22,7 +22,7 @@ module.exports = function (helpers, done) { component.update(); expect(component.state.count).to.equal(200); expect(targetEl.innerHTML).to.contain( - "Hello Frank! You have 200 new messages." + "Hello Frank! You have 200 new messages.", ); done(); }, 200); @@ -32,7 +32,7 @@ module.exports = function (helpers, done) { component.update(); expect(component.state.count).to.equal(1); expect(targetEl.innerHTML).to.contain( - "Hello Frank! You have 1 new messages." + "Hello Frank! You have 1 new messages.", ); }, 1); }; diff --git a/packages/marko/test/components-browser/fixtures/component-preserve-all-state-when-rerendered/test.js b/packages/marko/test/components-browser/fixtures/component-preserve-all-state-when-rerendered/test.js index bcb3ba2bc..f329ce440 100644 --- a/packages/marko/test/components-browser/fixtures/component-preserve-all-state-when-rerendered/test.js +++ b/packages/marko/test/components-browser/fixtures/component-preserve-all-state-when-rerendered/test.js @@ -9,7 +9,7 @@ module.exports = function (helpers) { var targetEl = component.el; expect(targetEl.innerHTML).to.contain( - "Hello Frank! You have 30 new messages." + "Hello Frank! You have 30 new messages.", ); expect(targetEl.innerHTML).to.contain("foo: bar"); expect(targetEl.innerHTML).to.contain("hello: world"); @@ -20,7 +20,7 @@ module.exports = function (helpers) { component.update(); expect(targetEl.innerHTML).to.contain( - "Hello John! You have 30 new messages." + "Hello John! You have 30 new messages.", ); expect(targetEl.innerHTML).to.contain("foo: bar"); expect(targetEl.innerHTML).to.contain("hello: world"); diff --git a/packages/marko/test/components-browser/fixtures/component-preserve-dom-if/test.js b/packages/marko/test/components-browser/fixtures/component-preserve-dom-if/test.js index 89a88455d..3ebb407cf 100644 --- a/packages/marko/test/components-browser/fixtures/component-preserve-dom-if/test.js +++ b/packages/marko/test/components-browser/fixtures/component-preserve-dom-if/test.js @@ -22,7 +22,7 @@ module.exports = function (helpers) { preserveBodyClassBody: component.el.querySelector(".preserve-body").innerHTML, componentClass: require("marko/components").getComponentForEl( - component.el.querySelector(".component-no-id") + component.el.querySelector(".component-no-id"), ).state.name, }; } diff --git a/packages/marko/test/components-browser/fixtures/component-render-to-iframe/component.js b/packages/marko/test/components-browser/fixtures/component-render-to-iframe/component.js index d171435d5..3516fdb3c 100644 --- a/packages/marko/test/components-browser/fixtures/component-render-to-iframe/component.js +++ b/packages/marko/test/components-browser/fixtures/component-render-to-iframe/component.js @@ -13,7 +13,7 @@ module.exports = { test: function (helpers) { var contentComponent = this.renderIntoIframe(); expect(contentComponent.el.ownerDocument).to.equal( - this.getEl("frame").contentWindow.document + this.getEl("frame").contentWindow.document, ); expect(contentComponent.getEl("input").value).to.equal("test"); expect(contentComponent.getComponent("more").getValue()).to.equal("hello"); diff --git a/packages/marko/test/components-browser/fixtures/component-renderToString-callback-sync/component.js b/packages/marko/test/components-browser/fixtures/component-renderToString-callback-sync/component.js index 65de13e86..e8757450a 100644 --- a/packages/marko/test/components-browser/fixtures/component-renderToString-callback-sync/component.js +++ b/packages/marko/test/components-browser/fixtures/component-renderToString-callback-sync/component.js @@ -13,7 +13,7 @@ module.exports = { } else { self.emit("html", html); } - } + }, ); }, }; diff --git a/packages/marko/test/components-browser/fixtures/component-renderToString/test.js b/packages/marko/test/components-browser/fixtures/component-renderToString/test.js index 1333f45b0..cc1923984 100644 --- a/packages/marko/test/components-browser/fixtures/component-renderToString/test.js +++ b/packages/marko/test/components-browser/fixtures/component-renderToString/test.js @@ -6,6 +6,6 @@ module.exports = function (helpers) { }); expect(component.renderedHtml).to.equal( - '
john
' + '
john
', ); }; diff --git a/packages/marko/test/components-browser/fixtures/component-rerender-stateless-new-props/test.js b/packages/marko/test/components-browser/fixtures/component-rerender-stateless-new-props/test.js index 826fb767f..057730392 100644 --- a/packages/marko/test/components-browser/fixtures/component-rerender-stateless-new-props/test.js +++ b/packages/marko/test/components-browser/fixtures/component-rerender-stateless-new-props/test.js @@ -9,7 +9,7 @@ module.exports = function (helpers) { }); expect(targetEl.innerHTML).to.contain( - "Hello Frank! You have 10 new messages." + "Hello Frank! You have 10 new messages.", ); component.input = { @@ -20,7 +20,7 @@ module.exports = function (helpers) { component.update(); expect(targetEl.innerHTML).to.contain( - "Hello John! You have 20 new messages." + "Hello John! You have 20 new messages.", ); component.input = { @@ -29,12 +29,12 @@ module.exports = function (helpers) { }; expect(targetEl.innerHTML).to.contain( - "Hello John! You have 20 new messages." + "Hello John! You have 20 new messages.", ); component.update(); expect(targetEl.innerHTML).to.contain( - "Hello Jane! You have 30 new messages." + "Hello Jane! You have 30 new messages.", ); }; diff --git a/packages/marko/test/components-browser/fixtures/component-transclusion/test.js b/packages/marko/test/components-browser/fixtures/component-transclusion/test.js index aa5996b2e..96dde1ea1 100644 --- a/packages/marko/test/components-browser/fixtures/component-transclusion/test.js +++ b/packages/marko/test/components-browser/fixtures/component-transclusion/test.js @@ -15,7 +15,7 @@ module.exports = function (helpers) { expect(el.querySelector("h1").innerHTML).to.equal(originalH1Html); expect(el.querySelector("h1").innerHTML).to.contain("success"); expect(el.querySelector(".alert").className).to.contain( - "alert alert-success" + "alert alert-success", ); // The inner HTML for the H1 should change since the state of the alert component changed @@ -25,6 +25,6 @@ module.exports = function (helpers) { expect(el.querySelector("h1").innerHTML).to.not.equal(originalH1Html); expect(el.querySelector("h1").innerHTML).to.contain("failure"); expect(el.querySelector(".alert").className).to.contain( - "alert alert-failure" + "alert alert-failure", ); }; diff --git a/packages/marko/test/components-browser/fixtures/component-update-batch-not-empty/components/counter.marko b/packages/marko/test/components-browser/fixtures/component-update-batch-not-empty/components/counter.marko new file mode 100644 index 000000000..b04b56bd2 --- /dev/null +++ b/packages/marko/test/components-browser/fixtures/component-update-batch-not-empty/components/counter.marko @@ -0,0 +1,15 @@ +class { + onCreate(input) { + this.state = { + count: 0 + } + } + handleClick() { + this.state.count++; + this.once('update', () => { + this.emit('change', this.state.count); + }); + } +} + + \ No newline at end of file diff --git a/packages/marko/test/components-browser/fixtures/component-update-batch-not-empty/index.marko b/packages/marko/test/components-browser/fixtures/component-update-batch-not-empty/index.marko new file mode 100644 index 000000000..01ee5d791 --- /dev/null +++ b/packages/marko/test/components-browser/fixtures/component-update-batch-not-empty/index.marko @@ -0,0 +1,13 @@ +class { + onCreate() { + this.state = { + count: 0 + } + } + handleCountChange(value) { + this.state.count = value + } +} + + +
${state.count}
\ No newline at end of file diff --git a/packages/marko/test/components-browser/fixtures/component-update-batch-not-empty/test.js b/packages/marko/test/components-browser/fixtures/component-update-batch-not-empty/test.js new file mode 100644 index 000000000..6a53ba3af --- /dev/null +++ b/packages/marko/test/components-browser/fixtures/component-update-batch-not-empty/test.js @@ -0,0 +1,17 @@ +var expect = require("chai").expect; + +module.exports = function (helpers, done) { + var component = helpers.mount(require.resolve("./index"), {}); + var counter = component.getComponent("counter"); + var button = counter.getEl("button"); + + expect(component.state.count).to.equal(0); + expect(counter.state.count).to.equal(0); + button.click(); + + setTimeout(() => { + expect(component.state.count).to.equal(1); + expect(counter.state.count).to.equal(1); + done(); + }, 100); +}; diff --git a/packages/marko/test/components-browser/fixtures/custom-events-declarative-function/test.js b/packages/marko/test/components-browser/fixtures/custom-events-declarative-function/test.js index 1cdfb9d62..933170c8d 100644 --- a/packages/marko/test/components-browser/fixtures/custom-events-declarative-function/test.js +++ b/packages/marko/test/components-browser/fixtures/custom-events-declarative-function/test.js @@ -11,7 +11,7 @@ module.exports = function (helpers) { expect(window.received1.length).to.equal(1); expect(window.received1[0].args.length).to.equal(3); // ['a', 'b', sourceComponent] expect(window.received1[0].component).to.equal( - component.getComponent("customEvents") + component.getComponent("customEvents"), ); pubsub.channel("customEvents-" + component.id).emit("emitTestEvent2"); diff --git a/packages/marko/test/components-browser/fixtures/custom-events-declarative/test.js b/packages/marko/test/components-browser/fixtures/custom-events-declarative/test.js index b95fde45e..b4ce669ee 100644 --- a/packages/marko/test/components-browser/fixtures/custom-events-declarative/test.js +++ b/packages/marko/test/components-browser/fixtures/custom-events-declarative/test.js @@ -25,7 +25,7 @@ module.exports = function (helpers) { expect(received1.length).to.equal(1); expect(received1[0].args.length).to.equal(3); // ['a', 'b', sourceComponent] expect(received1[0].component).to.equal( - component.getComponent("customEvents") + component.getComponent("customEvents"), ); pubsub.channel("customEvents-" + component.id).emit("emitTestEvent2"); diff --git a/packages/marko/test/components-browser/fixtures/diffpatch-insert-el-before-component/test.js b/packages/marko/test/components-browser/fixtures/diffpatch-insert-el-before-component/test.js index a4e4f19ff..f86f28678 100644 --- a/packages/marko/test/components-browser/fixtures/diffpatch-insert-el-before-component/test.js +++ b/packages/marko/test/components-browser/fixtures/diffpatch-insert-el-before-component/test.js @@ -5,7 +5,7 @@ module.exports = function (helpers) { // var rootEl = component.el; var helloComponent = component.getComponent("hello"); expect(component.getEl("root").querySelector(".hello") != null).to.equal( - true + true, ); // expect(helloComponent.el.parentNode).to.equal(rootEl); @@ -14,7 +14,7 @@ module.exports = function (helpers) { component.update(); expect(component.getEl("root").querySelector(".hello") != null).to.equal( - true + true, ); expect(component.getComponent("hello")).to.equal(helloComponent); diff --git a/packages/marko/test/components-browser/fixtures/diffpatch-insert-unkeyed-el-before-component/test.js b/packages/marko/test/components-browser/fixtures/diffpatch-insert-unkeyed-el-before-component/test.js index a4e4f19ff..f86f28678 100644 --- a/packages/marko/test/components-browser/fixtures/diffpatch-insert-unkeyed-el-before-component/test.js +++ b/packages/marko/test/components-browser/fixtures/diffpatch-insert-unkeyed-el-before-component/test.js @@ -5,7 +5,7 @@ module.exports = function (helpers) { // var rootEl = component.el; var helloComponent = component.getComponent("hello"); expect(component.getEl("root").querySelector(".hello") != null).to.equal( - true + true, ); // expect(helloComponent.el.parentNode).to.equal(rootEl); @@ -14,7 +14,7 @@ module.exports = function (helpers) { component.update(); expect(component.getEl("root").querySelector(".hello") != null).to.equal( - true + true, ); expect(component.getComponent("hello")).to.equal(helloComponent); diff --git a/packages/marko/test/components-browser/fixtures/diffpatch-insert-unkeyed-el-before-preserved-component/test.js b/packages/marko/test/components-browser/fixtures/diffpatch-insert-unkeyed-el-before-preserved-component/test.js index a4e4f19ff..f86f28678 100644 --- a/packages/marko/test/components-browser/fixtures/diffpatch-insert-unkeyed-el-before-preserved-component/test.js +++ b/packages/marko/test/components-browser/fixtures/diffpatch-insert-unkeyed-el-before-preserved-component/test.js @@ -5,7 +5,7 @@ module.exports = function (helpers) { // var rootEl = component.el; var helloComponent = component.getComponent("hello"); expect(component.getEl("root").querySelector(".hello") != null).to.equal( - true + true, ); // expect(helloComponent.el.parentNode).to.equal(rootEl); @@ -14,7 +14,7 @@ module.exports = function (helpers) { component.update(); expect(component.getEl("root").querySelector(".hello") != null).to.equal( - true + true, ); expect(component.getComponent("hello")).to.equal(helloComponent); diff --git a/packages/marko/test/components-browser/fixtures/dynamic-tag-preserve-old/test.js b/packages/marko/test/components-browser/fixtures/dynamic-tag-preserve-old/test.js index edb966d3d..f6826ff82 100644 --- a/packages/marko/test/components-browser/fixtures/dynamic-tag-preserve-old/test.js +++ b/packages/marko/test/components-browser/fixtures/dynamic-tag-preserve-old/test.js @@ -9,10 +9,10 @@ module.exports = function (helpers) { var fooComponent = component.getComponent("foo"); expect(fooComponent.el.querySelector(".body").innerHTML).to.equal( - "Current index: 0" + "Current index: 0", ); expect(fooComponent.el.querySelector("span").innerHTML).to.equal( - "Hello Frank!" + "Hello Frank!", ); fooComponent.state.name = "Jane"; @@ -20,9 +20,9 @@ module.exports = function (helpers) { fooComponent.update(); expect(fooComponent.el.querySelector(".body").innerHTML).to.equal( - "Current index: 0" + "Current index: 0", ); expect(fooComponent.el.querySelector("span").innerHTML).to.equal( - "Hello Jane!" + "Hello Jane!", ); }; diff --git a/packages/marko/test/components-browser/fixtures/event-attach-el-function/test.js b/packages/marko/test/components-browser/fixtures/event-attach-el-function/test.js index 86f3162ce..4bbe5ca0d 100644 --- a/packages/marko/test/components-browser/fixtures/event-attach-el-function/test.js +++ b/packages/marko/test/components-browser/fixtures/event-attach-el-function/test.js @@ -24,7 +24,7 @@ module.exports = function (helpers) { expect(events.length).to.equal(OFFSET + 2); expect(events[OFFSET + 1].color).to.equal("blue"); expect(events[OFFSET + 1].node).to.equal( - component.el.querySelectorAll("li")[1] + component.el.querySelectorAll("li")[1], ); component.input = { @@ -36,6 +36,6 @@ module.exports = function (helpers) { expect(events.length).to.equal(OFFSET + 3); expect(events[OFFSET + 2].color).to.equal("green"); expect(events[OFFSET + 2].node).to.equal( - component.el.querySelectorAll("li")[1] + component.el.querySelectorAll("li")[1], ); }; diff --git a/packages/marko/test/components-browser/fixtures/event-attach-el/test.js b/packages/marko/test/components-browser/fixtures/event-attach-el/test.js index 713868769..8fc1399de 100644 --- a/packages/marko/test/components-browser/fixtures/event-attach-el/test.js +++ b/packages/marko/test/components-browser/fixtures/event-attach-el/test.js @@ -12,7 +12,7 @@ module.exports = function (helpers) { expect(component.events.length).to.equal(1); expect(component.events[0].color).to.equal("red"); expect(component.events[0].node).to.equal( - component.el.querySelectorAll("li")[0] + component.el.querySelectorAll("li")[0], ); } @@ -25,7 +25,7 @@ module.exports = function (helpers) { expect(component.events.length).to.equal(OFFSET + 2); expect(component.events[OFFSET + 1].color).to.equal("blue"); expect(component.events[OFFSET + 1].node).to.equal( - component.el.querySelectorAll("li")[1] + component.el.querySelectorAll("li")[1], ); component.input = { @@ -37,6 +37,6 @@ module.exports = function (helpers) { expect(component.events.length).to.equal(OFFSET + 3); expect(component.events[OFFSET + 2].color).to.equal("green"); expect(component.events[OFFSET + 2].node).to.equal( - component.el.querySelectorAll("li")[1] + component.el.querySelectorAll("li")[1], ); }; diff --git a/packages/marko/test/components-browser/fixtures/event-attach-if-else-nested-component/test.js b/packages/marko/test/components-browser/fixtures/event-attach-if-else-nested-component/test.js index 0a2765bf7..25be70b6a 100644 --- a/packages/marko/test/components-browser/fixtures/event-attach-if-else-nested-component/test.js +++ b/packages/marko/test/components-browser/fixtures/event-attach-if-else-nested-component/test.js @@ -15,7 +15,7 @@ module.exports = function (helpers) { expect(component.events.length).to.equal(1); expect(component.events[0].color).to.equal("blue"); expect(component.events[0].node).to.equal( - component.el.querySelectorAll("li")[0] + component.el.querySelectorAll("li")[0], ); } @@ -25,7 +25,7 @@ module.exports = function (helpers) { expect(component.events.length).to.equal(2); expect(component.events[1].color).to.equal(colors[1]); expect(component.events[1].node).to.equal( - component.el.querySelectorAll("li")[0] + component.el.querySelectorAll("li")[0], ); component.input = { color: colors[2] }; @@ -34,7 +34,7 @@ module.exports = function (helpers) { expect(component.events.length).to.equal(3); expect(component.events[2].color).to.equal(colors[2]); expect(component.events[2].node).to.equal( - component.el.querySelectorAll("li")[0] + component.el.querySelectorAll("li")[0], ); component.input = { color: colors[0] }; @@ -43,7 +43,7 @@ module.exports = function (helpers) { expect(component.events.length).to.equal(4); expect(component.events[3].color).to.equal(colors[0]); expect(component.events[3].node).to.equal( - component.el.querySelectorAll("li")[0] + component.el.querySelectorAll("li")[0], ); component.input = { color: colors[2] }; @@ -52,6 +52,6 @@ module.exports = function (helpers) { expect(component.events.length).to.equal(5); expect(component.events[4].color).to.equal(colors[2]); expect(component.events[4].node).to.equal( - component.el.querySelectorAll("li")[0] + component.el.querySelectorAll("li")[0], ); }; diff --git a/packages/marko/test/components-browser/fixtures/event-handler-custom-args/test.js b/packages/marko/test/components-browser/fixtures/event-handler-custom-args/test.js index e10aca29f..10484d14c 100644 --- a/packages/marko/test/components-browser/fixtures/event-handler-custom-args/test.js +++ b/packages/marko/test/components-browser/fixtures/event-handler-custom-args/test.js @@ -7,13 +7,13 @@ module.exports = function (helpers) { expect(component.pressEvent[0].type).to.equal("ok"); expect(component.pressEvent[1].component).to.equal( - component.getComponent("ok") + component.getComponent("ok"), ); component.getComponent("cancel").emitPressEvent(); expect(component.pressEvent[0].type).to.equal("cancel"); expect(component.pressEvent[1].component).to.equal( - component.getComponent("cancel") + component.getComponent("cancel"), ); }; diff --git a/packages/marko/test/components-browser/fixtures/event-handler-dom-args-non-bubbling-once/test.js b/packages/marko/test/components-browser/fixtures/event-handler-dom-args-non-bubbling-once/test.js index 991670c65..1c719d0d5 100644 --- a/packages/marko/test/components-browser/fixtures/event-handler-dom-args-non-bubbling-once/test.js +++ b/packages/marko/test/components-browser/fixtures/event-handler-dom-args-non-bubbling-once/test.js @@ -11,7 +11,7 @@ module.exports = function (helpers) { expect(component.mouseMoveEventCalls.length).to.equal(1); expect(component.mouseMoveEventCalls[0][0]).to.equal("ok"); expect(component.mouseMoveEventCalls[0][1].stopPropagation).to.be.a( - "function" + "function", ); expect(component.mouseMoveEventCalls[0][2].innerHTML).to.equal("OK"); @@ -24,7 +24,7 @@ module.exports = function (helpers) { expect(component.mouseMoveEventCalls.length).to.equal(2); expect(component.mouseMoveEventCalls[1][0]).to.equal("cancel"); expect(component.mouseMoveEventCalls[1][1].stopPropagation).to.be.a( - "function" + "function", ); expect(component.mouseMoveEventCalls[1][2].innerHTML).to.equal("Cancel"); diff --git a/packages/marko/test/components-browser/fixtures/for-first-el-key-cache-value/test.js b/packages/marko/test/components-browser/fixtures/for-first-el-key-cache-value/test.js index 41720bd3e..15e081db1 100644 --- a/packages/marko/test/components-browser/fixtures/for-first-el-key-cache-value/test.js +++ b/packages/marko/test/components-browser/fixtures/for-first-el-key-cache-value/test.js @@ -18,7 +18,7 @@ module.exports = function (helpers) { expect(component.callCount).to.equal(4); expect(component.getEl("bar").nextElementSibling.nextElementSibling).to.equal( - component.getEl("foo") + component.getEl("foo"), ); expect(component.getEl("foo")).to.equal(fooEl); expect(component.getEl("foo").nextElementSibling).to.equal(fooNextSibling); diff --git a/packages/marko/test/components-browser/fixtures/include-preserve-old/test.js b/packages/marko/test/components-browser/fixtures/include-preserve-old/test.js index edb966d3d..f6826ff82 100644 --- a/packages/marko/test/components-browser/fixtures/include-preserve-old/test.js +++ b/packages/marko/test/components-browser/fixtures/include-preserve-old/test.js @@ -9,10 +9,10 @@ module.exports = function (helpers) { var fooComponent = component.getComponent("foo"); expect(fooComponent.el.querySelector(".body").innerHTML).to.equal( - "Current index: 0" + "Current index: 0", ); expect(fooComponent.el.querySelector("span").innerHTML).to.equal( - "Hello Frank!" + "Hello Frank!", ); fooComponent.state.name = "Jane"; @@ -20,9 +20,9 @@ module.exports = function (helpers) { fooComponent.update(); expect(fooComponent.el.querySelector(".body").innerHTML).to.equal( - "Current index: 0" + "Current index: 0", ); expect(fooComponent.el.querySelector("span").innerHTML).to.equal( - "Hello Jane!" + "Hello Jane!", ); }; diff --git a/packages/marko/test/components-browser/fixtures/input-no-change-nested/test.js b/packages/marko/test/components-browser/fixtures/input-no-change-nested/test.js index 3234cb108..68109e733 100644 --- a/packages/marko/test/components-browser/fixtures/input-no-change-nested/test.js +++ b/packages/marko/test/components-browser/fixtures/input-no-change-nested/test.js @@ -6,10 +6,10 @@ module.exports = function (helpers) { }); expect( - component.getComponent("foo").el.querySelector(".render-count").innerHTML + component.getComponent("foo").el.querySelector(".render-count").innerHTML, ).to.equal("0"); expect( - component.getComponent("foo").el.querySelector(".name").innerHTML + component.getComponent("foo").el.querySelector(".name").innerHTML, ).to.equal("Frank"); // Rerender with a new props object that has the shallow properties @@ -20,10 +20,10 @@ module.exports = function (helpers) { component.update(); expect( - component.getComponent("foo").el.querySelector(".render-count").innerHTML + component.getComponent("foo").el.querySelector(".render-count").innerHTML, ).to.equal("0"); expect( - component.getComponent("foo").el.querySelector(".name").innerHTML + component.getComponent("foo").el.querySelector(".name").innerHTML, ).to.equal("Frank"); // Rerender with a new props object that has the shallow properties @@ -34,9 +34,9 @@ module.exports = function (helpers) { component.update(); expect( - component.getComponent("foo").el.querySelector(".render-count").innerHTML + component.getComponent("foo").el.querySelector(".render-count").innerHTML, ).to.equal("1"); expect( - component.getComponent("foo").el.querySelector(".name").innerHTML + component.getComponent("foo").el.querySelector(".name").innerHTML, ).to.equal("John"); }; diff --git a/packages/marko/test/components-browser/fixtures/input-persisted-nested-component/test.js b/packages/marko/test/components-browser/fixtures/input-persisted-nested-component/test.js index 6cec8f396..3ea5b3429 100644 --- a/packages/marko/test/components-browser/fixtures/input-persisted-nested-component/test.js +++ b/packages/marko/test/components-browser/fixtures/input-persisted-nested-component/test.js @@ -5,23 +5,23 @@ module.exports = function (helpers) { color: "red", }); - expect(component.el.getAttribute("style")).to.equal("color:red;"); + expect(component.el.getAttribute("style")).to.equal("color:red"); expect(component.getComponent("counter").el.getAttribute("style")).to.equal( - "color:red;" + "color:red", ); expect( - component.getComponent("counter").el.querySelector(".count").innerHTML + component.getComponent("counter").el.querySelector(".count").innerHTML, ).to.equal("0"); component.getComponent("counter").increment(); component.getComponent("counter").update(); - expect(component.el.getAttribute("style")).to.equal("color:red;"); + expect(component.el.getAttribute("style")).to.equal("color:red"); expect(component.getComponent("counter").el.getAttribute("style")).to.equal( - "color:red;" + "color:red", ); expect( - component.getComponent("counter").el.querySelector(".count").innerHTML + component.getComponent("counter").el.querySelector(".count").innerHTML, ).to.equal("1"); component.updateColor("green"); @@ -29,10 +29,10 @@ module.exports = function (helpers) { expect(component.el.getAttribute("style")).to.equal("color: green;"); expect(component.getComponent("counter").el.getAttribute("style")).to.equal( - "color: green;" + "color: green;", ); expect( - component.getComponent("counter").el.querySelector(".count").innerHTML + component.getComponent("counter").el.querySelector(".count").innerHTML, ).to.equal("1"); // diff --git a/packages/marko/test/components-browser/fixtures/input-persisted/test.js b/packages/marko/test/components-browser/fixtures/input-persisted/test.js index 9e176360a..c4339de09 100644 --- a/packages/marko/test/components-browser/fixtures/input-persisted/test.js +++ b/packages/marko/test/components-browser/fixtures/input-persisted/test.js @@ -6,13 +6,13 @@ module.exports = function (helpers) { }); expect(component.getEl("current").getAttribute("style")).to.equal( - "color:#09c;" + "color:#09c", ); component.increment(); component.update(); expect(component.getEl("current").getAttribute("style")).to.equal( - "color:#09c;" + "color:#09c", ); }; diff --git a/packages/marko/test/components-browser/fixtures/insert-before-after/test.js b/packages/marko/test/components-browser/fixtures/insert-before-after/test.js index 8e84cfdff..6eae26f64 100644 --- a/packages/marko/test/components-browser/fixtures/insert-before-after/test.js +++ b/packages/marko/test/components-browser/fixtures/insert-before-after/test.js @@ -11,6 +11,6 @@ module.exports = function (helpers) { hello.renderSync({ value: "before" }).insertBefore(referenceElement); hello.renderSync({ value: "after" }).insertAfter(referenceElement); expect(renderTarget.innerHTML).to.equal( - "
Hello before
ref
Hello after
" + "
Hello before
ref
Hello after
", ); }; diff --git a/packages/marko/test/components-browser/fixtures/keyed-matching-transcluded/test.js b/packages/marko/test/components-browser/fixtures/keyed-matching-transcluded/test.js index 33646899d..ea4a89288 100644 --- a/packages/marko/test/components-browser/fixtures/keyed-matching-transcluded/test.js +++ b/packages/marko/test/components-browser/fixtures/keyed-matching-transcluded/test.js @@ -5,6 +5,6 @@ module.exports = function (helpers) { var targetEl = helpers.targetEl; var innerHTML = targetEl.innerHTML; expect(innerHTML).to.equal( - '
1
2
3
4
' + '
1
2
3
4
', ); }; diff --git a/packages/marko/test/components-browser/fixtures/preserve-component-transcluded-autokey/test.js b/packages/marko/test/components-browser/fixtures/preserve-component-transcluded-autokey/test.js index f0303a18d..b52509b0b 100644 --- a/packages/marko/test/components-browser/fixtures/preserve-component-transcluded-autokey/test.js +++ b/packages/marko/test/components-browser/fixtures/preserve-component-transcluded-autokey/test.js @@ -8,13 +8,13 @@ module.exports = function (helpers) { }); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "0" + "0", ); expect( - component.el.querySelector("#preserve").getAttribute("data-counter") + component.el.querySelector("#preserve").getAttribute("data-counter"), ).to.equal("0"); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); component.input = { @@ -23,12 +23,12 @@ module.exports = function (helpers) { component.update(); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "1" + "1", ); expect( - component.el.querySelector("#preserve").getAttribute("data-counter") + component.el.querySelector("#preserve").getAttribute("data-counter"), ).to.equal("0"); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); }; diff --git a/packages/marko/test/components-browser/fixtures/preserve-component-transcluded-userkey/test.js b/packages/marko/test/components-browser/fixtures/preserve-component-transcluded-userkey/test.js index f0303a18d..b52509b0b 100644 --- a/packages/marko/test/components-browser/fixtures/preserve-component-transcluded-userkey/test.js +++ b/packages/marko/test/components-browser/fixtures/preserve-component-transcluded-userkey/test.js @@ -8,13 +8,13 @@ module.exports = function (helpers) { }); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "0" + "0", ); expect( - component.el.querySelector("#preserve").getAttribute("data-counter") + component.el.querySelector("#preserve").getAttribute("data-counter"), ).to.equal("0"); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); component.input = { @@ -23,12 +23,12 @@ module.exports = function (helpers) { component.update(); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "1" + "1", ); expect( - component.el.querySelector("#preserve").getAttribute("data-counter") + component.el.querySelector("#preserve").getAttribute("data-counter"), ).to.equal("0"); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); }; diff --git a/packages/marko/test/components-browser/fixtures/preserve-dom-body-no-id/test.js b/packages/marko/test/components-browser/fixtures/preserve-dom-body-no-id/test.js index 41e8e1606..87cfab9eb 100644 --- a/packages/marko/test/components-browser/fixtures/preserve-dom-body-no-id/test.js +++ b/packages/marko/test/components-browser/fixtures/preserve-dom-body-no-id/test.js @@ -8,13 +8,13 @@ module.exports = function (helpers) { }); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "0" + "0", ); expect( - component.el.querySelector(".preserve").getAttribute("data-counter") + component.el.querySelector(".preserve").getAttribute("data-counter"), ).to.equal("0"); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); component.input = { @@ -23,12 +23,12 @@ module.exports = function (helpers) { component.update(); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "1" + "1", ); expect( - component.el.querySelector(".preserve").getAttribute("data-counter") + component.el.querySelector(".preserve").getAttribute("data-counter"), ).to.equal("1"); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); }; diff --git a/packages/marko/test/components-browser/fixtures/preserve-dom-body-shared-key/test.js b/packages/marko/test/components-browser/fixtures/preserve-dom-body-shared-key/test.js index 25a0d9237..6d628d2a9 100644 --- a/packages/marko/test/components-browser/fixtures/preserve-dom-body-shared-key/test.js +++ b/packages/marko/test/components-browser/fixtures/preserve-dom-body-shared-key/test.js @@ -8,7 +8,7 @@ module.exports = function (helpers) { }); expect( - helpers.targetEl.querySelector(".unpreserved-counter").innerHTML + helpers.targetEl.querySelector(".unpreserved-counter").innerHTML, ).to.equal("0"); component.input = { @@ -18,6 +18,6 @@ module.exports = function (helpers) { component.update(); expect( - helpers.targetEl.querySelector(".unpreserved-counter").innerHTML + helpers.targetEl.querySelector(".unpreserved-counter").innerHTML, ).to.equal("1"); }; diff --git a/packages/marko/test/components-browser/fixtures/preserve-dom-body/test.js b/packages/marko/test/components-browser/fixtures/preserve-dom-body/test.js index 1d00df343..61afb5abd 100644 --- a/packages/marko/test/components-browser/fixtures/preserve-dom-body/test.js +++ b/packages/marko/test/components-browser/fixtures/preserve-dom-body/test.js @@ -8,13 +8,13 @@ module.exports = function (helpers) { }); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "0" + "0", ); expect(component.getEl("preserve").getAttribute("data-counter")).to.equal( - "0" + "0", ); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); component.input = { @@ -24,12 +24,12 @@ module.exports = function (helpers) { component.update(); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "1" + "1", ); expect(component.getEl("preserve").getAttribute("data-counter")).to.equal( - "1" + "1", ); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); }; diff --git a/packages/marko/test/components-browser/fixtures/preserve-dom-conditional-before/test.js b/packages/marko/test/components-browser/fixtures/preserve-dom-conditional-before/test.js index 1e5cb4c73..6289d2d69 100644 --- a/packages/marko/test/components-browser/fixtures/preserve-dom-conditional-before/test.js +++ b/packages/marko/test/components-browser/fixtures/preserve-dom-conditional-before/test.js @@ -8,13 +8,13 @@ module.exports = function (helpers) { }); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "0" + "0", ); expect(component.getEl("preserve").getAttribute("data-counter")).to.equal( - "0" + "0", ); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); component.input = { @@ -23,12 +23,12 @@ module.exports = function (helpers) { component.update(); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "1" + "1", ); expect(component.getEl("preserve").getAttribute("data-counter")).to.equal( - "0" + "0", ); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); }; diff --git a/packages/marko/test/components-browser/fixtures/preserve-dom-loop/test.js b/packages/marko/test/components-browser/fixtures/preserve-dom-loop/test.js index 9791a9da2..9dc1d4e3f 100644 --- a/packages/marko/test/components-browser/fixtures/preserve-dom-loop/test.js +++ b/packages/marko/test/components-browser/fixtures/preserve-dom-loop/test.js @@ -10,7 +10,7 @@ module.exports = function (helpers) { }); expect( - helpers.targetEl.firstElementChild.getAttribute("data-count") + helpers.targetEl.firstElementChild.getAttribute("data-count"), ).to.equal("0"); Array.from(helpers.targetEl.firstElementChild.childNodes).forEach((child) => { @@ -28,7 +28,7 @@ module.exports = function (helpers) { component.update(); expect( - helpers.targetEl.firstElementChild.getAttribute("data-count") + helpers.targetEl.firstElementChild.getAttribute("data-count"), ).to.equal("1"); Array.from(helpers.targetEl.firstElementChild.childNodes).forEach((child) => { diff --git a/packages/marko/test/components-browser/fixtures/preserve-dom-no-id/test.js b/packages/marko/test/components-browser/fixtures/preserve-dom-no-id/test.js index 3f6c0dc93..620a4afc5 100644 --- a/packages/marko/test/components-browser/fixtures/preserve-dom-no-id/test.js +++ b/packages/marko/test/components-browser/fixtures/preserve-dom-no-id/test.js @@ -8,13 +8,13 @@ module.exports = function (helpers) { }); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "0" + "0", ); expect( - component.el.querySelector(".preserve").getAttribute("data-counter") + component.el.querySelector(".preserve").getAttribute("data-counter"), ).to.equal("0"); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); component.input = { @@ -23,12 +23,12 @@ module.exports = function (helpers) { component.update(); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "1" + "1", ); expect( - component.el.querySelector(".preserve").getAttribute("data-counter") + component.el.querySelector(".preserve").getAttribute("data-counter"), ).to.equal("0"); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); }; diff --git a/packages/marko/test/components-browser/fixtures/preserve-dom-transcluded-autokey/test.js b/packages/marko/test/components-browser/fixtures/preserve-dom-transcluded-autokey/test.js index f0303a18d..b52509b0b 100644 --- a/packages/marko/test/components-browser/fixtures/preserve-dom-transcluded-autokey/test.js +++ b/packages/marko/test/components-browser/fixtures/preserve-dom-transcluded-autokey/test.js @@ -8,13 +8,13 @@ module.exports = function (helpers) { }); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "0" + "0", ); expect( - component.el.querySelector("#preserve").getAttribute("data-counter") + component.el.querySelector("#preserve").getAttribute("data-counter"), ).to.equal("0"); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); component.input = { @@ -23,12 +23,12 @@ module.exports = function (helpers) { component.update(); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "1" + "1", ); expect( - component.el.querySelector("#preserve").getAttribute("data-counter") + component.el.querySelector("#preserve").getAttribute("data-counter"), ).to.equal("0"); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); }; diff --git a/packages/marko/test/components-browser/fixtures/preserve-dom-transcluded-userkey/test.js b/packages/marko/test/components-browser/fixtures/preserve-dom-transcluded-userkey/test.js index 1e5cb4c73..6289d2d69 100644 --- a/packages/marko/test/components-browser/fixtures/preserve-dom-transcluded-userkey/test.js +++ b/packages/marko/test/components-browser/fixtures/preserve-dom-transcluded-userkey/test.js @@ -8,13 +8,13 @@ module.exports = function (helpers) { }); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "0" + "0", ); expect(component.getEl("preserve").getAttribute("data-counter")).to.equal( - "0" + "0", ); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); component.input = { @@ -23,12 +23,12 @@ module.exports = function (helpers) { component.update(); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "1" + "1", ); expect(component.getEl("preserve").getAttribute("data-counter")).to.equal( - "0" + "0", ); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); }; diff --git a/packages/marko/test/components-browser/fixtures/preserve-dom/test.js b/packages/marko/test/components-browser/fixtures/preserve-dom/test.js index 1e5cb4c73..6289d2d69 100644 --- a/packages/marko/test/components-browser/fixtures/preserve-dom/test.js +++ b/packages/marko/test/components-browser/fixtures/preserve-dom/test.js @@ -8,13 +8,13 @@ module.exports = function (helpers) { }); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "0" + "0", ); expect(component.getEl("preserve").getAttribute("data-counter")).to.equal( - "0" + "0", ); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); component.input = { @@ -23,12 +23,12 @@ module.exports = function (helpers) { component.update(); expect(component.el.querySelector(".unpreserved-counter").innerHTML).to.equal( - "1" + "1", ); expect(component.getEl("preserve").getAttribute("data-counter")).to.equal( - "0" + "0", ); expect(component.el.querySelector(".preserved-counter").innerHTML).to.equal( - "0" + "0", ); }; diff --git a/packages/marko/test/components-browser/fixtures/preserve-nodes-update-scoped-elements/test.js b/packages/marko/test/components-browser/fixtures/preserve-nodes-update-scoped-elements/test.js index 488afd1a7..45b425f63 100644 --- a/packages/marko/test/components-browser/fixtures/preserve-nodes-update-scoped-elements/test.js +++ b/packages/marko/test/components-browser/fixtures/preserve-nodes-update-scoped-elements/test.js @@ -10,10 +10,10 @@ module.exports = function (helpers) { expect( null === rootEl.querySelector("label"), - "label should have been removed" + "label should have been removed", ).to.equal(true); expect( inputEl === rootEl.querySelector("input"), - "input should not have been removed" + "input should not have been removed", ).to.equal(true); }; diff --git a/packages/marko/test/components-browser/fixtures/server-client-mismatch/test.js b/packages/marko/test/components-browser/fixtures/server-client-mismatch/test.js index 326063e2f..a651dda41 100644 --- a/packages/marko/test/components-browser/fixtures/server-client-mismatch/test.js +++ b/packages/marko/test/components-browser/fixtures/server-client-mismatch/test.js @@ -4,13 +4,13 @@ module.exports = function (helpers) { var component = helpers.mount(require.resolve("./index"), {}); expect(helpers.targetEl.innerHTML).to.equal( - '
eBay' + '
eBay', ); component.forceUpdate(); component.update(); expect(helpers.targetEl.innerHTML).to.equal( - '
eBay' + '
eBay', ); }; diff --git a/packages/marko/test/components-browser/fixtures/tag-empty/test.js b/packages/marko/test/components-browser/fixtures/tag-empty/test.js index a164dd78c..ec49d2c72 100644 --- a/packages/marko/test/components-browser/fixtures/tag-empty/test.js +++ b/packages/marko/test/components-browser/fixtures/tag-empty/test.js @@ -9,7 +9,7 @@ module.exports = function (helpers) { const openTag = tag ? `<${tag}>` : ""; const closeTag = tag ? `` : ""; expect(helpers.targetEl.innerHTML).to.contain( - `
${openTag}${innerHTML}${closeTag}
` + `
${openTag}${innerHTML}${closeTag}
`, ); } diff --git a/packages/marko/test/components-browser/fixtures/textarea/test.js b/packages/marko/test/components-browser/fixtures/textarea/test.js index ffccef431..552526437 100644 --- a/packages/marko/test/components-browser/fixtures/textarea/test.js +++ b/packages/marko/test/components-browser/fixtures/textarea/test.js @@ -9,6 +9,6 @@ module.exports = function (helpers) { component.update(); expect(component.el.querySelector("pre").innerHTML).to.equal( - "Placeholder error" + "Placeholder error", ); }; diff --git a/packages/marko/test/components-browser/index.test.js b/packages/marko/test/components-browser/index.test.js index 2bee8689e..f8f5b0b34 100644 --- a/packages/marko/test/components-browser/index.test.js +++ b/packages/marko/test/components-browser/index.test.js @@ -64,7 +64,7 @@ function runHydrateTest(fixture) { throw new Error("No components rendered by client version of test"); var $global = components.reduce( ($g, c) => Object.assign($g, c.$global), - {} + {}, ); ssrTemplate .render({ components: components, $global: $global }) diff --git a/packages/marko/test/components-pages/fixtures/async-boundaries/components/app-hello-async/renderer.js b/packages/marko/test/components-pages/fixtures/async-boundaries/components/app-hello-async/renderer.js index 3da7cb62c..cb411224d 100644 --- a/packages/marko/test/components-pages/fixtures/async-boundaries/components/app-hello-async/renderer.js +++ b/packages/marko/test/components-pages/fixtures/async-boundaries/components/app-hello-async/renderer.js @@ -7,7 +7,7 @@ module.exports = function (input, out) { { name: input.name, }, - asyncOut + asyncOut, ); asyncOut.end(); }, 10); diff --git a/packages/marko/test/components-pages/fixtures/component-globals-async/tests.js b/packages/marko/test/components-pages/fixtures/component-globals-async/tests.js index 483ac3472..b3d766ee3 100644 --- a/packages/marko/test/components-pages/fixtures/component-globals-async/tests.js +++ b/packages/marko/test/components-pages/fixtures/component-globals-async/tests.js @@ -3,7 +3,7 @@ var expect = require("chai").expect; it("should allow attributes to not be updated", function () { function testHelloComponent(helloComponent) { expect(helloComponent.el.querySelector(".name").innerHTML).to.equal( - "Frank" + "Frank", ); expect(helloComponent.el.querySelector(".count").innerHTML).to.equal("1"); @@ -11,7 +11,7 @@ it("should allow attributes to not be updated", function () { helloComponent.update(); expect(helloComponent.el.querySelector(".name").innerHTML).to.equal( - "Frank" + "Frank", ); expect(helloComponent.el.querySelector(".count").innerHTML).to.equal("2"); } diff --git a/packages/marko/test/components-pages/fixtures/component-input-ref/tests.js b/packages/marko/test/components-pages/fixtures/component-input-ref/tests.js index a22befad9..511bd89d7 100644 --- a/packages/marko/test/components-pages/fixtures/component-input-ref/tests.js +++ b/packages/marko/test/components-pages/fixtures/component-input-ref/tests.js @@ -4,10 +4,10 @@ it("should serialize component input down to the browser", function () { expect(window.barComponent.getComponent("foo")).to.equal(window.fooComponent); expect(window.fooComponent.input.color).to.equal("#800"); expect(window.fooComponent.el.textContent).to.equal("The current count is 0"); - expect(window.fooComponent.el.getAttribute("style")).to.equal("color:#800;"); + expect(window.fooComponent.el.getAttribute("style")).to.equal("color:#800"); window.fooComponent.increment(); window.fooComponent.update(); expect(window.fooComponent.el.textContent).to.equal("The current count is 1"); - expect(window.fooComponent.el.getAttribute("style")).to.equal("color:#800;"); + expect(window.fooComponent.el.getAttribute("style")).to.equal("color:#800"); expect(window.barComponent.getComponent("foo")).to.equal(window.fooComponent); }); diff --git a/packages/marko/test/components-pages/fixtures/component-input/tests.js b/packages/marko/test/components-pages/fixtures/component-input/tests.js index 2b7df043a..b2f1c5aeb 100644 --- a/packages/marko/test/components-pages/fixtures/component-input/tests.js +++ b/packages/marko/test/components-pages/fixtures/component-input/tests.js @@ -3,9 +3,9 @@ var expect = require("chai").expect; it("should serialize component input down to the browser", function () { expect(window.fooComponent.input.color).to.equal("#800"); expect(window.fooComponent.el.textContent).to.equal("The current count is 0"); - expect(window.fooComponent.el.getAttribute("style")).to.equal("color:#800;"); + expect(window.fooComponent.el.getAttribute("style")).to.equal("color:#800"); window.fooComponent.increment(); window.fooComponent.update(); expect(window.fooComponent.el.textContent).to.equal("The current count is 1"); - expect(window.fooComponent.el.getAttribute("style")).to.equal("color:#800;"); + expect(window.fooComponent.el.getAttribute("style")).to.equal("color:#800"); }); diff --git a/packages/marko/test/components-pages/fixtures/component-mount-root-hasRenderBody/tests.js b/packages/marko/test/components-pages/fixtures/component-mount-root-hasRenderBody/tests.js index 80965f73f..93e663768 100644 --- a/packages/marko/test/components-pages/fixtures/component-mount-root-hasRenderBody/tests.js +++ b/packages/marko/test/components-pages/fixtures/component-mount-root-hasRenderBody/tests.js @@ -17,7 +17,7 @@ function triggerMouseEvent(el, type) { false, false /* modifier keys */, 0 /*left*/, - null + null, ); el.dispatchEvent(ev); } diff --git a/packages/marko/test/components-pages/fixtures/component-mount-root-renderBody/tests.js b/packages/marko/test/components-pages/fixtures/component-mount-root-renderBody/tests.js index 80965f73f..93e663768 100644 --- a/packages/marko/test/components-pages/fixtures/component-mount-root-renderBody/tests.js +++ b/packages/marko/test/components-pages/fixtures/component-mount-root-renderBody/tests.js @@ -17,7 +17,7 @@ function triggerMouseEvent(el, type) { false, false /* modifier keys */, 0 /*left*/, - null + null, ); el.dispatchEvent(ev); } diff --git a/packages/marko/test/components-pages/fixtures/custom-events/tests.js b/packages/marko/test/components-pages/fixtures/custom-events/tests.js index 6fdf7c405..5b97c2099 100644 --- a/packages/marko/test/components-pages/fixtures/custom-events/tests.js +++ b/packages/marko/test/components-pages/fixtures/custom-events/tests.js @@ -9,13 +9,13 @@ it("should invoke event handler method for custom events with extra args", funct expect(component.pressEvent[0].type).to.equal("ok"); expect(component.pressEvent[1].component).to.equal( - component.getComponent("ok") + component.getComponent("ok"), ); component.getComponent("cancel").emitPressEvent(); expect(component.pressEvent[0].type).to.equal("cancel"); expect(component.pressEvent[1].component).to.equal( - component.getComponent("cancel") + component.getComponent("cancel"), ); }); diff --git a/packages/marko/test/components-pages/fixtures/dom-events-bubbling/tests.js b/packages/marko/test/components-pages/fixtures/dom-events-bubbling/tests.js index 1fd810995..da1f05c17 100644 --- a/packages/marko/test/components-pages/fixtures/dom-events-bubbling/tests.js +++ b/packages/marko/test/components-pages/fixtures/dom-events-bubbling/tests.js @@ -15,7 +15,7 @@ function triggerMouseEvent(el, type) { false, false /* modifier keys */, 0 /*left*/, - null + null, ); el.dispatchEvent(ev); } diff --git a/packages/marko/test/components-pages/fixtures/dom-events/tests.js b/packages/marko/test/components-pages/fixtures/dom-events/tests.js index 15d6ce420..a6536b2fb 100644 --- a/packages/marko/test/components-pages/fixtures/dom-events/tests.js +++ b/packages/marko/test/components-pages/fixtures/dom-events/tests.js @@ -17,7 +17,7 @@ function triggerMouseEvent(el, type) { false, false /* modifier keys */, 0 /*left*/, - null + null, ); el.dispatchEvent(ev); } @@ -33,7 +33,7 @@ it("should invoke event handler method for non-bubbling events", function () { expect(window.fooComponent.mouseMoveEvent[0].type).to.equal("mousemove"); expect(window.fooComponent.mouseMoveEvent[1]).to.equal( - window.fooComponent.getEl("button") + window.fooComponent.getEl("button"), ); }); @@ -46,7 +46,7 @@ it("should invoke event handler method for non-bubbling events with extra args", expect(window.fooComponent.mouseMoveEvent[0].type).to.equal("ok"); expect(window.fooComponent.mouseMoveEvent[1].type).to.equal("mousemove"); expect(window.fooComponent.mouseMoveEvent[2]).to.equal( - window.fooComponent.getEl("ok") + window.fooComponent.getEl("ok"), ); triggerMouseEvent(window.fooComponent.getEl("cancel"), "mousemove"); @@ -55,7 +55,7 @@ it("should invoke event handler method for non-bubbling events with extra args", expect(window.fooComponent.mouseMoveEvent[0].type).to.equal("cancel"); expect(window.fooComponent.mouseMoveEvent[1].type).to.equal("mousemove"); expect(window.fooComponent.mouseMoveEvent[2]).to.equal( - window.fooComponent.getEl("cancel") + window.fooComponent.getEl("cancel"), ); }); @@ -65,7 +65,7 @@ it("should invoke event handler method for bubbling events", function () { expect(window.fooComponent.clickEvent != null).to.equal(true); expect(window.fooComponent.clickEvent[0].type).to.equal("click"); expect(window.fooComponent.clickEvent[1]).to.equal( - window.fooComponent.getEl("button") + window.fooComponent.getEl("button"), ); }); diff --git a/packages/marko/test/components-pages/fixtures/getRenderedComponents/tests.js b/packages/marko/test/components-pages/fixtures/getRenderedComponents/tests.js index 06ad80385..7eb61b380 100644 --- a/packages/marko/test/components-pages/fixtures/getRenderedComponents/tests.js +++ b/packages/marko/test/components-pages/fixtures/getRenderedComponents/tests.js @@ -19,7 +19,7 @@ it("should serialize component config down to the browser", function () { expect(window.simpleComponents[0].state.name).to.equal("John"); expect(window.simpleComponents[0].state.messageCount).to.equal(10); expect(window.simpleComponents[0].componentConfig.type).to.equal( - "component config" + "component config", ); expect(window.simpleComponents[0].componentConfig.name).to.equal("John"); expect(window.simpleComponents[0].componentConfig.messageCount).to.equal(10); @@ -28,7 +28,7 @@ it("should serialize component config down to the browser", function () { expect(window.simpleComponents[1].state.name).to.equal("Frank"); expect(window.simpleComponents[1].state.messageCount).to.equal(20); expect(window.simpleComponents[1].componentConfig.type).to.equal( - "component config" + "component config", ); expect(window.simpleComponents[1].componentConfig.name).to.equal("Frank"); expect(window.simpleComponents[1].componentConfig.messageCount).to.equal(20); diff --git a/packages/marko/test/components-pages/fixtures/implicit-component-root/tests.js b/packages/marko/test/components-pages/fixtures/implicit-component-root/tests.js index 6e73025cf..53a9c7be2 100644 --- a/packages/marko/test/components-pages/fixtures/implicit-component-root/tests.js +++ b/packages/marko/test/components-pages/fixtures/implicit-component-root/tests.js @@ -6,6 +6,6 @@ it("should mount explicit components", function () { it("should mount implicit components nested in an explicit component", function () { expect(window.helloExplicitComponent.getComponent("nested") != null).to.equal( - true + true, ); }); diff --git a/packages/marko/test/components-pages/fixtures/no-update/tests.js b/packages/marko/test/components-pages/fixtures/no-update/tests.js index bc0053090..7449ba7b4 100644 --- a/packages/marko/test/components-pages/fixtures/no-update/tests.js +++ b/packages/marko/test/components-pages/fixtures/no-update/tests.js @@ -20,7 +20,7 @@ it("should allow a root element to not be updated", function () { var noUpdateComponent = app.getComponent("no-update-el"); expect(noUpdateComponent.getNoUpdateEl().getAttribute("data-foo")).to.equal( - "server" + "server", ); expect(noUpdateComponent.getNoUpdateEl().innerHTML).to.equal("server"); @@ -31,7 +31,7 @@ it("should allow a root element to not be updated", function () { noUpdateComponent.update(); expect(noUpdateComponent.getNoUpdateEl().getAttribute("data-foo")).to.equal( - "server" + "server", ); expect(noUpdateComponent.getNoUpdateEl().innerHTML).to.equal("server"); }); @@ -41,7 +41,7 @@ it("should allow a nested element to not be updated", function () { var noUpdateComponent = app.getComponent("no-update-el-nested"); expect(noUpdateComponent.getNoUpdateEl().getAttribute("data-foo")).to.equal( - "server" + "server", ); expect(noUpdateComponent.getNoUpdateEl().innerHTML).to.equal("server"); @@ -52,7 +52,7 @@ it("should allow a nested element to not be updated", function () { noUpdateComponent.update(); expect(noUpdateComponent.getNoUpdateEl().getAttribute("data-foo")).to.equal( - "server" + "server", ); expect(noUpdateComponent.getNoUpdateEl().innerHTML).to.equal("server"); }); @@ -62,7 +62,7 @@ it("should allow a body element to not be updated", function () { var noUpdateComponent = app.getComponent("no-update-body-el"); expect(noUpdateComponent.getNoUpdateEl().getAttribute("data-foo")).to.equal( - "server" + "server", ); expect(noUpdateComponent.getNoUpdateEl().innerHTML).to.equal("server"); @@ -73,7 +73,7 @@ it("should allow a body element to not be updated", function () { noUpdateComponent.update(); expect(noUpdateComponent.getNoUpdateEl().getAttribute("data-foo")).to.equal( - "browser" + "browser", ); expect(noUpdateComponent.getNoUpdateEl().innerHTML).to.equal("server"); }); diff --git a/packages/marko/test/components-pages/fixtures/preserve-no-update-for-loop/tests.js b/packages/marko/test/components-pages/fixtures/preserve-no-update-for-loop/tests.js index 66f2f4349..953bafe9d 100644 --- a/packages/marko/test/components-pages/fixtures/preserve-no-update-for-loop/tests.js +++ b/packages/marko/test/components-pages/fixtures/preserve-no-update-for-loop/tests.js @@ -13,6 +13,6 @@ it("should update correctly", function () { component.append("b"); component.update(); expect($el.innerHTML).to.eql( - '
  • a
  • b
  • ' + '
  • a
  • b
  • ', ); }); diff --git a/packages/marko/test/components-pages/fixtures/repeated-list-items-unkeyed/tests.js b/packages/marko/test/components-pages/fixtures/repeated-list-items-unkeyed/tests.js index 57ec2f97d..ef44887d6 100644 --- a/packages/marko/test/components-pages/fixtures/repeated-list-items-unkeyed/tests.js +++ b/packages/marko/test/components-pages/fixtures/repeated-list-items-unkeyed/tests.js @@ -3,22 +3,22 @@ var expect = require("chai").expect; it("should update correctly", function () { var listItemsComponent = window.listItemsComponent; expect( - listItemsComponent.getEl("root").querySelectorAll("li").length + listItemsComponent.getEl("root").querySelectorAll("li").length, ).to.equal(4); expect( - listItemsComponent.getEl("root").querySelectorAll("a").length + listItemsComponent.getEl("root").querySelectorAll("a").length, ).to.equal(4); expect( - listItemsComponent.getEl("root").querySelectorAll("a")[0].innerHTML + listItemsComponent.getEl("root").querySelectorAll("a")[0].innerHTML, ).to.equal("apples"); expect( - listItemsComponent.getEl("root").querySelectorAll("a")[1].innerHTML + listItemsComponent.getEl("root").querySelectorAll("a")[1].innerHTML, ).to.equal("bananas"); expect( - listItemsComponent.getEl("root").querySelectorAll("a")[2].innerHTML + listItemsComponent.getEl("root").querySelectorAll("a")[2].innerHTML, ).to.equal("cherries"); expect( - listItemsComponent.getEl("root").querySelectorAll("a")[3].innerHTML + listItemsComponent.getEl("root").querySelectorAll("a")[3].innerHTML, ).to.equal("dates"); listItemsComponent.input = { @@ -27,16 +27,16 @@ it("should update correctly", function () { listItemsComponent.update(); expect( - listItemsComponent.getEl("root").querySelectorAll("li").length + listItemsComponent.getEl("root").querySelectorAll("li").length, ).to.equal(2); expect( - listItemsComponent.getEl("root").querySelectorAll("a").length + listItemsComponent.getEl("root").querySelectorAll("a").length, ).to.equal(2); expect( - listItemsComponent.getEl("root").querySelectorAll("a")[0].innerHTML + listItemsComponent.getEl("root").querySelectorAll("a")[0].innerHTML, ).to.equal("apples"); expect( - listItemsComponent.getEl("root").querySelectorAll("a")[1].innerHTML + listItemsComponent.getEl("root").querySelectorAll("a")[1].innerHTML, ).to.equal("bananas"); listItemsComponent.input = { @@ -45,10 +45,10 @@ it("should update correctly", function () { listItemsComponent.update(); expect( - listItemsComponent.getEl("root").querySelectorAll("li").length + listItemsComponent.getEl("root").querySelectorAll("li").length, ).to.equal(0); expect( - listItemsComponent.getEl("root").querySelectorAll("a").length + listItemsComponent.getEl("root").querySelectorAll("a").length, ).to.equal(0); listItemsComponent.input = { @@ -57,15 +57,15 @@ it("should update correctly", function () { listItemsComponent.update(); expect( - listItemsComponent.getEl("root").querySelectorAll("li").length + listItemsComponent.getEl("root").querySelectorAll("li").length, ).to.equal(2); expect( - listItemsComponent.getEl("root").querySelectorAll("a").length + listItemsComponent.getEl("root").querySelectorAll("a").length, ).to.equal(2); expect( - listItemsComponent.getEl("root").querySelectorAll("a")[0].innerHTML + listItemsComponent.getEl("root").querySelectorAll("a")[0].innerHTML, ).to.equal("apples"); expect( - listItemsComponent.getEl("root").querySelectorAll("a")[1].innerHTML + listItemsComponent.getEl("root").querySelectorAll("a")[1].innerHTML, ).to.equal("bananas"); }); diff --git a/packages/marko/test/components-pages/fixtures/runtime-id/tests.js b/packages/marko/test/components-pages/fixtures/runtime-id/tests.js index 3f748a1df..51856648c 100644 --- a/packages/marko/test/components-pages/fixtures/runtime-id/tests.js +++ b/packages/marko/test/components-pages/fixtures/runtime-id/tests.js @@ -7,9 +7,9 @@ it("should serialize component input down to the browser", function () { expect(window.fooComponent.input.color).to.equal("#800"); expect(window.fooComponent.el.textContent).to.equal("The current count is 0"); - expect(window.fooComponent.el.getAttribute("style")).to.equal("color:#800;"); + expect(window.fooComponent.el.getAttribute("style")).to.equal("color:#800"); window.fooComponent.increment(); window.fooComponent.update(); expect(window.fooComponent.el.textContent).to.equal("The current count is 1"); - expect(window.fooComponent.el.getAttribute("style")).to.equal("color:#800;"); + expect(window.fooComponent.el.getAttribute("style")).to.equal("color:#800"); }); diff --git a/packages/marko/test/components-pages/fixtures/split-emit-multi-args/tests.js b/packages/marko/test/components-pages/fixtures/split-emit-multi-args/tests.js index 597a72e69..b465689cc 100644 --- a/packages/marko/test/components-pages/fixtures/split-emit-multi-args/tests.js +++ b/packages/marko/test/components-pages/fixtures/split-emit-multi-args/tests.js @@ -17,7 +17,7 @@ function triggerMouseEvent(el, type) { false, false /* modifier keys */, 0 /*left*/, - null + null, ); el.dispatchEvent(ev); } diff --git a/packages/marko/test/components-pages/fixtures/xss/tests.js b/packages/marko/test/components-pages/fixtures/xss/tests.js index 0c6c68a73..a5b97e5b6 100644 --- a/packages/marko/test/components-pages/fixtures/xss/tests.js +++ b/packages/marko/test/components-pages/fixtures/xss/tests.js @@ -3,9 +3,9 @@ var expect = require("chai").expect; it("should handle ending tag", function () { expect(document.readyState).to.equal("complete"); expect(window.fooComponent.state.evil).to.equal( - '' + '', ); expect(window.fooComponent.componentConfig.evil).to.equal( - '' + '', ); }); diff --git a/packages/marko/test/components-pages/index.test.js b/packages/marko/test/components-pages/index.test.js index e179fe167..17c27898e 100644 --- a/packages/marko/test/components-pages/index.test.js +++ b/packages/marko/test/components-pages/index.test.js @@ -32,7 +32,7 @@ function run(fixture) { end() { resolve(html); }, - } + }, ) .once("error", reject); }); diff --git a/packages/marko/test/components-server/fixtures/scriptConcat/test.js b/packages/marko/test/components-server/fixtures/scriptConcat/test.js index 06675b2dc..3d4787044 100644 --- a/packages/marko/test/components-server/fixtures/scriptConcat/test.js +++ b/packages/marko/test/components-server/fixtures/scriptConcat/test.js @@ -5,7 +5,7 @@ module.exports = function (helpers, done) { template.render({}, function (err, html) { expect(html.toString()).to.include( - "console.log('hello');console.log('world');console.log('again');console.log('and again')" + "console.log('hello');console.log('world');console.log('again');console.log('and again')", ); done(); }); diff --git a/packages/marko/test/hot-reload/index.test.js b/packages/marko/test/hot-reload/index.test.js index 6220aca66..747ef5204 100644 --- a/packages/marko/test/hot-reload/index.test.js +++ b/packages/marko/test/hot-reload/index.test.js @@ -7,10 +7,9 @@ chai.config.includeStack = true; var expect = require("chai").expect; -var autotest = require("mocha-autotest").default; var marko = require("marko"); - var hotReload = require("marko/src/node-require/hot-reload"); +var autotest = require("mocha-autotest").default; autotest("fixtures", (fixture) => { let test = fixture.test; diff --git a/packages/marko/test/marko-debug-babel-plugin/fixtures/compiles/test.js b/packages/marko/test/marko-debug-babel-plugin/fixtures/compiles/test.js index 2e3630f0a..8e13befb4 100644 --- a/packages/marko/test/marko-debug-babel-plugin/fixtures/compiles/test.js +++ b/packages/marko/test/marko-debug-babel-plugin/fixtures/compiles/test.js @@ -2,7 +2,7 @@ const fs = require("fs"); const path = require("path"); const babel = require("@babel/core"); const pluginPath = require.resolve( - "../../../../../../scripts/babel-plugin-marko-debug" + "../../../../../../scripts/babel-plugin-marko-debug", ); exports.check = function (expect, helpers, done) { diff --git a/packages/marko/test/markoc/fixtures/single-template-write-version-comment/test.js b/packages/marko/test/markoc/fixtures/single-template-write-version-comment/test.js index 99d286292..39ac46317 100644 --- a/packages/marko/test/markoc/fixtures/single-template-write-version-comment/test.js +++ b/packages/marko/test/markoc/fixtures/single-template-write-version-comment/test.js @@ -5,6 +5,6 @@ exports.test = function (helpers) { helpers.spawnSync(["template.marko"]); var compiledFile = helpers.readSync("template.marko.js").toString(); expect(compiledFile).to.contain( - "Compiled using marko@" + markoVersion + " - DO NOT EDIT" + "Compiled using marko@" + markoVersion + " - DO NOT EDIT", ); }; diff --git a/packages/marko/test/morphdom/index.test.js b/packages/marko/test/morphdom/index.test.js index 44bc63b6f..d263b7050 100644 --- a/packages/marko/test/morphdom/index.test.js +++ b/packages/marko/test/morphdom/index.test.js @@ -2,14 +2,13 @@ require("../__util__/test-init"); -var chai = require("chai"); -chai.config.includeStack = true; - -var autotest = require("mocha-autotest").default; const fs = require("fs"); const path = require("path"); -const morphdom = require("marko/runtime/vdom/morphdom"); +var chai = require("chai"); const createBrowser = require("jsdom-context-require"); +const morphdom = require("marko/runtime/vdom/morphdom"); +var autotest = require("mocha-autotest").default; +chai.config.includeStack = true; autotest("fixtures", (fixture) => { let dir = fixture.dir; @@ -36,7 +35,7 @@ autotest("fixtures", (fixture) => { let fromNode = fromDocument.body; let realToNode = toDocument.body; var targetVEl = require("marko/runtime/vdom/vdom").___virtualize( - realToNode + realToNode, ); var expectedHTML = serializeNode(realToNode); fs.writeFileSync(resolve("expected.html"), expectedHTML, { diff --git a/packages/marko/test/node-require/index.test.js b/packages/marko/test/node-require/index.test.js index d26ba2d79..2488f8d74 100644 --- a/packages/marko/test/node-require/index.test.js +++ b/packages/marko/test/node-require/index.test.js @@ -36,7 +36,7 @@ describe("node-require", function () { extension: ".marko.xml", extensions: [".marko", ".html"], }, - [".marko.xml", ".marko", ".html"] + [".marko.xml", ".marko", ".html"], ); }); @@ -45,7 +45,7 @@ describe("node-require", function () { { extensions: [".marko", ".html"], }, - [".marko", ".html"] + [".marko", ".html"], ); }); @@ -54,7 +54,7 @@ describe("node-require", function () { { extension: ".marko.xml", }, - [".marko.xml"] + [".marko.xml"], ); }); @@ -64,7 +64,7 @@ describe("node-require", function () { extension: ".marko.xml", extensions: [], }, - [".marko.xml"] + [".marko.xml"], ); }); @@ -78,7 +78,7 @@ describe("node-require", function () { extension: "marko.xml", extensions: ["html"], }, - [".marko.xml", ".html"] + [".marko.xml", ".html"], ); }); }); diff --git a/packages/marko/test/render/fixtures-async-callback/await-args-merge/test.js b/packages/marko/test/render/fixtures-async-callback/await-args-merge/test.js index 0689b0538..fb7b4e1f8 100644 --- a/packages/marko/test/render/fixtures-async-callback/await-args-merge/test.js +++ b/packages/marko/test/render/fixtures-async-callback/await-args-merge/test.js @@ -26,6 +26,6 @@ var users = { exports.templateData = { userInfo: callbackProviderWithArgs( 1, - (arg) => users[arg.userId][arg.property] + (arg) => users[arg.userId][arg.property], ), }; diff --git a/packages/marko/test/render/fixtures-async-callback/await-client-reorder-cspnonce/test.js b/packages/marko/test/render/fixtures-async-callback/await-client-reorder-cspnonce/test.js index 5b285bc5a..12e67e007 100644 --- a/packages/marko/test/render/fixtures-async-callback/await-client-reorder-cspnonce/test.js +++ b/packages/marko/test/render/fixtures-async-callback/await-client-reorder-cspnonce/test.js @@ -1,5 +1,5 @@ -var extend = require("raptor-util/extend"); var expect = require("chai").expect; +var extend = require("raptor-util/extend"); const { callbackProvider } = require("../../../__util__/async-helpers"); exports.templateData = { diff --git a/packages/marko/test/render/fixtures-async-callback/await-client-reorder-invoked-once/test.js b/packages/marko/test/render/fixtures-async-callback/await-client-reorder-invoked-once/test.js index 79a39fbfa..e5c3337f8 100644 --- a/packages/marko/test/render/fixtures-async-callback/await-client-reorder-invoked-once/test.js +++ b/packages/marko/test/render/fixtures-async-callback/await-client-reorder-invoked-once/test.js @@ -1,5 +1,5 @@ -const extend = require("raptor-util/extend"); const expect = require("chai").expect; +const extend = require("raptor-util/extend"); const { callbackProvider } = require("../../../__util__/async-helpers"); exports.templateData = { diff --git a/packages/marko/test/render/fixtures-async-callback/await-client-reorder-mixed/test.js b/packages/marko/test/render/fixtures-async-callback/await-client-reorder-mixed/test.js index 9a98ea351..e4f1fbc3f 100644 --- a/packages/marko/test/render/fixtures-async-callback/await-client-reorder-mixed/test.js +++ b/packages/marko/test/render/fixtures-async-callback/await-client-reorder-mixed/test.js @@ -1,5 +1,5 @@ -var extend = require("raptor-util/extend"); var expect = require("chai").expect; +var extend = require("raptor-util/extend"); const { callbackProvider } = require("../../../__util__/async-helpers"); exports.templateData = { diff --git a/packages/marko/test/render/fixtures-async-callback/await-client-reorder-nested/test.js b/packages/marko/test/render/fixtures-async-callback/await-client-reorder-nested/test.js index 256651fd4..4080efc3e 100644 --- a/packages/marko/test/render/fixtures-async-callback/await-client-reorder-nested/test.js +++ b/packages/marko/test/render/fixtures-async-callback/await-client-reorder-nested/test.js @@ -1,5 +1,5 @@ -var extend = require("raptor-util/extend"); var expect = require("chai").expect; +var extend = require("raptor-util/extend"); const { callbackProvider } = require("../../../__util__/async-helpers"); exports.templateData = { diff --git a/packages/marko/test/render/fixtures-async-callback/await-client-reorder-sync/test.js b/packages/marko/test/render/fixtures-async-callback/await-client-reorder-sync/test.js index 9c7b985ac..95903796d 100644 --- a/packages/marko/test/render/fixtures-async-callback/await-client-reorder-sync/test.js +++ b/packages/marko/test/render/fixtures-async-callback/await-client-reorder-sync/test.js @@ -1,5 +1,5 @@ -var extend = require("raptor-util/extend"); var expect = require("chai").expect; +var extend = require("raptor-util/extend"); exports.templateData = { userDataProvider: function (callback) { diff --git a/packages/marko/test/render/fixtures-async-callback/await-client-reorder/test.js b/packages/marko/test/render/fixtures-async-callback/await-client-reorder/test.js index 7377e7ad0..bea8a82c3 100644 --- a/packages/marko/test/render/fixtures-async-callback/await-client-reorder/test.js +++ b/packages/marko/test/render/fixtures-async-callback/await-client-reorder/test.js @@ -1,5 +1,5 @@ -var extend = require("raptor-util/extend"); var expect = require("chai").expect; +var extend = require("raptor-util/extend"); const { callbackProvider } = require("../../../__util__/async-helpers"); exports.templateData = { diff --git a/packages/marko/test/render/fixtures-async-callback/await-timeout/test.js b/packages/marko/test/render/fixtures-async-callback/await-timeout/test.js index b93d1cdcf..d76c3941c 100644 --- a/packages/marko/test/render/fixtures-async-callback/await-timeout/test.js +++ b/packages/marko/test/render/fixtures-async-callback/await-timeout/test.js @@ -1,5 +1,5 @@ -var extend = require("raptor-util/extend"); var expect = require("chai").expect; +var extend = require("raptor-util/extend"); exports.templateData = { userInfoShort: function (done) { diff --git a/packages/marko/test/render/fixtures/attr-newline-escaped/expected.html b/packages/marko/test/render/fixtures/attr-newline-escaped/expected.html index 4e4af653d..4b1d8f3d5 100644 --- a/packages/marko/test/render/fixtures/attr-newline-escaped/expected.html +++ b/packages/marko/test/render/fixtures/attr-newline-escaped/expected.html @@ -1,2 +1 @@ -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/packages/marko/test/render/fixtures/attr-newline-escaped/vdom-expected.html b/packages/marko/test/render/fixtures/attr-newline-escaped/vdom-expected.html index 31bd5ddd4..686c749a5 100644 --- a/packages/marko/test/render/fixtures/attr-newline-escaped/vdom-expected.html +++ b/packages/marko/test/render/fixtures/attr-newline-escaped/vdom-expected.html @@ -1,2 +1 @@ -
    +
    diff --git a/packages/marko/test/render/fixtures/attrs-normalize-for-native-tag/expected.html b/packages/marko/test/render/fixtures/attrs-normalize-for-native-tag/expected.html index c8de4f84b..d62ab664b 100644 --- a/packages/marko/test/render/fixtures/attrs-normalize-for-native-tag/expected.html +++ b/packages/marko/test/render/fixtures/attrs-normalize-for-native-tag/expected.html @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/packages/marko/test/render/fixtures/attrs-normalize-for-native-tag/vdom-expected.html b/packages/marko/test/render/fixtures/attrs-normalize-for-native-tag/vdom-expected.html index 344b4c9b0..cad0fad41 100644 --- a/packages/marko/test/render/fixtures/attrs-normalize-for-native-tag/vdom-expected.html +++ b/packages/marko/test/render/fixtures/attrs-normalize-for-native-tag/vdom-expected.html @@ -1 +1 @@ - + diff --git a/packages/marko/test/render/fixtures/attrs/expected.html b/packages/marko/test/render/fixtures/attrs/expected.html index b997348ee..5b6a9f059 100644 --- a/packages/marko/test/render/fixtures/attrs/expected.html +++ b/packages/marko/test/render/fixtures/attrs/expected.html @@ -1 +1 @@ -
    Hello World!
    \ No newline at end of file +
    Hello World!
    \ No newline at end of file diff --git a/packages/marko/test/render/fixtures/await-client-reorder-cspnonce/test.js b/packages/marko/test/render/fixtures/await-client-reorder-cspnonce/test.js index 2191857fc..9e904cbf6 100644 --- a/packages/marko/test/render/fixtures/await-client-reorder-cspnonce/test.js +++ b/packages/marko/test/render/fixtures/await-client-reorder-cspnonce/test.js @@ -1,5 +1,5 @@ -var extend = require("raptor-util/extend"); var expect = require("chai").expect; +var extend = require("raptor-util/extend"); exports.templateData = { outer: Promise.resolve(), diff --git a/packages/marko/test/render/fixtures/await-client-reorder-invoked-once/test.js b/packages/marko/test/render/fixtures/await-client-reorder-invoked-once/test.js index acac380c5..76724d6eb 100644 --- a/packages/marko/test/render/fixtures/await-client-reorder-invoked-once/test.js +++ b/packages/marko/test/render/fixtures/await-client-reorder-invoked-once/test.js @@ -1,5 +1,5 @@ -const extend = require("raptor-util/extend"); const expect = require("chai").expect; +const extend = require("raptor-util/extend"); exports.templateData = { outer: Promise.resolve(), diff --git a/packages/marko/test/render/fixtures/await-client-reorder-mixed/test.js b/packages/marko/test/render/fixtures/await-client-reorder-mixed/test.js index 77dbe60ed..c7b9086dc 100644 --- a/packages/marko/test/render/fixtures/await-client-reorder-mixed/test.js +++ b/packages/marko/test/render/fixtures/await-client-reorder-mixed/test.js @@ -1,5 +1,5 @@ -var extend = require("raptor-util/extend"); var expect = require("chai").expect; +var extend = require("raptor-util/extend"); exports.templateData = { outer: Promise.resolve(), diff --git a/packages/marko/test/render/fixtures/await-client-reorder-nested/test.js b/packages/marko/test/render/fixtures/await-client-reorder-nested/test.js index 4d6361204..9ae4c7792 100644 --- a/packages/marko/test/render/fixtures/await-client-reorder-nested/test.js +++ b/packages/marko/test/render/fixtures/await-client-reorder-nested/test.js @@ -1,5 +1,5 @@ -var extend = require("raptor-util/extend"); var expect = require("chai").expect; +var extend = require("raptor-util/extend"); exports.templateData = { outer: Promise.resolve(), diff --git a/packages/marko/test/render/fixtures/await-client-reorder-sync/test.js b/packages/marko/test/render/fixtures/await-client-reorder-sync/test.js index 15d6f8df3..db29efcf5 100644 --- a/packages/marko/test/render/fixtures/await-client-reorder-sync/test.js +++ b/packages/marko/test/render/fixtures/await-client-reorder-sync/test.js @@ -1,5 +1,5 @@ -var extend = require("raptor-util/extend"); var expect = require("chai").expect; +var extend = require("raptor-util/extend"); exports.templateData = { userDataProvider: { name: "Frank" }, diff --git a/packages/marko/test/render/fixtures/await-client-reorder/test.js b/packages/marko/test/render/fixtures/await-client-reorder/test.js index e359f29b0..5bb53fd73 100644 --- a/packages/marko/test/render/fixtures/await-client-reorder/test.js +++ b/packages/marko/test/render/fixtures/await-client-reorder/test.js @@ -1,5 +1,5 @@ -var extend = require("raptor-util/extend"); var expect = require("chai").expect; +var extend = require("raptor-util/extend"); exports.templateData = { outer: Promise.resolve(), diff --git a/packages/marko/test/render/fixtures/await-error-rethrow-catch/template.marko b/packages/marko/test/render/fixtures/await-error-rethrow-catch/template.marko new file mode 100644 index 000000000..dabf19703 --- /dev/null +++ b/packages/marko/test/render/fixtures/await-error-rethrow-catch/template.marko @@ -0,0 +1,10 @@ +--- +BEFORE + + <@then|testData|>Success! + <@catch|err|> + $ throw err + + +AFTER +--- \ No newline at end of file diff --git a/packages/marko/test/render/fixtures/await-error-rethrow-catch/test.js b/packages/marko/test/render/fixtures/await-error-rethrow-catch/test.js new file mode 100644 index 000000000..f53755306 --- /dev/null +++ b/packages/marko/test/render/fixtures/await-error-rethrow-catch/test.js @@ -0,0 +1,10 @@ +var expect = require("chai").expect; + +exports.templateData = {}; + +exports.skip_vdom = "VDOM does not support async components"; + +exports.checkError = function (e) { + var message = e.toString(); + expect(message).to.contain("Something went wrong"); +}; diff --git a/packages/marko/test/render/fixtures/await-timeout/test.js b/packages/marko/test/render/fixtures/await-timeout/test.js index 4aa8e7e53..d7498e857 100644 --- a/packages/marko/test/render/fixtures/await-timeout/test.js +++ b/packages/marko/test/render/fixtures/await-timeout/test.js @@ -1,5 +1,5 @@ -var extend = require("raptor-util/extend"); var expect = require("chai").expect; +var extend = require("raptor-util/extend"); exports.templateData = { getUserInfoShort: () => diff --git a/packages/marko/test/render/fixtures/default-attributes/tags/test-default-attributes/renderer.js b/packages/marko/test/render/fixtures/default-attributes/tags/test-default-attributes/renderer.js index 714ccc692..cfb09cedb 100644 --- a/packages/marko/test/render/fixtures/default-attributes/tags/test-default-attributes/renderer.js +++ b/packages/marko/test/render/fixtures/default-attributes/tags/test-default-attributes/renderer.js @@ -2,6 +2,6 @@ exports.render = function (input, out) { out.write( "[" + [input.prop1, input.prop2, input.default1, input.default2].join(",") + - "]" + "]", ); }; diff --git a/packages/marko/test/render/fixtures/dynamic-tag-object-class-style/expected.html b/packages/marko/test/render/fixtures/dynamic-tag-object-class-style/expected.html index 9cb35092d..1f739ee52 100644 --- a/packages/marko/test/render/fixtures/dynamic-tag-object-class-style/expected.html +++ b/packages/marko/test/render/fixtures/dynamic-tag-object-class-style/expected.html @@ -1 +1 @@ -My nested content \ No newline at end of file +My nested content \ No newline at end of file diff --git a/packages/marko/test/render/fixtures/dynamic-tag-object-class-style/vdom-expected.html b/packages/marko/test/render/fixtures/dynamic-tag-object-class-style/vdom-expected.html index ae82c0a8c..4d897184a 100644 --- a/packages/marko/test/render/fixtures/dynamic-tag-object-class-style/vdom-expected.html +++ b/packages/marko/test/render/fixtures/dynamic-tag-object-class-style/vdom-expected.html @@ -1,2 +1,2 @@ - + "My nested content" diff --git a/packages/marko/test/render/fixtures/nested-tags-concise/tags/test-nested-tags-tabs/renderer.js b/packages/marko/test/render/fixtures/nested-tags-concise/tags/test-nested-tags-tabs/renderer.js index 8f1c5fb2b..09aa534fc 100644 --- a/packages/marko/test/render/fixtures/nested-tags-concise/tags/test-nested-tags-tabs/renderer.js +++ b/packages/marko/test/render/fixtures/nested-tags-concise/tags/test-nested-tags-tabs/renderer.js @@ -7,6 +7,6 @@ exports.renderer = function (input, out) { { tabs: tabs, }, - out + out, ); }; diff --git a/packages/marko/test/render/fixtures/nested-tags-empty-body/tags/test-nested-tags-tabs/renderer.js b/packages/marko/test/render/fixtures/nested-tags-empty-body/tags/test-nested-tags-tabs/renderer.js index 8f1c5fb2b..09aa534fc 100644 --- a/packages/marko/test/render/fixtures/nested-tags-empty-body/tags/test-nested-tags-tabs/renderer.js +++ b/packages/marko/test/render/fixtures/nested-tags-empty-body/tags/test-nested-tags-tabs/renderer.js @@ -7,6 +7,6 @@ exports.renderer = function (input, out) { { tabs: tabs, }, - out + out, ); }; diff --git a/packages/marko/test/render/fixtures/nested-tags-repeated-parent/tags/test-nested-tags-overlay/renderer.js b/packages/marko/test/render/fixtures/nested-tags-repeated-parent/tags/test-nested-tags-overlay/renderer.js index d7afd2c85..466b7329d 100644 --- a/packages/marko/test/render/fixtures/nested-tags-repeated-parent/tags/test-nested-tags-overlay/renderer.js +++ b/packages/marko/test/render/fixtures/nested-tags-repeated-parent/tags/test-nested-tags-overlay/renderer.js @@ -11,6 +11,6 @@ exports.renderer = function (input, out) { body: body, footer: footer, }, - out + out, ); }; diff --git a/packages/marko/test/render/fixtures/nested-tags-repeated/tags/test-nested-tags-tabs/renderer.js b/packages/marko/test/render/fixtures/nested-tags-repeated/tags/test-nested-tags-tabs/renderer.js index 8f1c5fb2b..09aa534fc 100644 --- a/packages/marko/test/render/fixtures/nested-tags-repeated/tags/test-nested-tags-tabs/renderer.js +++ b/packages/marko/test/render/fixtures/nested-tags-repeated/tags/test-nested-tags-tabs/renderer.js @@ -7,6 +7,6 @@ exports.renderer = function (input, out) { { tabs: tabs, }, - out + out, ); }; diff --git a/packages/marko/test/render/fixtures/nested-tags-self-closing/tags/test-nested-tags-tabs/renderer.js b/packages/marko/test/render/fixtures/nested-tags-self-closing/tags/test-nested-tags-tabs/renderer.js index 8f1c5fb2b..09aa534fc 100644 --- a/packages/marko/test/render/fixtures/nested-tags-self-closing/tags/test-nested-tags-tabs/renderer.js +++ b/packages/marko/test/render/fixtures/nested-tags-self-closing/tags/test-nested-tags-tabs/renderer.js @@ -7,6 +7,6 @@ exports.renderer = function (input, out) { { tabs: tabs, }, - out + out, ); }; diff --git a/packages/marko/test/render/fixtures/nested-tags/tags/test-nested-tags-overlay/renderer.js b/packages/marko/test/render/fixtures/nested-tags/tags/test-nested-tags-overlay/renderer.js index d7afd2c85..466b7329d 100644 --- a/packages/marko/test/render/fixtures/nested-tags/tags/test-nested-tags-overlay/renderer.js +++ b/packages/marko/test/render/fixtures/nested-tags/tags/test-nested-tags-overlay/renderer.js @@ -11,6 +11,6 @@ exports.renderer = function (input, out) { body: body, footer: footer, }, - out + out, ); }; diff --git a/packages/marko/test/render/fixtures/shorthand-div-id-dynamic/expected.html b/packages/marko/test/render/fixtures/shorthand-div-id-dynamic/expected.html index da125c09e..331c15bfe 100644 --- a/packages/marko/test/render/fixtures/shorthand-div-id-dynamic/expected.html +++ b/packages/marko/test/render/fixtures/shorthand-div-id-dynamic/expected.html @@ -1 +1 @@ -
    Hello Frank!
    \ No newline at end of file +
    Hello Frank!
    \ No newline at end of file diff --git a/packages/marko/test/render/fixtures/shorthand-div-id-dynamic/vdom-expected.html b/packages/marko/test/render/fixtures/shorthand-div-id-dynamic/vdom-expected.html index 76cd27f93..f025b0e88 100644 --- a/packages/marko/test/render/fixtures/shorthand-div-id-dynamic/vdom-expected.html +++ b/packages/marko/test/render/fixtures/shorthand-div-id-dynamic/vdom-expected.html @@ -1,2 +1,2 @@ -
    +
    "Hello Frank!" diff --git a/packages/marko/test/render/fixtures/shorthand-div-id/expected.html b/packages/marko/test/render/fixtures/shorthand-div-id/expected.html index 0a5e17ab3..d6d205e70 100644 --- a/packages/marko/test/render/fixtures/shorthand-div-id/expected.html +++ b/packages/marko/test/render/fixtures/shorthand-div-id/expected.html @@ -1 +1 @@ -
    Hello Frank!
    \ No newline at end of file +
    Hello Frank!
    \ No newline at end of file diff --git a/packages/marko/test/render/fixtures/shorthand-div-id/vdom-expected.html b/packages/marko/test/render/fixtures/shorthand-div-id/vdom-expected.html index cb649b93a..39a8fc06f 100644 --- a/packages/marko/test/render/fixtures/shorthand-div-id/vdom-expected.html +++ b/packages/marko/test/render/fixtures/shorthand-div-id/vdom-expected.html @@ -1,2 +1,2 @@ -
    +
    "Hello Frank!" diff --git a/packages/marko/test/render/fixtures/shorthand-div.foo/expected.html b/packages/marko/test/render/fixtures/shorthand-div.foo/expected.html index dc957e185..84360ac5d 100644 --- a/packages/marko/test/render/fixtures/shorthand-div.foo/expected.html +++ b/packages/marko/test/render/fixtures/shorthand-div.foo/expected.html @@ -1 +1 @@ -
    Hello Frank!
    \ No newline at end of file +
    Hello Frank!
    \ No newline at end of file diff --git a/packages/marko/test/render/fixtures/shorthand-div.foo/vdom-expected.html b/packages/marko/test/render/fixtures/shorthand-div.foo/vdom-expected.html index 3d4028b01..c03cde215 100644 --- a/packages/marko/test/render/fixtures/shorthand-div.foo/vdom-expected.html +++ b/packages/marko/test/render/fixtures/shorthand-div.foo/vdom-expected.html @@ -1,2 +1,2 @@ -
    +
    "Hello Frank!" diff --git a/packages/marko/test/render/fixtures/spread-attribute-class-style-html-tag/expected.html b/packages/marko/test/render/fixtures/spread-attribute-class-style-html-tag/expected.html index b321a1b55..5a71c917d 100644 --- a/packages/marko/test/render/fixtures/spread-attribute-class-style-html-tag/expected.html +++ b/packages/marko/test/render/fixtures/spread-attribute-class-style-html-tag/expected.html @@ -1 +1 @@ -
    Hello spread
    \ No newline at end of file +
    Hello spread
    \ No newline at end of file diff --git a/packages/marko/test/render/fixtures/spread-attribute-class-style-html-tag/vdom-expected.html b/packages/marko/test/render/fixtures/spread-attribute-class-style-html-tag/vdom-expected.html index 8799c2efe..6f0daf0de 100644 --- a/packages/marko/test/render/fixtures/spread-attribute-class-style-html-tag/vdom-expected.html +++ b/packages/marko/test/render/fixtures/spread-attribute-class-style-html-tag/vdom-expected.html @@ -1,2 +1,2 @@ -
    +
    "Hello spread" diff --git a/packages/marko/test/render/fixtures/spread-attribute-no-mutate/expected.html b/packages/marko/test/render/fixtures/spread-attribute-no-mutate/expected.html index e4f002d56..d5f56b4c2 100644 --- a/packages/marko/test/render/fixtures/spread-attribute-no-mutate/expected.html +++ b/packages/marko/test/render/fixtures/spread-attribute-no-mutate/expected.html @@ -1 +1 @@ -
    {"hidden":false,"id":"custom","class":"test"}
    \ No newline at end of file +
    {"hidden":false,"id":"custom","class":"test"}
    \ No newline at end of file diff --git a/packages/marko/test/render/fixtures/spread-attribute-order-html-tag/expected.html b/packages/marko/test/render/fixtures/spread-attribute-order-html-tag/expected.html index 8f4bf4815..f8587f889 100644 --- a/packages/marko/test/render/fixtures/spread-attribute-order-html-tag/expected.html +++ b/packages/marko/test/render/fixtures/spread-attribute-order-html-tag/expected.html @@ -1 +1 @@ -
    Hello spread
    \ No newline at end of file +
    Hello spread
    \ No newline at end of file diff --git a/packages/marko/test/render/fixtures/style-attr-array-mixed/expected.html b/packages/marko/test/render/fixtures/style-attr-array-mixed/expected.html index 9347e5b96..8961a8fc3 100644 --- a/packages/marko/test/render/fixtures/style-attr-array-mixed/expected.html +++ b/packages/marko/test/render/fixtures/style-attr-array-mixed/expected.html @@ -1 +1 @@ -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/packages/marko/test/render/fixtures/style-attr-array-mixed/vdom-expected.html b/packages/marko/test/render/fixtures/style-attr-array-mixed/vdom-expected.html index bbea43e50..f4d4b0fb2 100644 --- a/packages/marko/test/render/fixtures/style-attr-array-mixed/vdom-expected.html +++ b/packages/marko/test/render/fixtures/style-attr-array-mixed/vdom-expected.html @@ -1 +1 @@ -
    +
    diff --git a/packages/marko/test/render/fixtures/style-attr-object-units/expected.html b/packages/marko/test/render/fixtures/style-attr-object-units/expected.html index 566038959..0f79fed12 100644 --- a/packages/marko/test/render/fixtures/style-attr-object-units/expected.html +++ b/packages/marko/test/render/fixtures/style-attr-object-units/expected.html @@ -1 +1 @@ -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/packages/marko/test/render/fixtures/style-attr-object-units/vdom-expected.html b/packages/marko/test/render/fixtures/style-attr-object-units/vdom-expected.html index d2b4ec49e..63e299a60 100644 --- a/packages/marko/test/render/fixtures/style-attr-object-units/vdom-expected.html +++ b/packages/marko/test/render/fixtures/style-attr-object-units/vdom-expected.html @@ -1 +1 @@ -
    +
    diff --git a/packages/marko/test/render/fixtures/style-attr-object/expected.html b/packages/marko/test/render/fixtures/style-attr-object/expected.html index 9347e5b96..8961a8fc3 100644 --- a/packages/marko/test/render/fixtures/style-attr-object/expected.html +++ b/packages/marko/test/render/fixtures/style-attr-object/expected.html @@ -1 +1 @@ -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/packages/marko/test/render/fixtures/style-attr-object/vdom-expected.html b/packages/marko/test/render/fixtures/style-attr-object/vdom-expected.html index bbea43e50..f4d4b0fb2 100644 --- a/packages/marko/test/render/fixtures/style-attr-object/vdom-expected.html +++ b/packages/marko/test/render/fixtures/style-attr-object/vdom-expected.html @@ -1 +1 @@ -
    +
    diff --git a/packages/marko/test/render/fixtures/style-attr-string/expected.html b/packages/marko/test/render/fixtures/style-attr-string/expected.html index 0cb217464..10befaf96 100644 --- a/packages/marko/test/render/fixtures/style-attr-string/expected.html +++ b/packages/marko/test/render/fixtures/style-attr-string/expected.html @@ -1 +1 @@ -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/packages/marko/test/render/fixtures/style-attr-string/vdom-expected.html b/packages/marko/test/render/fixtures/style-attr-string/vdom-expected.html index c414d7f29..0839640a9 100644 --- a/packages/marko/test/render/fixtures/style-attr-string/vdom-expected.html +++ b/packages/marko/test/render/fixtures/style-attr-string/vdom-expected.html @@ -1 +1 @@ -
    +
    diff --git a/packages/marko/test/render/fixtures/syntax-concise/tabs/renderer.js b/packages/marko/test/render/fixtures/syntax-concise/tabs/renderer.js index 8f1c5fb2b..09aa534fc 100644 --- a/packages/marko/test/render/fixtures/syntax-concise/tabs/renderer.js +++ b/packages/marko/test/render/fixtures/syntax-concise/tabs/renderer.js @@ -7,6 +7,6 @@ exports.renderer = function (input, out) { { tabs: tabs, }, - out + out, ); }; diff --git a/packages/marko/test/render/fixtures/syntax-mixed/tabs/renderer.js b/packages/marko/test/render/fixtures/syntax-mixed/tabs/renderer.js index 8f1c5fb2b..09aa534fc 100644 --- a/packages/marko/test/render/fixtures/syntax-mixed/tabs/renderer.js +++ b/packages/marko/test/render/fixtures/syntax-mixed/tabs/renderer.js @@ -7,6 +7,6 @@ exports.renderer = function (input, out) { { tabs: tabs, }, - out + out, ); }; diff --git a/packages/marko/test/render/fixtures/syntax-verbose/tabs/renderer.js b/packages/marko/test/render/fixtures/syntax-verbose/tabs/renderer.js index 8f1c5fb2b..09aa534fc 100644 --- a/packages/marko/test/render/fixtures/syntax-verbose/tabs/renderer.js +++ b/packages/marko/test/render/fixtures/syntax-verbose/tabs/renderer.js @@ -7,6 +7,6 @@ exports.renderer = function (input, out) { { tabs: tabs, }, - out + out, ); }; diff --git a/packages/marko/test/render/fixtures/tags-dir-null/test.js b/packages/marko/test/render/fixtures/tags-dir-null/test.js index 558a9d118..925e9d9a4 100644 --- a/packages/marko/test/render/fixtures/tags-dir-null/test.js +++ b/packages/marko/test/render/fixtures/tags-dir-null/test.js @@ -1,10 +1,13 @@ var expect = require("chai").expect; -var stripAnsi = require("strip-ansi"); exports.templateData = {}; exports.checkError = function (e) { - var message = stripAnsi(e.message); + var message = e.message.replace( + // eslint-disable-next-line no-control-regex + /([\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><])/g, + "", + ); //includes the tag it broke on expect(message).to.contain("test-hello"); diff --git a/packages/marko/test/render/index.test.js b/packages/marko/test/render/index.test.js index 795ea8491..94bddda0c 100644 --- a/packages/marko/test/render/index.test.js +++ b/packages/marko/test/render/index.test.js @@ -4,12 +4,12 @@ require("../__util__/test-init"); const fs = require("fs"); const path = require("path"); -const marko = require("marko"); -const autotest = require("mocha-autotest").default; -const domToString = require("../__util__/domToString"); -const createBrowserWithMarko = require("../__util__/create-marko-jsdom-module"); const expect = require("chai").expect; const toDiffableHtml = require("diffable-html"); +const marko = require("marko"); +const autotest = require("mocha-autotest").default; +const createBrowserWithMarko = require("../__util__/create-marko-jsdom-module"); +const domToString = require("../__util__/domToString"); const browser = createBrowserWithMarko(__dirname, ""); autotest("fixtures", { @@ -49,8 +49,8 @@ async function runRenderTest(fixture) { let main = !fs.existsSync(mainPath) ? {} : isVDOM - ? browser.require(mainPath) - : require(mainPath); + ? browser.require(mainPath) + : require(mainPath); let loadOptions = main && main.loadOptions; try { @@ -117,13 +117,13 @@ async function runRenderTest(fixture) { html = html.replace(/$/, ""); out.emit("finish"); }, - } + }, ); let asyncEventsVerifier = createAsyncVerifier( main, snapshot, out, - isVDOM + isVDOM, ); if (main.sync) { diff --git a/packages/marko/test/taglib-finder/fixtures/exports/_dist/components/dist-tag.marko b/packages/marko/test/taglib-finder/fixtures/exports/_dist/components/dist-tag.marko new file mode 100644 index 000000000..e69de29bb diff --git a/packages/marko/test/taglib-finder/fixtures/exports/components/dev-tag.marko b/packages/marko/test/taglib-finder/fixtures/exports/components/dev-tag.marko new file mode 100644 index 000000000..e69de29bb diff --git a/packages/marko/test/taglib-finder/fixtures/exports/marko.json b/packages/marko/test/taglib-finder/fixtures/exports/marko.json new file mode 100644 index 000000000..749ba06d9 --- /dev/null +++ b/packages/marko/test/taglib-finder/fixtures/exports/marko.json @@ -0,0 +1,3 @@ +{ + "exports": "_dist/components" +} diff --git a/packages/marko/test/taglib-finder/fixtures/exports/node_modules/included-dependency/_dist/components/included-tag.marko b/packages/marko/test/taglib-finder/fixtures/exports/node_modules/included-dependency/_dist/components/included-tag.marko new file mode 100644 index 000000000..e69de29bb diff --git a/packages/marko/test/taglib-finder/fixtures/exports/node_modules/included-dependency/marko.json b/packages/marko/test/taglib-finder/fixtures/exports/node_modules/included-dependency/marko.json new file mode 100644 index 000000000..0b02ca025 --- /dev/null +++ b/packages/marko/test/taglib-finder/fixtures/exports/node_modules/included-dependency/marko.json @@ -0,0 +1,3 @@ +{ + "exports": "_dist/components" +} \ No newline at end of file diff --git a/packages/marko/test/taglib-finder/fixtures/exports/node_modules/included-dependency/package.json b/packages/marko/test/taglib-finder/fixtures/exports/node_modules/included-dependency/package.json new file mode 100644 index 000000000..3e24efe29 --- /dev/null +++ b/packages/marko/test/taglib-finder/fixtures/exports/node_modules/included-dependency/package.json @@ -0,0 +1,4 @@ +{ + "name": "included-dependency", + "version": "0.0.1" +} diff --git a/packages/marko/test/taglib-finder/fixtures/exports/package.json b/packages/marko/test/taglib-finder/fixtures/exports/package.json new file mode 100644 index 000000000..c0378fd73 --- /dev/null +++ b/packages/marko/test/taglib-finder/fixtures/exports/package.json @@ -0,0 +1,7 @@ +{ + "name": "taglib-finder-test", + "version": "0.0.0", + "dependencies": { + "included-dependency": "0.0.1" + } +} diff --git a/packages/marko/test/taglib-finder/fixtures/exports/test.js b/packages/marko/test/taglib-finder/fixtures/exports/test.js new file mode 100644 index 000000000..baab01d84 --- /dev/null +++ b/packages/marko/test/taglib-finder/fixtures/exports/test.js @@ -0,0 +1,11 @@ +var expect = require("chai").expect; + +exports.check = function (taglibFinder) { + const discoveredTags = taglibFinder + .find(__dirname, []) + .flatMap((taglib) => Object.keys(taglib.tags)); + + expect(discoveredTags).to.include("included-tag"); + expect(discoveredTags).to.include("dev-tag"); + expect(discoveredTags).to.not.include("dist-tag"); +}; diff --git a/packages/marko/test/taglib-finder/index.test.js b/packages/marko/test/taglib-finder/index.test.js index 71f0c1c72..41a413c9d 100644 --- a/packages/marko/test/taglib-finder/index.test.js +++ b/packages/marko/test/taglib-finder/index.test.js @@ -6,9 +6,8 @@ var chai = require("chai"); chai.config.includeStack = true; require("chai").should(); require("marko/compiler"); -var autotest = require("mocha-autotest").default; - var taglibFinder = require("marko/taglib").finder; +var autotest = require("mocha-autotest").default; autotest("fixtures", (fixture) => { let test = fixture.test; diff --git a/packages/marko/test/taglib-loader/fixtures/custom-extensions/test.js b/packages/marko/test/taglib-loader/fixtures/custom-extensions/test.js index 83f47ce6c..20616d6ec 100644 --- a/packages/marko/test/taglib-loader/fixtures/custom-extensions/test.js +++ b/packages/marko/test/taglib-loader/fixtures/custom-extensions/test.js @@ -2,7 +2,7 @@ var nodePath = require("path"); exports.check = function (taglibLoader, expect) { var taglib = taglibLoader.loadTaglibFromFile( - nodePath.join(__dirname, "marko.json") + nodePath.join(__dirname, "marko.json"), ); expect(taglib != null).to.equal(true); diff --git a/packages/marko/test/taglib-loader/fixtures/paths/test.js b/packages/marko/test/taglib-loader/fixtures/paths/test.js index 003c48357..d63c61663 100644 --- a/packages/marko/test/taglib-loader/fixtures/paths/test.js +++ b/packages/marko/test/taglib-loader/fixtures/paths/test.js @@ -2,7 +2,7 @@ var nodePath = require("path"); exports.check = function (taglibLoader, expect) { var taglib = taglibLoader.loadTaglibFromFile( - nodePath.join(__dirname, "marko.json") + nodePath.join(__dirname, "marko.json"), ); expect(taglib != null).to.equal(true); @@ -11,19 +11,19 @@ exports.check = function (taglibLoader, expect) { var helloTagScanned = taglib.tags["test-hello-scanned"]; expect(helloTagScanned.filePath).to.equal( - nodePath.join(__dirname, "tags/test-hello-scanned/marko-tag.json") + nodePath.join(__dirname, "tags/test-hello-scanned/marko-tag.json"), ); expect(helloTagScanned.dir).to.equal( - nodePath.join(__dirname, "tags/test-hello-scanned") + nodePath.join(__dirname, "tags/test-hello-scanned"), ); expect(helloTagScanned.attributes.name.filePath).to.equal( - nodePath.join(__dirname, "tags/test-hello-scanned/marko-tag.json") + nodePath.join(__dirname, "tags/test-hello-scanned/marko-tag.json"), ); var helloTag = taglib.tags["test-hello"]; expect(helloTag.filePath).to.equal(nodePath.join(__dirname, "marko.json")); expect(helloTag.dir).to.equal(__dirname); expect(helloTag.attributes.name.filePath).to.equal( - nodePath.join(__dirname, "marko.json") + nodePath.join(__dirname, "marko.json"), ); }; diff --git a/packages/marko/test/taglib-loader/fixtures/repeated-nested-tag/test.js b/packages/marko/test/taglib-loader/fixtures/repeated-nested-tag/test.js index cf417465f..6e8fa648f 100644 --- a/packages/marko/test/taglib-loader/fixtures/repeated-nested-tag/test.js +++ b/packages/marko/test/taglib-loader/fixtures/repeated-nested-tag/test.js @@ -2,7 +2,7 @@ var nodePath = require("path"); exports.check = function (taglibLoader, expect) { var taglib = taglibLoader.loadTaglibFromFile( - nodePath.join(__dirname, "marko.json") + nodePath.join(__dirname, "marko.json"), ); expect(taglib != null).to.equal(true); diff --git a/packages/marko/test/taglib-loader/fixtures/shorthand-attrs-and-tags/test.js b/packages/marko/test/taglib-loader/fixtures/shorthand-attrs-and-tags/test.js index 19b4e1ae9..0e7273544 100644 --- a/packages/marko/test/taglib-loader/fixtures/shorthand-attrs-and-tags/test.js +++ b/packages/marko/test/taglib-loader/fixtures/shorthand-attrs-and-tags/test.js @@ -2,7 +2,7 @@ var nodePath = require("path"); exports.check = function (taglibLoader, expect) { var taglib = taglibLoader.loadTaglibFromFile( - nodePath.join(__dirname, "marko.json") + nodePath.join(__dirname, "marko.json"), ); expect(taglib != null).to.equal(true); @@ -11,7 +11,7 @@ exports.check = function (taglibLoader, expect) { expect(shorthandCheckbox.attributes.label.type).to.equal("object"); expect(shorthandCheckbox.nestedTags.label.type).to.equal("object"); expect(shorthandCheckbox.nestedTags.foo.attributes.bar.type).to.equal( - "string" + "string", ); var shorthandTabsTag = taglib.tags["shorthand-tabs"]; diff --git a/packages/marko/test/taglib-lookup/fixtures/de-dupe/test.js b/packages/marko/test/taglib-lookup/fixtures/de-dupe/test.js index 6a7e0aabf..b00a26284 100644 --- a/packages/marko/test/taglib-lookup/fixtures/de-dupe/test.js +++ b/packages/marko/test/taglib-lookup/fixtures/de-dupe/test.js @@ -3,7 +3,7 @@ var nodePath = require("path"); exports.check = function (markoCompiler, expect) { var taglibLookup = markoCompiler.taglibLookup; var lookup = taglibLookup.buildLookup( - nodePath.join(__dirname, "taglib-duplicate") + nodePath.join(__dirname, "taglib-duplicate"), ); // The "duplicate-bar" tag was declared in the lower diff --git a/packages/marko/test/taglib-lookup/fixtures/global-attrs/test.js b/packages/marko/test/taglib-lookup/fixtures/global-attrs/test.js index 5c158e4ec..7a7fc9f30 100644 --- a/packages/marko/test/taglib-lookup/fixtures/global-attrs/test.js +++ b/packages/marko/test/taglib-lookup/fixtures/global-attrs/test.js @@ -4,7 +4,7 @@ exports.check = function (markoCompiler, expect) { // console.log('LOOKUP: ', Object.keys(lookup.attributes)); var attrDef = lookup.getAttribute( "test-dynamic-attributes", - "global-attribute" + "global-attribute", ); expect(attrDef != null).to.equal(true); expect(attrDef.type).to.equal("boolean"); diff --git a/packages/marko/test/vdom-create/fixtures/appendDocumentFragment-children/index.js b/packages/marko/test/vdom-create/fixtures/appendDocumentFragment-children/index.js index 561c84341..7f288d41f 100644 --- a/packages/marko/test/vdom-create/fixtures/appendDocumentFragment-children/index.js +++ b/packages/marko/test/vdom-create/fixtures/appendDocumentFragment-children/index.js @@ -5,7 +5,7 @@ module.exports = function (helpers) { var docFragment = root.___appendDocumentFragment(); docFragment.___appendChild( - helpers.vdom.createElement("div", { class: "middle-child" }) + helpers.vdom.createElement("div", { class: "middle-child" }), ); root.e("div", { class: "last-child" }); diff --git a/packages/marko/test/vdom-create/fixtures/attributes-null-false/index.js b/packages/marko/test/vdom-create/fixtures/attributes-null-false/index.js index fe7f36e93..354eee16d 100644 --- a/packages/marko/test/vdom-create/fixtures/attributes-null-false/index.js +++ b/packages/marko/test/vdom-create/fixtures/attributes-null-false/index.js @@ -11,7 +11,7 @@ module.exports = function (helpers) { "data-bar": false, checked: true, }, - 0 + 0, ) .e("a", null, 0); }; diff --git a/packages/marko/test/vdom-create/fixtures/cloneNode-documentFragment/index.js b/packages/marko/test/vdom-create/fixtures/cloneNode-documentFragment/index.js index 520d45399..5c00e6d1e 100644 --- a/packages/marko/test/vdom-create/fixtures/cloneNode-documentFragment/index.js +++ b/packages/marko/test/vdom-create/fixtures/cloneNode-documentFragment/index.js @@ -6,7 +6,7 @@ module.exports = function (helpers) { null /* attrs */, null /* key */, null /* component */, - null /* child count */ + null /* child count */, ); var docFragment = helpers.vdom.createDocumentFragment(); diff --git a/packages/marko/test/vdom-create/fixtures/cloneNode/index.js b/packages/marko/test/vdom-create/fixtures/cloneNode/index.js index 6cfe68a76..91ee0b406 100644 --- a/packages/marko/test/vdom-create/fixtures/cloneNode/index.js +++ b/packages/marko/test/vdom-create/fixtures/cloneNode/index.js @@ -10,7 +10,7 @@ module.exports = function (helpers) { }, null, null, - 1 /* childCount */ + 1 /* childCount */, ) .e( "svg", @@ -20,7 +20,7 @@ module.exports = function (helpers) { }, null, null, - 1 + 1, ) .e( "circle", @@ -35,7 +35,7 @@ module.exports = function (helpers) { }, null, null, - 0 + 0, ); var clone = el.___cloneNode(); diff --git a/packages/marko/test/vdom-create/fixtures/createAttributes/index.js b/packages/marko/test/vdom-create/fixtures/createAttributes/index.js index 263ad25f3..ccdf11cbb 100644 --- a/packages/marko/test/vdom-create/fixtures/createAttributes/index.js +++ b/packages/marko/test/vdom-create/fixtures/createAttributes/index.js @@ -12,7 +12,7 @@ module.exports = function (helpers) { null, null /* key */, null /* component */, - 2 /* childCount */ + 2 /* childCount */, ) .e("span", null, null /* key */, null /* component */, 1) .e("a", attributes, null /* key */, null /* component */, 1) diff --git a/packages/marko/test/vdom-create/fixtures/doc-fragment-deeply-nested/index.js b/packages/marko/test/vdom-create/fixtures/doc-fragment-deeply-nested/index.js index ef8a56aa0..dec02dcf3 100644 --- a/packages/marko/test/vdom-create/fixtures/doc-fragment-deeply-nested/index.js +++ b/packages/marko/test/vdom-create/fixtures/doc-fragment-deeply-nested/index.js @@ -7,18 +7,18 @@ module.exports = function (helpers) { docFragmentA.___appendChild(docFragmentAA); docFragmentAA.___appendChild( - helpers.vdom.createElement("div", { class: "aa1" }) + helpers.vdom.createElement("div", { class: "aa1" }), ); docFragmentAA.___appendChild( - helpers.vdom.createElement("div", { class: "aa2" }) + helpers.vdom.createElement("div", { class: "aa2" }), ); var docFragmentB = helpers.vdom.createDocumentFragment(); docFragmentB.___appendChild( - helpers.vdom.createElement("div", { class: "b1" }) + helpers.vdom.createElement("div", { class: "b1" }), ); docFragmentB.___appendChild( - helpers.vdom.createElement("div", { class: "b2" }) + helpers.vdom.createElement("div", { class: "b2" }), ); root.___appendChild(docFragmentA); diff --git a/packages/marko/test/vdom-create/fixtures/id/index.js b/packages/marko/test/vdom-create/fixtures/id/index.js index ca2cd6caf..6e3f3f25a 100644 --- a/packages/marko/test/vdom-create/fixtures/id/index.js +++ b/packages/marko/test/vdom-create/fixtures/id/index.js @@ -6,7 +6,7 @@ module.exports = function (helpers) { { id: "foo" }, null /* key */, null /* component */, - 0 /* childCount */ + 0 /* childCount */, ); expect(el.___attributes.id).to.equal("foo"); return el; diff --git a/packages/marko/test/vdom-create/fixtures/input-checked/index.js b/packages/marko/test/vdom-create/fixtures/input-checked/index.js index dfb2b4973..92ec9f9f2 100644 --- a/packages/marko/test/vdom-create/fixtures/input-checked/index.js +++ b/packages/marko/test/vdom-create/fixtures/input-checked/index.js @@ -4,7 +4,7 @@ module.exports = function (helpers) { var el = helpers.vdom.createElement( "input", { type: "checkbox", checked: true }, - 0 /* childCount */ + 0 /* childCount */, ); expect(el.checked).to.equal(true); diff --git a/packages/marko/test/vdom-create/fixtures/input-disabled/index.js b/packages/marko/test/vdom-create/fixtures/input-disabled/index.js index 3c716e3be..f2395560a 100644 --- a/packages/marko/test/vdom-create/fixtures/input-disabled/index.js +++ b/packages/marko/test/vdom-create/fixtures/input-disabled/index.js @@ -4,7 +4,7 @@ module.exports = function (helpers) { var el = helpers.vdom.createElement( "input", { disabled: "disabled" }, - 0 /* childCount */ + 0 /* childCount */, ); expect(el.disabled).to.equal(true); diff --git a/packages/marko/test/vdom-create/fixtures/input-value/index.js b/packages/marko/test/vdom-create/fixtures/input-value/index.js index b4124025e..6f8c4c2a8 100644 --- a/packages/marko/test/vdom-create/fixtures/input-value/index.js +++ b/packages/marko/test/vdom-create/fixtures/input-value/index.js @@ -6,7 +6,7 @@ module.exports = function (helpers) { { value: "foo" }, null /* key */, null /* component */, - 0 /* childCount */ + 0 /* childCount */, ); expect(el.___value).to.equal("foo"); diff --git a/packages/marko/test/vdom-create/fixtures/isSameNode-createElement/index.js b/packages/marko/test/vdom-create/fixtures/isSameNode-createElement/index.js index 579e1d203..2c122ecf3 100644 --- a/packages/marko/test/vdom-create/fixtures/isSameNode-createElement/index.js +++ b/packages/marko/test/vdom-create/fixtures/isSameNode-createElement/index.js @@ -20,14 +20,14 @@ module.exports = function (helpers) { null /* component */, 0 /* childCount */, null, - { i: "abc123" /* key */ } + { i: "abc123" /* key */ }, ); var span = helpers.vdom.createElement( "span", null, null /* key */, null /* component */, - 0 /* childCount */ + 0 /* childCount */, ); var divClone = div.___cloneNode(); diff --git a/packages/marko/test/vdom-create/fixtures/no-children/index.js b/packages/marko/test/vdom-create/fixtures/no-children/index.js index b39a4d813..98fd54e74 100644 --- a/packages/marko/test/vdom-create/fixtures/no-children/index.js +++ b/packages/marko/test/vdom-create/fixtures/no-children/index.js @@ -2,6 +2,6 @@ module.exports = function (helpers) { return helpers.vdom.createElement( "div", { class: "foo", onclick: "doSomething()" }, - 0 /* childCount */ + 0 /* childCount */, ); }; diff --git a/packages/marko/test/vdom-create/fixtures/option-selected/index.js b/packages/marko/test/vdom-create/fixtures/option-selected/index.js index d83ce1f91..c972960a9 100644 --- a/packages/marko/test/vdom-create/fixtures/option-selected/index.js +++ b/packages/marko/test/vdom-create/fixtures/option-selected/index.js @@ -4,7 +4,7 @@ module.exports = function (helpers) { var el = helpers.vdom.createElement( "option", { selected: "" }, - 0 /* childCount */ + 0 /* childCount */, ); expect(el.selected).to.equal(true); return el; diff --git a/packages/marko/test/vdom-create/fixtures/static-tree-svg/index.js b/packages/marko/test/vdom-create/fixtures/static-tree-svg/index.js index 324fa1bb8..8177836d7 100644 --- a/packages/marko/test/vdom-create/fixtures/static-tree-svg/index.js +++ b/packages/marko/test/vdom-create/fixtures/static-tree-svg/index.js @@ -2,13 +2,13 @@ module.exports = function (helpers) { var svg = helpers.vdom.createElement( "svg", { height: "150", width: "400" }, - null + null, ); var linearGradient = helpers.vdom.createElement( "linearGradient", { x1: "0%", y1: "0%", x2: "100%", y2: "0%" }, - null + null, ); svg.___appendChild(linearGradient); @@ -17,16 +17,16 @@ module.exports = function (helpers) { helpers.vdom.createElement( "stop", { offset: "0%", style: "stop-color:rgb(255,255,0);stop-opacity:1" }, - null - ) + null, + ), ); linearGradient.___appendChild( helpers.vdom.createElement( "stop", { offset: "100%", style: "stop-color:rgb(255,0,0);stop-opacity:1" }, - null - ) + null, + ), ); return svg; diff --git a/packages/marko/test/vdom-create/fixtures/static-tree/index.js b/packages/marko/test/vdom-create/fixtures/static-tree/index.js index f3e45d9cd..284735409 100644 --- a/packages/marko/test/vdom-create/fixtures/static-tree/index.js +++ b/packages/marko/test/vdom-create/fixtures/static-tree/index.js @@ -7,7 +7,7 @@ module.exports = function (helpers) { { href: "http://ebay.com" }, null /* key */, null /* component */, - 1 /* childCount */ + 1 /* childCount */, ) .t("eBay"); @@ -17,7 +17,7 @@ module.exports = function (helpers) { { class: "foo", onclick: "doSomething()" }, null /* key */, null /* component */, - 2 /* childCount */ + 2 /* childCount */, ) .n(link) .e("span", null, null /* key */, null /* component */, 0); diff --git a/packages/marko/test/vdom-create/fixtures/svg-dynamic/index.js b/packages/marko/test/vdom-create/fixtures/svg-dynamic/index.js index be5a37b96..4dc99023e 100644 --- a/packages/marko/test/vdom-create/fixtures/svg-dynamic/index.js +++ b/packages/marko/test/vdom-create/fixtures/svg-dynamic/index.js @@ -5,7 +5,7 @@ module.exports = function (helpers) { .createElement( "div", { class: "foo", onclick: "doSomething()" }, - 1 /* childCount */ + 1 /* childCount */, ) .e( "svg", @@ -14,7 +14,7 @@ module.exports = function (helpers) { height: "100", xmlns: "http://www.w3.org/2000/svg", }, - 1 + 1, ) .e( "circle", @@ -28,6 +28,6 @@ module.exports = function (helpers) { "xlink:href": "http://ebay.com/", }, 0, - FLAGS + FLAGS, ); }; diff --git a/packages/marko/test/vdom-create/fixtures/svg/index.js b/packages/marko/test/vdom-create/fixtures/svg/index.js index e5639ef10..ebcb42c1f 100644 --- a/packages/marko/test/vdom-create/fixtures/svg/index.js +++ b/packages/marko/test/vdom-create/fixtures/svg/index.js @@ -3,7 +3,7 @@ module.exports = function (helpers) { .createElement( "div", { class: "foo", onclick: "doSomething()" }, - 1 /* childCount */ + 1 /* childCount */, ) .e("svg", { width: "100", height: "100" }, 1) .e( @@ -17,6 +17,6 @@ module.exports = function (helpers) { fill: "yellow", "xlink:href": "http://ebay.com/", }, - 0 + 0, ); }; diff --git a/packages/marko/test/vdom-create/fixtures/textarea-invalid-child/index.js b/packages/marko/test/vdom-create/fixtures/textarea-invalid-child/index.js index 914c2fac7..c0a378c93 100644 --- a/packages/marko/test/vdom-create/fixtures/textarea-invalid-child/index.js +++ b/packages/marko/test/vdom-create/fixtures/textarea-invalid-child/index.js @@ -8,7 +8,7 @@ module.exports = function (helpers) { {}, null /* key */, null /* component */, - 2 /* childCount */ + 2 /* childCount */, ) .e("div", {}, null /* key */, null /* component */, 0) .t("bar"); diff --git a/packages/marko/test/vdom-create/fixtures/textarea/index.js b/packages/marko/test/vdom-create/fixtures/textarea/index.js index 8f7a33eb3..085a4f5c8 100644 --- a/packages/marko/test/vdom-create/fixtures/textarea/index.js +++ b/packages/marko/test/vdom-create/fixtures/textarea/index.js @@ -10,7 +10,7 @@ module.exports = function (helpers) { null /* key */, null /* component */, 2 /* childCount */, - FLAGS + FLAGS, ) .t("foo") .t("bar"); diff --git a/packages/marko/test/vdom-create/index.test.js b/packages/marko/test/vdom-create/index.test.js index 59796bf6d..65a345bd1 100644 --- a/packages/marko/test/vdom-create/index.test.js +++ b/packages/marko/test/vdom-create/index.test.js @@ -3,16 +3,16 @@ require("../__util__/test-init"); var fs = require("fs"); -var domToString = require("../__util__/domToString"); var createBrowser = require("jsdom-context-require"); +var vdom = require("marko/runtime/vdom/vdom"); var autotest = require("mocha-autotest").default; +var domToString = require("../__util__/domToString"); var document = createBrowser({ dir: __dirname, html: "", }).window.document; -var vdom = require("marko/runtime/vdom/vdom"); var VElement = vdom.___VElement; var VText = vdom.___VText; var VDocumentFragment = vdom.___VDocumentFragment; @@ -25,7 +25,7 @@ var vdomHelpers = { component, childCount, flags, - props + props, ) { return new VElement( tagName, @@ -34,7 +34,7 @@ var vdomHelpers = { component, childCount, flags, - props + props, ); }, createText: function (value) { diff --git a/packages/marko/test/vdom-virtualize/index.test.js b/packages/marko/test/vdom-virtualize/index.test.js index 4c5faea83..7c8e4eb07 100644 --- a/packages/marko/test/vdom-virtualize/index.test.js +++ b/packages/marko/test/vdom-virtualize/index.test.js @@ -1,11 +1,11 @@ "use strict"; require("../__util__/test-init"); -var virtualize = require("marko/runtime/vdom/vdom").___virtualize; var fs = require("fs"); -var toHTML = require("../__util__/toHTML"); var createBrowser = require("jsdom-context-require"); +var virtualize = require("marko/runtime/vdom/vdom").___virtualize; var autotest = require("mocha-autotest").default; +var toHTML = require("../__util__/toHTML"); autotest("fixtures", (fixture) => { let test = fixture.test; diff --git a/packages/runtime/scripts/bundle.ts b/packages/runtime/scripts/bundle.ts index 4a762ba56..6972a7864 100644 --- a/packages/runtime/scripts/bundle.ts +++ b/packages/runtime/scripts/bundle.ts @@ -28,7 +28,7 @@ Promise.all( await Promise.all([ fs.promises.writeFile( `${outdir}/meta.${format}.json`, - JSON.stringify(metafile) + JSON.stringify(metafile), ), fs.promises.writeFile( `${outdir}/package.json`, @@ -45,11 +45,11 @@ Promise.all( types: path.relative(outdir, `dist/${name}/index.d.ts`), }, null, - 2 - ) + 2, + ), ), ]); }); - }) - ) + }), + ), ); diff --git a/packages/runtime/src/__tests__/serializer.test.ts b/packages/runtime/src/__tests__/serializer.test.ts index 736f76984..92f9f4cd1 100644 Binary files a/packages/runtime/src/__tests__/serializer.test.ts and b/packages/runtime/src/__tests__/serializer.test.ts differ diff --git a/packages/runtime/src/common/helpers.ts b/packages/runtime/src/common/helpers.ts index 3cf748faa..e4b2e35ac 100644 --- a/packages/runtime/src/common/helpers.ts +++ b/packages/runtime/src/common/helpers.ts @@ -30,7 +30,7 @@ function stringifyStyleObject(name: string, value: unknown) { function toDelimitedString( val: unknown, delimiter: string, - stringify: (n: string, v: unknown) => string | undefined + stringify: (n: string, v: unknown) => string | undefined, ) { switch (typeof val) { case "string": diff --git a/packages/runtime/src/common/types.ts b/packages/runtime/src/common/types.ts index 38c716d68..0fa3816a2 100644 --- a/packages/runtime/src/common/types.ts +++ b/packages/runtime/src/common/types.ts @@ -9,7 +9,7 @@ export type ScopeContext = Record; export type Scope< T extends { [x: string | number]: unknown } = { [x: string | number]: unknown; - } + }, > = [...unknown[]] & { ___attrs: unknown; ___startNode: (Node & ChildNode) | Accessor | undefined; @@ -61,7 +61,7 @@ export type Accessor = string | number; export interface RenderResult { insertBefore( parent: ParentNode & Node, - reference: (ChildNode & Node) | null + reference: (ChildNode & Node) | null, ): InsertResult; toHTML(): Promise; toPipableStream(): NodeJS.ReadableStream; @@ -77,7 +77,7 @@ export interface ITemplate { parent: ParentNode & Node, reference: (ChildNode & Node) | null, input?: Input, - context?: Context + context?: Context, ): InsertResult; asHTML(input?: Input, context?: Context): Promise; asReadableStream(input?: Input, context?: Context): ReadableStream; @@ -85,7 +85,7 @@ export interface ITemplate { writeTo( writable: NodeJS.WritableStream, input?: Input, - context?: Context + context?: Context, ): void; } diff --git a/packages/runtime/src/dom/control-flow.ts b/packages/runtime/src/dom/control-flow.ts index a08089c56..ba49747cf 100644 --- a/packages/runtime/src/dom/control-flow.ts +++ b/packages/runtime/src/dom/control-flow.ts @@ -1,4 +1,5 @@ import { type Accessor, AccessorChars, type Scope } from "../common/types"; +import { defaultFragment } from "./fragment"; import { reconcile } from "./reconcile"; import { type Renderer, @@ -6,7 +7,6 @@ import { createScopeWithRenderer, } from "./renderer"; import { destroyScope, getEmptyScope } from "./scope"; -import { defaultFragment } from "./fragment"; import { type IntersectionSignal, type ValueSignal, @@ -16,11 +16,13 @@ import type { Template } from "./template"; type LoopForEach = ( value: unknown[], - cb: (key: unknown, args: unknown[]) => void + cb: (key: unknown, args: unknown[]) => void, ) => void; export function patchConditionals( - fn: (cond: T) => T + fn: ( + cond: T, + ) => T, ) { conditional = fn(conditional); conditionalOnlyChild = fn(conditionalOnlyChild); @@ -30,7 +32,7 @@ export let conditional = function conditional( nodeAccessor: Accessor, dynamicTagAttrs?: IntersectionSignal, intersection?: IntersectionSignal, - valueWithIntersection?: ValueSignal + valueWithIntersection?: ValueSignal, ): ValueSignal { const rendererAccessor = nodeAccessor + AccessorChars.COND_RENDERER; const childScopeAccessor = nodeAccessor + AccessorChars.COND_SCOPE; @@ -56,7 +58,7 @@ export let conditional = function conditional( // TODO: remove this, use return from conditional instead export function inConditionalScope( signal: IntersectionSignal, - nodeAccessor: Accessor /* branch?: Renderer */ + nodeAccessor: Accessor /* branch?: Renderer */, ): IntersectionSignal { const scopeAccessor = nodeAccessor + AccessorChars.COND_SCOPE; // const rendererAccessor = nodeAccessor + AccessorChars.COND_RENDERER; @@ -72,7 +74,7 @@ export function inConditionalScope( export function setConditionalRenderer( scope: Scope, nodeAccessor: Accessor, - newRenderer: RendererOrElementName | undefined + newRenderer: RendererOrElementName | undefined, ) { let newScope: ChildScope; let prevScope = scope[nodeAccessor + AccessorChars.COND_SCOPE] as ChildScope; @@ -84,7 +86,7 @@ export function setConditionalRenderer( createScopeWithRenderer( newRenderer, (scope[nodeAccessor + AccessorChars.COND_CONTEXT] ||= scope.___context), - scope + scope, ) as ChildScope; prevScope = prevScope || getEmptyScope(scope[nodeAccessor] as Comment); } else { @@ -95,14 +97,14 @@ export function setConditionalRenderer( newFragment.___insertBefore( newScope, prevFragment.___getParentNode(prevScope), - prevFragment.___getFirstNode(prevScope) + prevFragment.___getFirstNode(prevScope), ); prevFragment.___remove(destroyScope(prevScope)); } export let conditionalOnlyChild = function conditionalOnlyChild( nodeAccessor: Accessor, - action?: ValueSignal + action?: ValueSignal, ): ValueSignal { const rendererAccessor = nodeAccessor + AccessorChars.COND_RENDERER; const childScopeAccessor = nodeAccessor + AccessorChars.COND_SCOPE; @@ -122,7 +124,7 @@ export let conditionalOnlyChild = function conditionalOnlyChild( export function setConditionalRendererOnlyChild( scope: Scope, nodeAccessor: Accessor, - newRenderer: RendererOrElementName | undefined + newRenderer: RendererOrElementName | undefined, ) { const prevScope = scope[nodeAccessor + AccessorChars.COND_SCOPE] as Scope; const referenceNode = scope[nodeAccessor] as Element; @@ -133,12 +135,12 @@ export function setConditionalRendererOnlyChild( createScopeWithRenderer( newRenderer, (scope[nodeAccessor + AccessorChars.COND_CONTEXT] ||= scope.___context), - scope + scope, )); (newRenderer.___fragment ?? defaultFragment).___insertBefore( newScope, referenceNode, - null + null, ); } @@ -168,7 +170,7 @@ export function loopIn(nodeAccessor: Accessor, renderer: Renderer) { const [all, getKey = keyByFirstArg] = value as typeof value & [ all: Record, - getKey?: (key: string, v: unknown) => unknown + getKey?: (key: string, v: unknown) => unknown, ]; for (const key in all) { const v = all[key]; @@ -183,7 +185,7 @@ export function loopTo(nodeAccessor: Accessor, renderer: Renderer) { to: number, from: number, step: number, - getKey?: (v: number) => unknown + getKey?: (v: number) => unknown, ]; const steps = (to - from) / step; for (let i = 0; i <= steps; i++) { @@ -196,7 +198,7 @@ export function loopTo(nodeAccessor: Accessor, renderer: Renderer) { function loop( nodeAccessor: Accessor, renderer: Renderer, - forEach: LoopForEach + forEach: LoopForEach, ) { const loopScopeAccessor = nodeAccessor + AccessorChars.LOOP_SCOPE_ARRAY; const closureSignals = renderer.___closureSignals; @@ -204,7 +206,7 @@ function loop( return ( scope: Scope, value: [unknown, (...args: unknown[]) => unknown], - clean: boolean | 1 + clean: boolean | 1, ) => { if (clean) { for (const childScope of scope[loopScopeAccessor]) { @@ -245,7 +247,7 @@ function loop( renderer, (scope[nodeAccessor + AccessorChars.LOOP_CONTEXT] ||= scope.___context), - scope + scope, ); // TODO: once we can track moves // needsReconciliation = true; @@ -308,7 +310,7 @@ function loop( oldArray, newArray!, afterReference, - renderer.___fragment + renderer.___fragment, ); } @@ -320,7 +322,7 @@ function loop( // TODO: remove this, use return from loop instead export function inLoopScope( signal: IntersectionSignal, - loopNodeAccessor: Accessor + loopNodeAccessor: Accessor, ) { const loopScopeAccessor = loopNodeAccessor + AccessorChars.LOOP_SCOPE_ARRAY; return (scope: Scope, clean?: boolean | 1) => { diff --git a/packages/runtime/src/dom/dom.ts b/packages/runtime/src/dom/dom.ts index 8c94d35cb..dc6aa65a4 100644 --- a/packages/runtime/src/dom/dom.ts +++ b/packages/runtime/src/dom/dom.ts @@ -41,7 +41,7 @@ export function data(node: Text | Comment, value: unknown) { export function attrs( scope: Scope, elementAccessor: Accessor, - nextAttrs: Record + nextAttrs: Record, ) { const prevAttrs = scope[ elementAccessor + AccessorChars.PREVIOUS_ATTRIBUTES @@ -128,7 +128,7 @@ type EffectFn = (scope: S) => void | (() => void); export function userEffect( scope: S, index: number, - fn: EffectFn + fn: EffectFn, ) { const cleanup = scope[index] as ReturnType>; const nextCleanup = fn(scope); @@ -147,7 +147,7 @@ export function lifecycle( onMount?: (this: unknown) => void; onUpdate?: (this: unknown) => void; onDestroy?: (this: unknown) => void; - } + }, ) { let storedThis = scope[index] as typeof thisObj; if (!storedThis) { diff --git a/packages/runtime/src/dom/event.ts b/packages/runtime/src/dom/event.ts index b86388baa..4570562b0 100644 --- a/packages/runtime/src/dom/event.ts +++ b/packages/runtime/src/dom/event.ts @@ -14,7 +14,7 @@ export function on< T extends EventNames, H extends | Unset - | ((ev: GlobalEventHandlersEventMap[T], target: Element) => void) + | ((ev: GlobalEventHandlersEventMap[T], target: Element) => void), >(element: Element, type: T, handler: H) { const delegationRoot = element.getRootNode(); let delegationEvents = delegationRoots.get(delegationRoot); diff --git a/packages/runtime/src/dom/fragment.ts b/packages/runtime/src/dom/fragment.ts index 547a94bd0..353684f9d 100644 --- a/packages/runtime/src/dom/fragment.ts +++ b/packages/runtime/src/dom/fragment.ts @@ -5,7 +5,7 @@ export type DOMFragment = { ___insertBefore: ( scope: Scope, parent: Node & ParentNode, - nextSibling: Node | null + nextSibling: Node | null, ) => void; ___remove: (scope: Scope) => void; ___getParentNode: (scope: Scope) => Node & ParentNode; @@ -66,7 +66,7 @@ export const dynamicFragment: DOMFragment = { function getFirstNode( currentScope: Scope, nodeOrAccessor: (Node & ChildNode) | Accessor = currentScope.___startNode!, - last?: boolean + last?: boolean, ): Node & ChildNode { let scopeOrScopes: Scope | Scope[]; @@ -79,14 +79,14 @@ function getFirstNode( return typeof nodeOrAccessor === "object" ? nodeOrAccessor : !(scopeOrScopes = currentScope[ - nodeOrAccessor + AccessorChars.COND_SCOPE - ] as Scope | Scope[]) || scopeOrScopes === emptyMarkerArray - ? (currentScope[nodeOrAccessor] as Comment) - : (last ? getLastNode : getFirstNode)( - Array.isArray(scopeOrScopes) - ? scopeOrScopes[last ? scopeOrScopes.length - 1 : 0] - : scopeOrScopes - ); + nodeOrAccessor + AccessorChars.COND_SCOPE + ] as Scope | Scope[]) || scopeOrScopes === emptyMarkerArray + ? (currentScope[nodeOrAccessor] as Comment) + : (last ? getLastNode : getFirstNode)( + Array.isArray(scopeOrScopes) + ? scopeOrScopes[last ? scopeOrScopes.length - 1 : 0] + : scopeOrScopes, + ); } function getLastNode(currentScope: Scope) { diff --git a/packages/runtime/src/dom/queue.ts b/packages/runtime/src/dom/queue.ts index c19ca3729..9213a3812 100644 --- a/packages/runtime/src/dom/queue.ts +++ b/packages/runtime/src/dom/queue.ts @@ -1,6 +1,6 @@ import type { Scope } from "../common/types"; -import type { ValueSignal } from "./signals"; import { schedule } from "./schedule"; +import type { ValueSignal } from "./signals"; const enum BatchOffsets { SCOPE = 0, @@ -29,7 +29,7 @@ export function queueSource(scope: Scope, signal: ValueSignal, value: T) { export function queueEffect>( scope: S, - fn: T + fn: T, ) { currentEffects.push(scope, fn); } diff --git a/packages/runtime/src/dom/reconcile-domdiff.ts b/packages/runtime/src/dom/reconcile-domdiff.ts index 8cbb2fcf7..f71a550f1 100644 --- a/packages/runtime/src/dom/reconcile-domdiff.ts +++ b/packages/runtime/src/dom/reconcile-domdiff.ts @@ -9,7 +9,7 @@ export function reconcile( oldScopes: Scope[], newScopes: Scope[], afterReference: Node | null, - fragment: DOMFragment = defaultFragment + fragment: DOMFragment = defaultFragment, ): void { const bLength = newScopes.length; let aEnd = oldScopes.length; @@ -68,7 +68,7 @@ export function reconcile( fragment.___insertBefore( newScopes[bStart++], parent, - fragment.___getAfterNode(oldScopes[aStart++]) + fragment.___getAfterNode(oldScopes[aStart++]), ); fragment.___insertBefore(newScopes[--bEnd], parent, node); // mark the future index as identical (yeah, it's dirty, but cheap 👍) @@ -129,7 +129,7 @@ export function reconcile( fragment.___insertBefore( newScopes[bStart++], fragment.___getParentNode(oldNode), - fragment.___getFirstNode(oldNode) + fragment.___getFirstNode(oldNode), ); fragment.___remove(destroyScope(oldNode)); } diff --git a/packages/runtime/src/dom/reconcile-listdiff.ts b/packages/runtime/src/dom/reconcile-listdiff.ts index ab29ab1ee..afaa3b740 100644 --- a/packages/runtime/src/dom/reconcile-listdiff.ts +++ b/packages/runtime/src/dom/reconcile-listdiff.ts @@ -9,7 +9,7 @@ export function reconcile( oldScopes: Scope[], newScopes: Scope[], afterReference: Node | null, - fragment: DOMFragment = defaultFragment + fragment: DOMFragment = defaultFragment, ): void { let i: number; let j: number; @@ -42,7 +42,7 @@ export function reconcile( fragment.___insertBefore( b, parent, - a ? fragment.___getFirstNode(a) : afterReference + a ? fragment.___getFirstNode(a) : afterReference, ); j++; } else if (a === b) { @@ -63,7 +63,7 @@ export function reconcile( fragment.___insertBefore( b, parent, - a ? fragment.___getFirstNode(a) : afterReference + a ? fragment.___getFirstNode(a) : afterReference, ); j++; } else { @@ -71,7 +71,7 @@ export function reconcile( fragment.___insertBefore( oldScopes[wantedElmInOld], parent, - a ? fragment.___getFirstNode(a) : afterReference + a ? fragment.___getFirstNode(a) : afterReference, ); aIdx.delete(wantedElmInOld); oldScopes[wantedElmInOld] = null as unknown as Scope; diff --git a/packages/runtime/src/dom/reconcile-longest-increasing-subsequence.ts b/packages/runtime/src/dom/reconcile-longest-increasing-subsequence.ts index 477000573..f036016fd 100644 --- a/packages/runtime/src/dom/reconcile-longest-increasing-subsequence.ts +++ b/packages/runtime/src/dom/reconcile-longest-increasing-subsequence.ts @@ -9,7 +9,7 @@ export function reconcile( oldScopes: Scope[], newScopes: Scope[], afterReference: Node | null, - fragment: DOMFragment = defaultFragment + fragment: DOMFragment = defaultFragment, ): void { let oldStart = 0; let newStart = 0; diff --git a/packages/runtime/src/dom/renderer.ts b/packages/runtime/src/dom/renderer.ts index 06869359b..c69f6ccea 100644 --- a/packages/runtime/src/dom/renderer.ts +++ b/packages/runtime/src/dom/renderer.ts @@ -1,16 +1,16 @@ +import { setContext } from "../common/context"; import { type Accessor, AccessorChars, type Scope, type ScopeContext, } from "../common/types"; -import { setContext } from "../common/context"; -import type { IntersectionSignal, ValueSignal } from "./signals"; -import { bindRenderer, createScope } from "./scope"; -import { WalkCodes, trimWalkString, walk } from "./walker"; -import { type DOMFragment, defaultFragment } from "./fragment"; -import { attrs } from "./dom"; import { setConditionalRendererOnlyChild } from "./control-flow"; +import { attrs } from "./dom"; +import { type DOMFragment, defaultFragment } from "./fragment"; +import { bindRenderer, createScope } from "./scope"; +import type { IntersectionSignal, ValueSignal } from "./signals"; +import { WalkCodes, trimWalkString, walk } from "./walker"; const enum NodeType { Element = 1, @@ -43,7 +43,7 @@ type SetupFn = (scope: Scope) => void; export function createScopeWithRenderer( renderer: RendererOrElementName, context: ScopeContext, - ownerScope?: Scope + ownerScope?: Scope, ) { setContext(context); const newScope = createScope(context as ScopeContext); @@ -64,7 +64,7 @@ export function initContextProvider( scopeAccessor: number, valueAccessor: number, contextKey: string, - renderer: Renderer + renderer: Renderer, ) { const node: Node = scope[scopeAccessor]; const newScope = createScopeWithRenderer( @@ -73,13 +73,13 @@ export function initContextProvider( ...scope.___context, [contextKey]: [scope, valueAccessor], }, - scope + scope, ); (renderer.___fragment ?? defaultFragment).___insertBefore( newScope, node.parentNode!, - node.nextSibling + node.nextSibling, ); for (const signal of renderer.___closureSignals) { @@ -97,7 +97,7 @@ export function initRenderer(renderer: RendererOrElementName, scope: Scope) { ? dom.firstChild! : (dom as ChildNode), renderer.___walks ?? " ", - scope + scope, ); scope.___startNode = dom.nodeType === NodeType.DocumentFragment @@ -123,7 +123,7 @@ export function dynamicTagAttrs(nodeAccessor: Accessor, renderBody: Renderer) { return ( scope: Scope, getAttrs: () => Record, - clean?: boolean | 1 + clean?: boolean | 1, ) => { const renderer = scope[ nodeAccessor + AccessorChars.COND_RENDERER @@ -141,7 +141,7 @@ export function dynamicTagAttrs(nodeAccessor: Accessor, renderBody: Renderer) { setConditionalRendererOnlyChild( childScope, elementAccessor, - bindRenderer(scope, renderBody) + bindRenderer(scope, renderBody), ); } else if (renderer.___attrs) { if (clean) { @@ -155,7 +155,7 @@ export function dynamicTagAttrs(nodeAccessor: Accessor, renderBody: Renderer) { renderBody: bindRenderer(scope, renderBody) ?? attributes.renderBody, }, - clean + clean, ); } } @@ -171,7 +171,7 @@ export function createRenderer( fragment?: DOMFragment, dynamicStartNodeOffset?: Accessor, dynamicEndNodeOffset?: Accessor, - attrs?: ValueSignal + attrs?: ValueSignal, ): Renderer { return { ___template: template, @@ -195,7 +195,7 @@ function _clone(this: Renderer) { if (MARKO_DEBUG && this.___template === undefined) { throw new Error( "The renderer does not have a template to clone: " + - JSON.stringify(this) + JSON.stringify(this), ); } const walks = this.___walks; @@ -207,7 +207,7 @@ function _clone(this: Renderer) { walks.charCodeAt(walks.length - 1) !== WalkCodes.Get; this.___sourceNode = sourceNode = parse( this.___template, - ensureFragment as boolean + ensureFragment as boolean, ); } return sourceNode.cloneNode(true); diff --git a/packages/runtime/src/dom/resume.ts b/packages/runtime/src/dom/resume.ts index 1581735da..335281b61 100644 --- a/packages/runtime/src/dom/resume.ts +++ b/packages/runtime/src/dom/resume.ts @@ -19,7 +19,7 @@ export function register(id: string, obj: T): T { export const scopeLookup = {} as Record; export function init( - runtimeId = ResumeSymbols.DEFAULT_RUNTIME_ID /* [a-zA-Z0-9]+ */ + runtimeId = ResumeSymbols.DEFAULT_RUNTIME_ID /* [a-zA-Z0-9]+ */, ) { const runtimeLength = runtimeId.length; const resumeVar = runtimeId + ResumeSymbols.VAR_RESUME; @@ -64,7 +64,7 @@ export function init( s: typeof scopeLookup, ...rest: unknown[] ) => Record, - calls: Array + calls: Array, ) { if (doc.readyState !== "loading") { walker.currentNode = doc; @@ -119,7 +119,7 @@ export function init( ] = currentNode; // https://jsben.ch/dR7uk const childScopeIds = JSON.parse( - "[" + data.slice(data.indexOf(" ") + 1) + "]" + "[" + data.slice(data.indexOf(" ") + 1) + "]", ); for (let i = childScopeIds.length - 1; i >= 0; i--) { const childScope = getScope(childScopeIds[i]); @@ -139,7 +139,7 @@ export function init( for (let i = 0; i < calls.length; i += 2) { (registeredObjects.get(calls[i + 1] as string) as RegisteredFn)( - scopeLookup[calls[i] as number]! + scopeLookup[calls[i] as number]!, ); } } @@ -147,7 +147,7 @@ export function init( export function registerSubscriber( id: string, - signal: IntersectionSignal + signal: IntersectionSignal, // ownerValueAccessor: string | number, // getOwnerScope = (scope: Scope) => scope._! ) { diff --git a/packages/runtime/src/dom/scope.ts b/packages/runtime/src/dom/scope.ts index 20c7b93ae..7c0b26f0b 100644 --- a/packages/runtime/src/dom/scope.ts +++ b/packages/runtime/src/dom/scope.ts @@ -21,7 +21,7 @@ export function getEmptyScope(marker?: Comment) { export function write( scope: S, localIndex: K, - value: S[K] + value: S[K], ) { if (scope[localIndex] !== value) { scope[localIndex] = value; @@ -47,7 +47,7 @@ export const bindRenderer = binder( renderer && { ...renderer, ___owner: ownerScope, - } + }, ); type BindableFunction = ( @@ -63,7 +63,7 @@ export const bindFunction = binder( } : function bound(this: unknown) { return fn.call(this, boundScope); - } + }, ); export function destroyScope(scope: Scope) { diff --git a/packages/runtime/src/dom/signals.ts b/packages/runtime/src/dom/signals.ts index 928c30719..7d8aafe20 100644 --- a/packages/runtime/src/dom/signals.ts +++ b/packages/runtime/src/dom/signals.ts @@ -1,23 +1,23 @@ import { type Accessor, AccessorChars, type Scope } from "../common/types"; -import { bindFunction } from "./scope"; import type { RendererOrElementName } from "./renderer"; +import { bindFunction } from "./scope"; export type Signal = ValueSignal | IntersectionSignal; export type ValueSignal = ( scope: Scope, value: T, - clean?: 1 | boolean + clean?: 1 | boolean, ) => void; export type BoundValueSignal = ( value: T, - clean?: 1 | boolean + clean?: 1 | boolean, ) => void; export type IntersectionSignal = (( scope: Scope, - clean?: 1 | boolean + clean?: 1 | boolean, ) => void) & { ___subscribe?(scope: Scope): void; ___unsubscribe?(scope: Scope): void; @@ -30,7 +30,7 @@ export type BoundIntersectionSignal = ((clean?: 1 | boolean) => void) & { export function initValue( valueAccessor: Accessor, - fn: ValueSignal + fn: ValueSignal, ): ValueSignal { const markAccessor = valueAccessor + AccessorChars.MARK; return (scope, nextValue, clean) => { @@ -44,7 +44,7 @@ export function value( valueAccessor: Accessor, render?: ValueSignal, intersection?: IntersectionSignal, - valueWithIntersection?: ValueSignal + valueWithIntersection?: ValueSignal, ): ValueSignal { const markAccessor = valueAccessor + AccessorChars.MARK; return (scope, nextValue, clean) => { @@ -85,7 +85,7 @@ export function intersection( count: number, fn: IntersectionSignal, intersection?: IntersectionSignal, - valueWithIntersection?: ValueSignal + valueWithIntersection?: ValueSignal, ): IntersectionSignal { const cleanAccessor = AccessorChars.DYNAMIC + accessorId++; const markAccessor = cleanAccessor + AccessorChars.MARK; @@ -121,7 +121,7 @@ export function closure( fn: ValueSignal, _getOwnerScope?: (scope: Scope) => Scope, intersection?: IntersectionSignal, - valueWithIntersection?: ValueSignal + valueWithIntersection?: ValueSignal, ): IntersectionSignal { const cleanAccessor = AccessorChars.DYNAMIC + accessorId++; const markAccessor = cleanAccessor + 1; @@ -167,7 +167,7 @@ export function dynamicClosure( fn: ValueSignal, _getOwnerScope?: (scope: Scope) => Scope, intersection?: IntersectionSignal, - valueWithIntersection?: ValueSignal + valueWithIntersection?: ValueSignal, ): IntersectionSignal { const getOwnerScope = _getOwnerScope || defaultGetOwnerScope; const getOwnerValueAccessor = @@ -179,7 +179,7 @@ export function dynamicClosure( fn, getOwnerScope, intersection, - valueWithIntersection + valueWithIntersection, ); return Object.assign(signalFn, { ___subscribe(scope: Scope) { @@ -188,7 +188,7 @@ export function dynamicClosure( getOwnerValueAccessor(scope) + AccessorChars.SUBSCRIBERS; ownerScope[providerSubscriptionsAccessor] ??= new Set(); ownerScope[providerSubscriptionsAccessor].add( - bindFunction(scope, signalFn as any) + bindFunction(scope, signalFn as any), ); }, ___unsubscribe(scope: Scope) { @@ -196,7 +196,7 @@ export function dynamicClosure( const providerSubscriptionsAccessor = getOwnerValueAccessor(scope) + AccessorChars.SUBSCRIBERS; ownerScope[providerSubscriptionsAccessor]?.delete( - bindFunction(scope, signalFn as any) + bindFunction(scope, signalFn as any), ); }, }); @@ -207,7 +207,7 @@ export function contextClosure( contextKey: string, fn: ValueSignal, intersection?: IntersectionSignal, - valueWithIntersection?: ValueSignal + valueWithIntersection?: ValueSignal, ) { // TODO: might be viable as a reliable way to get a unique id // const dirtyAccessor = valueAccessor - 2; @@ -216,13 +216,13 @@ export function contextClosure( value(valueAccessor, fn), (scope) => scope.___context![contextKey][0], intersection, - valueWithIntersection + valueWithIntersection, ); } export function childClosures( closureSignals: IntersectionSignal[], - childAccessor: Accessor + childAccessor: Accessor, ) { const signal = (scope: Scope, clean?: boolean | 1) => { const childScope = scope[childAccessor] as Scope; @@ -263,24 +263,24 @@ export function dynamicSubscribers(valueAccessor: Accessor) { export function setTagVar( scope: Scope, childAccessor: Accessor, - tagVarSignal: ValueSignal + tagVarSignal: ValueSignal, ) { scope[childAccessor][AccessorChars.TAG_VARIABLE] = bindFunction( scope, - tagVarSignal as any + tagVarSignal as any, ) as BoundValueSignal; } export const tagVarSignal = ( scope: Scope, value: unknown, - clean?: boolean | 1 + clean?: boolean | 1, ) => scope[AccessorChars.TAG_VARIABLE]?.(value, clean); export const renderBodyClosures = ( renderBody: RendererOrElementName | undefined, childScope: Scope, - clean?: 1 | boolean + clean?: 1 | boolean, ) => { const signals = renderBody?.___closureSignals; if (signals) { @@ -293,7 +293,7 @@ export const renderBodyClosures = ( export const inMany = ( scopes: Scope[], clean: 1 | boolean | undefined, - signal: IntersectionSignal + signal: IntersectionSignal, ) => { for (const scope of scopes) { signal(scope, clean); @@ -312,7 +312,7 @@ export function inChild(childAccessor: Accessor, signal: ValueSignal) { } export function intersections( - signals: IntersectionSignal[] + signals: IntersectionSignal[], ): IntersectionSignal { return (scope, clean) => { for (const signal of signals) { diff --git a/packages/runtime/src/dom/template.ts b/packages/runtime/src/dom/template.ts index 1d7f47547..a6624b1f6 100644 --- a/packages/runtime/src/dom/template.ts +++ b/packages/runtime/src/dom/template.ts @@ -1,9 +1,9 @@ import type { ITemplate, Input, InsertResult, Scope } from "../common/types"; +import { defaultFragment } from "./fragment"; import { prepare, runEffects, runSync } from "./queue"; -import { createScope, destroyScope } from "./scope"; import { type Renderer, initRenderer } from "./renderer"; import { register } from "./resume"; -import { defaultFragment } from "./fragment"; +import { createScope, destroyScope } from "./scope"; export const createTemplate = (renderer: Renderer, templateId?: string) => register(templateId!, new Template(renderer)); @@ -18,7 +18,7 @@ export class Template implements ITemplate { insertBefore( parent: ParentNode & Node, reference: (ChildNode & Node) | null, - input?: Input + input?: Input, // context?: Context ): InsertResult { let scope!: Scope, dom!: Node; @@ -68,6 +68,6 @@ export class Template implements ITemplate { function unimplemented(methodName: string) { return new Error( - `${methodName}() is not implemented for the DOM compilation of a Marko template` + `${methodName}() is not implemented for the DOM compilation of a Marko template`, ); } diff --git a/packages/runtime/src/dom/walker.ts b/packages/runtime/src/dom/walker.ts index a55160e69..6485e0509 100644 --- a/packages/runtime/src/dom/walker.ts +++ b/packages/runtime/src/dom/walker.ts @@ -69,7 +69,7 @@ export function walk(startNode: Node, walkCodes: string, scope: Scope) { function walkInternal( walkCodes: string, scope: Scope, - currentWalkIndex: number + currentWalkIndex: number, ) { let value: number; let storedMultiplier = 0; @@ -108,7 +108,7 @@ function walkInternal( ? getDebugKey(currentScopeIndex++, "#childScope") : currentScopeIndex++ ] = createScope(scope.___context)), - currentWalkIndex + currentWalkIndex, )!; } else if (value === WalkCodes.EndChild) { return currentWalkIndex; diff --git a/packages/runtime/src/html/content.ts b/packages/runtime/src/html/content.ts index 48ea0cd46..b80583516 100644 --- a/packages/runtime/src/html/content.ts +++ b/packages/runtime/src/html/content.ts @@ -103,7 +103,7 @@ function quoteValue( val: string, startPos: number, quote: string, - escaped: string + escaped: string, ) { let result = quote; let lastPos = 0; diff --git a/packages/runtime/src/html/dynamic-tag.ts b/packages/runtime/src/html/dynamic-tag.ts index 0e919c9e0..54142fb68 100644 --- a/packages/runtime/src/html/dynamic-tag.ts +++ b/packages/runtime/src/html/dynamic-tag.ts @@ -1,4 +1,7 @@ import type { Renderer } from "../common/types"; +import { attrs } from "./attrs"; +import { serializedScope } from "./serializer"; +import type { Template } from "./template"; import { markResumeScopeStart, nextScopeId, @@ -6,9 +9,6 @@ import { write, writeScope, } from "./writer"; -import { attrs } from "./attrs"; -import type { Template } from "./template"; -import { serializedScope } from "./serializer"; const voidElements = new Set([ "area", @@ -34,7 +34,7 @@ interface RenderBodyObject { export function dynamicTag( tag: unknown | string | Renderer | RenderBodyObject | Template, input: Record, - renderBody: (() => void) | undefined + renderBody: (() => void) | undefined, ) { if (!tag && !renderBody) return undefined; @@ -61,7 +61,7 @@ export function dynamicTag( write(``); } else if (MARKO_DEBUG && renderBody) { throw new Error( - `A renderBody was provided for a "${tag}" tag, which cannot have children.` + `A renderBody was provided for a "${tag}" tag, which cannot have children.`, ); } @@ -79,13 +79,13 @@ export function dynamicTag( } let getDynamicRenderer = ( - tag: unknown | string | Renderer | RenderBodyObject | Template + tag: unknown | string | Renderer | RenderBodyObject | Template, ) => (tag as Template)._ || (tag as RenderBodyObject).renderBody || tag; export let createRenderer = (fn: Renderer) => fn; export function patchDynamicTag( newGetDynamicRenderer: typeof getDynamicRenderer, - newCreateRenderer: typeof createRenderer + newCreateRenderer: typeof createRenderer, ) { getDynamicRenderer = newGetDynamicRenderer; createRenderer = newCreateRenderer; diff --git a/packages/runtime/src/html/reorder-runtime.ts b/packages/runtime/src/html/reorder-runtime.ts index 1f1fdf2b5..172667333 100644 --- a/packages/runtime/src/html/reorder-runtime.ts +++ b/packages/runtime/src/html/reorder-runtime.ts @@ -12,7 +12,7 @@ export default function ( targetNode: Node | null | undefined, refNode: Node | null | undefined, nextNode: Node | null | undefined, - runtimePrefix: string + runtimePrefix: string, ) { runtimePrefix = "RUNTIME_ID$"; id = runtimePrefix + id; @@ -21,7 +21,7 @@ export default function ( (doc as any)[runtimePrefix + "w"] || ((doc as any)[runtimePrefix + "w"] = doc.createTreeWalker( doc, - 128 /** NodeFilter.SHOW_COMMENT */ + 128 /** NodeFilter.SHOW_COMMENT */, ) as CommentWalker); while ((node = walker.nextNode() as Comment)) { if (node.data.indexOf(runtimePrefix) === 0) { diff --git a/packages/runtime/src/html/serializer.ts b/packages/runtime/src/html/serializer.ts index 6f52c3383..1761a1866 100644 --- a/packages/runtime/src/html/serializer.ts +++ b/packages/runtime/src/html/serializer.ts @@ -32,7 +32,7 @@ export type Serializable = T & { export function register( entry: T, registryId: string, - scopeId?: number + scopeId?: number, ): Serializable { (entry as Serializable)[SYMBOL_REGISTRY_ID] = registryId; (entry as Serializable)[SYMBOL_SCOPE] = scopeId; @@ -45,7 +45,7 @@ export function getRegistryInfo(entry: Serializable) { export function makeSerializable( object: T, - serialize: (s: Serializer, accessor: string | number) => void + serialize: (s: Serializer, accessor: string | number) => void, ): T { (object as Serializable)[SYMBOL_SERIALIZE] = serialize; return object; @@ -176,7 +176,7 @@ export class Serializer { case Date: BUFFER.push( - 'new Date("' + (cur as Date).toISOString() + '")' + 'new Date("' + (cur as Date).toISOString() + '")', ); break; @@ -187,7 +187,7 @@ export class Serializer { case Map: BUFFER.push("new Map("); this.writeArray( - Array.from(cur as Map | Set) + Array.from(cur as Map | Set), ); BUFFER.push(")"); break; @@ -195,7 +195,7 @@ export class Serializer { case Set: BUFFER.push("new Set("); this.writeArray( - Array.from(cur as Map | Set) + Array.from(cur as Map | Set), ); BUFFER.push(")"); break; @@ -209,7 +209,7 @@ export class Serializer { default: return this.writeRegistered( cur as Serializable, - accessor + accessor, ); } break; @@ -244,7 +244,7 @@ export class Serializer { const ref = scope && this.getRef(scope, ""); if (ref === true || ref === false) { throw new Error( - "The scope has not yet been defined or is circular. This needs to be fixed in the serializer." + "The scope has not yet been defined or is circular. This needs to be fixed in the serializer.", ); } BUFFER.push(`${PARAM_BIND}("${registryId}"${ref ? "," + ref : ""})`); @@ -349,7 +349,7 @@ export class Serializer { ASSIGNMENTS.set( ref, - (ASSIGNMENTS.get(ref) || "") + toAssignment(parentRef, accessor) + "=" + (ASSIGNMENTS.get(ref) || "") + toAssignment(parentRef, accessor) + "=", ); return true; } diff --git a/packages/runtime/src/html/template.ts b/packages/runtime/src/html/template.ts index 465029c1e..e0a5ebc4b 100644 --- a/packages/runtime/src/html/template.ts +++ b/packages/runtime/src/html/template.ts @@ -1,4 +1,3 @@ -import { register } from "./serializer"; import type { Context, ITemplate, @@ -6,6 +5,7 @@ import type { InsertResult, Renderer, } from "../common/types"; +import { register } from "./serializer"; import { type Writable, createRenderFn } from "./writer"; export const createTemplate = (renderer: Renderer, id = "") => @@ -16,7 +16,7 @@ export class Template implements ITemplate { public writeTo: ( writable: Writable, input?: Input, - context?: Context + context?: Context, ) => void; constructor(renderer: Renderer) { @@ -48,7 +48,7 @@ export class Template implements ITemplate { }, }, input, - context + context, ); }); } @@ -72,7 +72,7 @@ export class Template implements ITemplate { }, }, input, - context + context, ); }, }); @@ -85,7 +85,7 @@ export class Template implements ITemplate { // This should throw outside of Node.js const dynamicRequire = typeof require === "function" ? require : undefined; const stream = dynamicRequire!( - "node:stream" + "node:stream", ) as typeof import("node:stream"); const readable = new stream.Readable({ read() { @@ -103,7 +103,7 @@ export class Template implements ITemplate { }, }, input, - context + context, ); }, }); diff --git a/packages/runtime/src/html/writer.ts b/packages/runtime/src/html/writer.ts index 93dde9f56..488aff384 100644 --- a/packages/runtime/src/html/writer.ts +++ b/packages/runtime/src/html/writer.ts @@ -11,7 +11,7 @@ import { Serializer } from "./serializer"; const runtimeId = ResumeSymbols.DEFAULT_RUNTIME_ID; const reorderRuntimeString = String(reorderRuntime).replace( "RUNTIME_ID", - runtimeId + runtimeId, ); type PartialScope = Record | unknown[]; @@ -55,7 +55,7 @@ export function createRenderFn(renderer: Renderer) { stream: Writable, input: Input = {}, context: Record = {}, - streamState: Partial = {} + streamState: Partial = {}, ) => { let remainingChildren = 1; @@ -222,7 +222,7 @@ function createInitialBuffer(stream: Writable): Buffer { export async function fork( promise: Promise, - renderResult: (result: T) => void + renderResult: (result: T) => void, ) { const originalBuffer = $_buffer!; const originalStreamState = $_streamData!; @@ -255,7 +255,7 @@ export async function fork( export function tryCatch( renderBody: () => void, - renderError: (err: Error) => void + renderError: (err: Error) => void, ) { const id = nextPlaceholderId(); let err: Error | null = null; @@ -274,7 +274,7 @@ export function tryCatch( tryBuffer, finalTryBuffer, errorBuffer, - finalErrorBuffer + finalErrorBuffer, ); }; @@ -304,7 +304,7 @@ export function tryCatch( export function tryPlaceholder( renderBody: () => void, - renderPlaceholder: () => void + renderPlaceholder: () => void, ) { const originalBuffer = $_buffer!; const asyncBuffer = createDetatchedBuffer(originalBuffer); @@ -331,7 +331,7 @@ export function tryPlaceholder( placeholderBuffer, finalPlaceholderBuffer, asyncBuffer, - finalAsyncBuffer + finalAsyncBuffer, ); } if (!remainingPlaceholders) { @@ -389,7 +389,7 @@ function replaceBuffers( placeholderStart: Buffer, placeholderEnd: Buffer, replacementStart: Buffer, - replacementEnd: Buffer + replacementEnd: Buffer, ) { if (placeholderStart.flushed) { addReplacementWrapper(id, replacementStart, replacementEnd); @@ -429,7 +429,7 @@ function replaceBuffers( function addReplacementWrapper( id: number, replacementStart: Buffer, - replacementEnd: Buffer + replacementEnd: Buffer, ) { let runtimeCall = runtimeId + ResumeSymbols.VAR_REORDER_RUNTIME; if (!$_streamData!.runtimeFlushed) { @@ -473,7 +473,7 @@ export function writeScope( assignTo: | PartialScope | PartialScope[] - | undefined = $_streamData!.scopeLookup.get(scopeId) + | undefined = $_streamData!.scopeLookup.get(scopeId), ) { if (assignTo !== undefined) { if (Array.isArray(assignTo)) { @@ -505,7 +505,7 @@ export function markResumeControlEnd(scopeId: number, index: Accessor) { export function markResumeControlSingleNodeEnd( scopeId: number, index: Accessor, - childScopeIds?: number | number[] + childScopeIds?: number | number[], ) { return `${ diff --git a/packages/translator-default/CHANGELOG.md b/packages/translator-default/CHANGELOG.md index be21af0e9..ed90a6499 100644 --- a/packages/translator-default/CHANGELOG.md +++ b/packages/translator-default/CHANGELOG.md @@ -1,5 +1,119 @@ # Change Log +## 5.31.11 + +### Patch Changes + +- [#2076](https://github.com/marko-js/marko/pull/2076) [`69b3ff5`](https://github.com/marko-js/marko/commit/69b3ff57c829418946e05c13b644a5560f589086) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Upgrade all package deps to latest + +- Updated dependencies [[`69b3ff5`](https://github.com/marko-js/marko/commit/69b3ff57c829418946e05c13b644a5560f589086)]: + - @marko/babel-utils@6.3.5 + +## 5.31.10 + +### Patch Changes + +- [#2074](https://github.com/marko-js/marko/pull/2074) [`bf23c566fac02f4e2991be357a95483663493b3f`](https://github.com/marko-js/marko/commit/bf23c566fac02f4e2991be357a95483663493b3f) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Upgrade package lock and built types. + +## 5.31.9 + +### Patch Changes + +- [#2069](https://github.com/marko-js/marko/pull/2069) [`977d69078`](https://github.com/marko-js/marko/commit/977d690784f1d97acb3494bb822fa852c1380685) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix issue with printing variable declarations with multiple variables. + +## 5.31.8 + +### Patch Changes + +- [#2060](https://github.com/marko-js/marko/pull/2060) [`648a94928`](https://github.com/marko-js/marko/commit/648a94928f662b04634a61395d5d48a956a8ff36) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Expose meta data about which child Marko templates were analyzed for a given compilation. + +- Updated dependencies [[`648a94928`](https://github.com/marko-js/marko/commit/648a94928f662b04634a61395d5d48a956a8ff36)]: + - @marko/babel-utils@6.3.4 + +## 5.31.7 + +### Patch Changes + +- [#2056](https://github.com/marko-js/marko/pull/2056) [`84f443d60`](https://github.com/marko-js/marko/commit/84f443d60539cc1b3382c6b16da4061070f97aca) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix issue when the Marko hot-reload runtime is loaded in native esm + +## 5.31.6 + +### Patch Changes + +- [#2054](https://github.com/marko-js/marko/pull/2054) [`1c5eccadf`](https://github.com/marko-js/marko/commit/1c5eccadf8d968552dbe8756905009107d783718) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix regression with @marko/babel-utils not exposing new parse helpers. + +- Updated dependencies [[`1c5eccadf`](https://github.com/marko-js/marko/commit/1c5eccadf8d968552dbe8756905009107d783718)]: + - @marko/babel-utils@6.3.3 + +## 5.31.5 + +### Patch Changes + +- [#2051](https://github.com/marko-js/marko/pull/2051) [`5354d4411`](https://github.com/marko-js/marko/commit/5354d44112c56fcbbd7f44dd3bf91be1e5a7747c) Thanks [@LuLaValva](https://github.com/LuLaValva)! - add ts to ast + +- Updated dependencies [[`5354d4411`](https://github.com/marko-js/marko/commit/5354d44112c56fcbbd7f44dd3bf91be1e5a7747c)]: + - @marko/babel-utils@6.3.2 + +## 5.31.4 + +### Patch Changes + +- [#2049](https://github.com/marko-js/marko/pull/2049) [`1554b1e1e`](https://github.com/marko-js/marko/commit/1554b1e1e53a75980af0b238cc27bed5ddfa215a) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Allow `template.marko` to act as `index.marko` for backword compat with v4/v3. + +## 5.31.3 + +### Patch Changes + +- [#2038](https://github.com/marko-js/marko/pull/2038) [`71a227a5f`](https://github.com/marko-js/marko/commit/71a227a5ff8b16c0bb983e082f28280518f712ce) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix issue where using the longhand nested attribute tag syntax in a marko.json with a `target-property` defined was not registering the alias as a known attribute, leading to compile errors. + +## 5.31.2 + +### Patch Changes + +- [#2032](https://github.com/marko-js/marko/pull/2032) [`034f96741`](https://github.com/marko-js/marko/commit/034f967419d840ae7b8a8cead6c657d5cc64b0a6) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Add js file extension to compiled import of the registry runtime. This improves prebundling in Vite. + +## 5.31.1 + +### Patch Changes + +- [#2020](https://github.com/marko-js/marko/pull/2020) [`6a4e947b5`](https://github.com/marko-js/marko/commit/6a4e947b5ac9944e61d7871d314a6325a0522d1d) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Ensure .marko files are resolved for legacy renderer taglib configs. + +## 5.31.0 + +### Minor Changes + +- [#2012](https://github.com/marko-js/marko/pull/2012) [`9aede281f`](https://github.com/marko-js/marko/commit/9aede281f95a788df03d607b7d6ca10d9025d39f) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Add compiler option to disable initializing components when outputting hydrate code. + +### Patch Changes + +- [#2012](https://github.com/marko-js/marko/pull/2012) [`17099cd8f`](https://github.com/marko-js/marko/commit/17099cd8ff4ef5868b79f32bdb682fd7393e7139) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Allow skipping output of virtual dependencies by returning a falsey value from the `resolveVirtualDependency` option. + +- [#2012](https://github.com/marko-js/marko/pull/2012) [`ec21e799f`](https://github.com/marko-js/marko/commit/ec21e799f39e74c3d5b0fcfb5839a3954fbc7ad0) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix issue where data (legacy alias of input) was overwritten by assignment but still being migrated. + +## 5.30.1 + +### Patch Changes + +- [#2008](https://github.com/marko-js/marko/pull/2008) [`1235cf700`](https://github.com/marko-js/marko/commit/1235cf7005447bdad7a84bacf20d40c7c457c03a) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Fix regression with static template literal expressions. + +- Updated dependencies [[`1235cf700`](https://github.com/marko-js/marko/commit/1235cf7005447bdad7a84bacf20d40c7c457c03a)]: + - @marko/babel-utils@6.3.1 + +## 5.30.0 + +### Minor Changes + +- [#2006](https://github.com/marko-js/marko/pull/2006) [`b2e70bc45`](https://github.com/marko-js/marko/commit/b2e70bc45006a8cccfa61ac99bbca40a71d05fd1) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Add compute node helper to replace babels `evaluate` helper. This helper is less aggressive and doesn't suffer from the false positives that popped up with babels version. + +### Patch Changes + +- [#2006](https://github.com/marko-js/marko/pull/2006) [`b2e70bc45`](https://github.com/marko-js/marko/commit/b2e70bc45006a8cccfa61ac99bbca40a71d05fd1) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Avoid adding trailing semicolon to style attribute output. + +- [#2006](https://github.com/marko-js/marko/pull/2006) [`d45962db1`](https://github.com/marko-js/marko/commit/d45962db1def9b025a1d75d98b4c655c0565e3ef) Thanks [@DylanPiercey](https://github.com/DylanPiercey)! - Include transitive Marko files loaded from `renderer` entry points in hydrate output. + +- Updated dependencies [[`b2e70bc45`](https://github.com/marko-js/marko/commit/b2e70bc45006a8cccfa61ac99bbca40a71d05fd1)]: + - @marko/babel-utils@6.3.0 + ## 5.29.2 ### Patch Changes diff --git a/packages/translator-default/package.json b/packages/translator-default/package.json index a0f783a87..5ddf60187 100644 --- a/packages/translator-default/package.json +++ b/packages/translator-default/package.json @@ -1,6 +1,6 @@ { "name": "@marko/translator-default", - "version": "5.29.2", + "version": "5.31.11", "description": "Translates Marko templates to the default Marko runtime.", "keywords": [ "babel", @@ -28,15 +28,14 @@ "build": "babel ./src --out-dir ./dist --delete-dir-on-start --copy-files --config-file ../../babel.config.js --env-name=production" }, "dependencies": { - "@babel/runtime": "^7.16.0", - "@marko/babel-utils": "^6.2.0", - "escape-string-regexp": "^4.0.0", - "magic-string": "^0.27.0", + "@babel/runtime": "^7.23.8", + "@marko/babel-utils": "^6.3.5", + "magic-string": "^0.30.5", "self-closing-tags": "^1.0.1" }, "devDependencies": { - "@marko/compiler": "^5.31.1", - "marko": "^5.29.2" + "@marko/compiler": "^5.34.4", + "marko": "^5.32.5" }, "peerDependencies": { "@marko/compiler": "^5.16.1", diff --git a/packages/translator-default/src/cdata/index[html].js b/packages/translator-default/src/cdata/index[html].js index 1c3dd5ce3..532ffd2a4 100644 --- a/packages/translator-default/src/cdata/index[html].js +++ b/packages/translator-default/src/cdata/index[html].js @@ -8,7 +8,7 @@ export default function (path) { path.replaceWith( withPreviousLocation( write``, - node - ) + node, + ), ); } diff --git a/packages/translator-default/src/cdata/index[vdom].js b/packages/translator-default/src/cdata/index[vdom].js index f262dc117..e4c2d041f 100644 --- a/packages/translator-default/src/cdata/index[vdom].js +++ b/packages/translator-default/src/cdata/index[vdom].js @@ -6,6 +6,6 @@ export default function (path) { const { node } = path; path.replaceWith( - withPreviousLocation(write("t", t.stringLiteral(node.value)), node) + withPreviousLocation(write("t", t.stringLiteral(node.value)), node), ); } diff --git a/packages/translator-default/src/class.js b/packages/translator-default/src/class.js index d82d69868..c58a5e964 100644 --- a/packages/translator-default/src/class.js +++ b/packages/translator-default/src/class.js @@ -13,7 +13,7 @@ export default function (path) { (prop) => prop.computed === false && t.isIdentifier(prop.key) && - prop.key.name === "onCreate" + prop.key.name === "onCreate", ); const objectProperties = body @@ -30,8 +30,8 @@ export default function (path) { t.assignmentExpression( "=", t.memberExpression(t.thisExpression(), prop.key, prop.computed), - prop.value || t.unaryExpression("void", t.numericLiteral(0)) - ) + prop.value || t.unaryExpression("void", t.numericLiteral(0)), + ), ); } @@ -40,7 +40,7 @@ export default function (path) { throw file.buildCodeFrameError( prop, - "Unsupported class property on component." + "Unsupported class property on component.", ); }) .filter(Boolean); @@ -52,8 +52,8 @@ export default function (path) { "method", t.identifier("onCreate"), [], - t.blockStatement([]) - )) + t.blockStatement([]), + )), ); } diff --git a/packages/translator-default/src/comment/index[html].js b/packages/translator-default/src/comment/index[html].js index a8efd1609..1ec7e2f07 100644 --- a/packages/translator-default/src/comment/index[html].js +++ b/packages/translator-default/src/comment/index[html].js @@ -8,7 +8,7 @@ export default function (path) { if (ieConditionalCommentRegExp.test(node.value)) { path.replaceWith( - withPreviousLocation(write``, node) + withPreviousLocation(write``, node), ); } else { path.remove(); diff --git a/packages/translator-default/src/declaration/index[html].js b/packages/translator-default/src/declaration/index[html].js index 59420841c..ea33564d1 100644 --- a/packages/translator-default/src/declaration/index[html].js +++ b/packages/translator-default/src/declaration/index[html].js @@ -6,6 +6,6 @@ export default function (path) { const { node } = path; path.replaceWith( - withPreviousLocation(write``, node) + withPreviousLocation(write``, node), ); } diff --git a/packages/translator-default/src/document-type/index[html].js b/packages/translator-default/src/document-type/index[html].js index 7af033c20..ccec6d856 100644 --- a/packages/translator-default/src/document-type/index[html].js +++ b/packages/translator-default/src/document-type/index[html].js @@ -6,6 +6,6 @@ export default function (path) { const { node } = path; path.replaceWith( - withPreviousLocation(write``, node) + withPreviousLocation(write``, node), ); } diff --git a/packages/translator-default/src/index.js b/packages/translator-default/src/index.js index 91a6dc352..2ba396e0c 100644 --- a/packages/translator-default/src/index.js +++ b/packages/translator-default/src/index.js @@ -1,5 +1,4 @@ import { resolve } from "path"; -import { types as t } from "@marko/compiler"; import { findParentTag, getTagDef, @@ -15,20 +14,21 @@ import { resolveRelativePath, resolveTagImport, } from "@marko/babel-utils"; +import { types as t } from "@marko/compiler"; import { version } from "marko/package.json"; -import MarkoDocumentType from "./document-type"; -import MarkoDeclaration from "./declaration"; import MarkoCDATA from "./cdata"; +import MarkoClass from "./class"; +import MarkoComment from "./comment"; +import MarkoDeclaration from "./declaration"; +import MarkoDocumentType from "./document-type"; +import MarkoPlaceholder from "./placeholder"; +import MarkoScriptlet from "./scriptlet"; import MarkoTag from "./tag"; import MarkoText from "./text"; -import MarkoPlaceholder from "./placeholder"; -import MarkoComment from "./comment"; -import MarkoScriptlet from "./scriptlet"; -import MarkoClass from "./class"; -import { analyzeStaticVDOM } from "./util/optimize-vdom-create"; -import { optimizeHTMLWrites } from "./util/optimize-html-writes"; -import getComponentFiles from "./util/get-component-files"; import addDependencies from "./util/add-dependencies"; +import getComponentFiles from "./util/get-component-files"; +import { optimizeHTMLWrites } from "./util/optimize-html-writes"; +import { analyzeStaticVDOM } from "./util/optimize-vdom-create"; export { default as taglibs } from "./taglib"; @@ -70,7 +70,7 @@ export const analyze = { meta.deps = meta.deps.map((filename) => typeof filename === "string" ? resolveRelativePath(file, filename) - : filename + : filename, ); meta.imports = program.node.body @@ -92,8 +92,8 @@ export const analyze = { meta.deps.push( resolve( tagDef.dir, - resolve(tagDef.dir, tagDef.parseOptions.import) - ) + resolve(tagDef.dir, tagDef.parseOptions.import), + ), ); } } @@ -197,8 +197,8 @@ export const translate = { t.program( parseStatements(file, file.metadata.marko.moduleCode), undefined, - file.markoOpts.modules === "cjs" ? "script" : "module" - ) + file.markoOpts.modules === "cjs" ? "script" : "module", + ), )[0] .skip(); return; @@ -242,7 +242,7 @@ export const translate = { importDefault( file, resolveRelativePath(file, componentFile), - "marko_component" + "marko_component", )) || _inlineComponentClass || t.objectExpression([]); @@ -250,29 +250,29 @@ export const translate = { const componentIdentifier = path.scope.generateUidIdentifier("marko_component"); const componentTypeIdentifier = path.scope.generateUidIdentifier( - "marko_componentType" + "marko_componentType", ); const templateIdentifier = path.scope.generateUidIdentifier("marko_template"); const rendererIdentifier = importDefault( file, "marko/src/runtime/components/renderer.js", - "marko_renderer" + "marko_renderer", ); const templateRendererMember = t.memberExpression( templateIdentifier, - t.identifier("_") + t.identifier("_"), ); const templateMetaMember = t.memberExpression( templateIdentifier, - t.identifier("meta") + t.identifier("meta"), ); if (markoOpts.writeVersionComment) { path.addComment( "leading", ` Compiled using marko@${version} - DO NOT EDIT`, - true + true, ); } @@ -286,19 +286,19 @@ export const translate = { t.stringLiteral( `marko/${markoOpts.optimize ? "dist" : "src"}/runtime/${ isHTML ? "html" : "vdom" - }/${markoOpts.hot ? "hot-reload.js" : "index.js"}` - ) + }/${markoOpts.hot ? "hot-reload.js" : "index.js"}`, + ), ), t.variableDeclaration("const", [ t.variableDeclarator( componentTypeIdentifier, - t.stringLiteral(meta.id) + t.stringLiteral(meta.id), ), t.variableDeclarator( templateIdentifier, t.callExpression(runtimeTemplateIdentifier, [ componentTypeIdentifier, - ]) + ]), ), ]), includeMetaInSource && @@ -306,11 +306,11 @@ export const translate = { t.assignmentExpression( "=", t.memberExpression(templateIdentifier, t.identifier("path")), - t.identifier("__filename") - ) + t.identifier("__filename"), + ), ), t.exportDefaultDeclaration(templateIdentifier), - ].filter(Boolean) + ].filter(Boolean), ); path.pushContainer( @@ -321,9 +321,9 @@ export const translate = { t.callExpression( importNamed( file, - "marko/src/runtime/components/registry", + "marko/src/runtime/components/registry.js", "r", - "marko_registerComponent" + "marko_registerComponent", ), [ componentTypeIdentifier, @@ -333,17 +333,17 @@ export const translate = { ? importDefault( file, resolveRelativePath(file, componentBrowserFile), - "marko_split_component" + "marko_split_component", ) - : templateIdentifier + : templateIdentifier, ), - ] - ) + ], + ), ), t.variableDeclaration("const", [ t.variableDeclarator(componentIdentifier, componentClass), ]), - ].filter(Boolean) + ].filter(Boolean), ); const templateRenderOptionsProps = [ @@ -352,19 +352,19 @@ export const translate = { if (!meta.component) { templateRenderOptionsProps.push( - t.objectProperty(t.identifier("i"), t.booleanLiteral(true)) + t.objectProperty(t.identifier("i"), t.booleanLiteral(true)), ); } if (componentBrowserFile) { templateRenderOptionsProps.push( - t.objectProperty(t.identifier("s"), t.booleanLiteral(true)) + t.objectProperty(t.identifier("s"), t.booleanLiteral(true)), ); } if (!markoOpts.optimize) { templateRenderOptionsProps.push( - t.objectProperty(t.identifier("d"), t.booleanLiteral(true)) + t.objectProperty(t.identifier("d"), t.booleanLiteral(true)), ); } @@ -385,13 +385,13 @@ export const translate = { t.identifier("state"), t.identifier("$global"), ], - renderBlock.node + renderBlock.node, ), t.objectExpression(templateRenderOptionsProps), componentIdentifier, - ]) - ) - ) + ]), + ), + ), ); renderBlock.remove(); @@ -406,12 +406,12 @@ export const translate = { importDefault( file, "marko/src/runtime/components/defineComponent.js", - "marko_defineComponent" + "marko_defineComponent", ), - [componentIdentifier, templateRendererMember] - ) - ) - ) + [componentIdentifier, templateRendererMember], + ), + ), + ), ); } @@ -424,8 +424,8 @@ export const translate = { metaObject.properties.push( t.objectProperty( t.identifier("component"), - t.stringLiteral(meta.component) - ) + t.stringLiteral(meta.component), + ), ); } @@ -433,8 +433,8 @@ export const translate = { metaObject.properties.push( t.objectProperty( t.identifier("deps"), - parseExpression(file, JSON.stringify(meta.deps)) - ) + parseExpression(file, JSON.stringify(meta.deps)), + ), ); } @@ -442,16 +442,16 @@ export const translate = { metaObject.properties.push( t.objectProperty( t.identifier("tags"), - t.arrayExpression(meta.tags.map((tag) => t.stringLiteral(tag))) - ) + t.arrayExpression(meta.tags.map((tag) => t.stringLiteral(tag))), + ), ); } path.pushContainer( "body", t.expressionStatement( - t.assignmentExpression("=", templateMetaMember, metaObject) - ) + t.assignmentExpression("=", templateMetaMember, metaObject), + ), ); } diff --git a/packages/translator-default/src/placeholder/index[html].js b/packages/translator-default/src/placeholder/index[html].js index 99ab9b20c..dcdb26c69 100644 --- a/packages/translator-default/src/placeholder/index[html].js +++ b/packages/translator-default/src/placeholder/index[html].js @@ -1,9 +1,14 @@ +import { + computeNode, + getTagDef, + importDefault, + importNamed, +} from "@marko/babel-utils"; import { types as t } from "@marko/compiler"; -import { getTagDef, importDefault, importNamed } from "@marko/babel-utils"; import toString from "marko/src/runtime/helpers/to-string"; -import { x as escapeXML } from "marko/src/runtime/html/helpers/escape-xml"; import escapeScript from "marko/src/runtime/html/helpers/escape-script-placeholder"; import escapeStyle from "marko/src/runtime/html/helpers/escape-style-placeholder"; +import { x as escapeXML } from "marko/src/runtime/html/helpers/escape-xml"; import write from "../util/html-out-write"; import withPreviousLocation from "../util/with-previous-location"; @@ -31,36 +36,36 @@ export default function (path) { node, hub: { file }, } = path; - const { confident, value: computed } = path.get("value").evaluate(); + const computed = computeNode(node.value); let { escape, value } = node; if (escape) { const tagName = findParentTagName(path); const escapeType = ESCAPE_TYPES[tagName] || ESCAPE_TYPES.html; - value = confident - ? t.stringLiteral(escapeType.fn(computed)) + value = computed + ? t.stringLiteral(escapeType.fn(computed.value)) : t.callExpression( escapeType.name ? importNamed( file, escapeType.module, escapeType.name, - escapeType.alias + escapeType.alias, ) : importDefault(file, escapeType.module, escapeType.alias), - [value] + [value], ); } else { - value = confident - ? t.stringLiteral(toString(computed)) + value = computed + ? t.stringLiteral(toString(computed.value)) : t.callExpression( importDefault( file, "marko/src/runtime/helpers/to-string.js", - "marko_to_string" + "marko_to_string", ), - [value] + [value], ); } diff --git a/packages/translator-default/src/placeholder/index[vdom].js b/packages/translator-default/src/placeholder/index[vdom].js index 8e7a68e14..81b59fec9 100644 --- a/packages/translator-default/src/placeholder/index[vdom].js +++ b/packages/translator-default/src/placeholder/index[vdom].js @@ -1,3 +1,4 @@ +import { computeNode } from "@marko/babel-utils"; import write from "../util/vdom-out-write"; import withPreviousLocation from "../util/with-previous-location"; @@ -5,16 +6,16 @@ export default function (path) { const { node } = path; const { escape, value } = node; const method = escape ? "t" : "h"; - const { confident, value: computed } = path.get("value").evaluate(); + const computed = computeNode(value); - if (confident && !computed) { + if (computed && computed.value == null) { path.remove(); } else { path.replaceWith( withPreviousLocation( write(method, value, path.hub.file._componentInstanceIdentifier), - node - ) + node, + ), ); } } diff --git a/packages/translator-default/src/tag/attribute-tag.js b/packages/translator-default/src/tag/attribute-tag.js index bbe8d8456..3ff3280d9 100644 --- a/packages/translator-default/src/tag/attribute-tag.js +++ b/packages/translator-default/src/tag/attribute-tag.js @@ -1,4 +1,3 @@ -import { types as t } from "@marko/compiler"; import { assertNoArgs, findParentTag, @@ -7,8 +6,9 @@ import { isAttributeTag, isTransparentTag, } from "@marko/babel-utils"; -import { getAttrs } from "./util"; +import { types as t } from "@marko/compiler"; import withPreviousLocation from "../util/with-previous-location"; +import { getAttrs } from "./util"; const EMPTY_OBJECT = {}; const parentIdentifierLookup = new WeakMap(); @@ -25,7 +25,7 @@ export default function (tag) { if (!parentPath) { throw namePath.buildCodeFrameError( - "@tags must be nested within another element." + "@tags must be nested within another element.", ); } @@ -51,7 +51,7 @@ export default function (tag) { } } else { const previousAttr = parentAttributes.find( - (attr) => attr.get("name").node === targetProperty + (attr) => attr.get("name").node === targetProperty, ); if (previousAttr) { @@ -59,7 +59,7 @@ export default function (tag) { if (t.isObjectExpression(previousValue)) { previousAttr.set( "value", - t.arrayExpression([previousValue, getAttrTagObject(tag)]) + t.arrayExpression([previousValue, getAttrTagObject(tag)]), ); } else if (t.isArrayExpression(previousAttr)) { previousAttr.elements.push(getAttrTagObject(tag)); @@ -70,16 +70,16 @@ export default function (tag) { importDefault( tag.hub.file, "marko/src/runtime/helpers/repeatable.js", - "marko_repeatable" + "marko_repeatable", ), - [previousValue, getAttrTagObject(tag)] - ) + [previousValue, getAttrTagObject(tag)], + ), ); } } else { parentPath.pushContainer( "attributes", - t.markoAttribute(targetProperty, getAttrTagObject(tag)) + t.markoAttribute(targetProperty, getAttrTagObject(tag)), ); } @@ -105,13 +105,13 @@ export default function (tag) { t.variableDeclaration(isRepeated ? "const" : "let", [ t.variableDeclarator( identifier, - isRepeated ? t.arrayExpression([]) : t.nullLiteral() + isRepeated ? t.arrayExpression([]) : t.nullLiteral(), ), - ]) + ]), ); parentPath.pushContainer( "attributes", - t.markoAttribute(targetProperty, identifier) + t.markoAttribute(targetProperty, identifier), ); } @@ -121,11 +121,11 @@ export default function (tag) { t.expressionStatement( t.callExpression( t.memberExpression(identifier, t.identifier("push")), - [getAttrTagObject(tag)] - ) + [getAttrTagObject(tag)], + ), ), - node - ) + node, + ), ); } else { tag.replaceWith( @@ -138,14 +138,14 @@ export default function (tag) { importDefault( tag.hub.file, "marko/src/runtime/helpers/repeatable.js", - "marko_repeatable" + "marko_repeatable", ), - [identifier, getAttrTagObject(tag)] - ) - ) + [identifier, getAttrTagObject(tag)], + ), + ), ), - node - ) + node, + ), ); } } @@ -157,9 +157,9 @@ function getAttrTagObject(tag) { importDefault( tag.hub.file, "marko/src/runtime/helpers/self-iterator.js", - "marko_self_iterator" + "marko_self_iterator", ), - true + true, ); if (t.isNullLiteral(attrs)) { diff --git a/packages/translator-default/src/tag/attribute/directives/class.js b/packages/translator-default/src/tag/attribute/directives/class.js index f789cc4d7..9218d6720 100644 --- a/packages/translator-default/src/tag/attribute/directives/class.js +++ b/packages/translator-default/src/tag/attribute/directives/class.js @@ -1,5 +1,5 @@ +import { computeNode, importDefault, isNativeTag } from "@marko/babel-utils"; import { types as t } from "@marko/compiler"; -import { importDefault, isNativeTag } from "@marko/babel-utils"; import classToString from "marko/src/runtime/helpers/class-value"; import withPreviousLocation from "../../../util/with-previous-location"; @@ -9,27 +9,29 @@ export default { hub: { file }, } = tag; if (!isNativeTag(tag)) return; - if (value.isStringLiteral()) return; - const { confident, value: computed } = value.evaluate(); - - const s = classToString(computed); - value.replaceWith( - confident - ? s - ? t.stringLiteral(s) - : t.nullLiteral() - : withPreviousLocation( - t.callExpression( - importDefault( - file, - "marko/src/runtime/helpers/class-value.js", - "marko_class_merge" - ), - [value.node] + const computed = computeNode(value.node); + if (computed) { + const str = classToString(computed.value); + if (str) { + value.replaceWith(t.stringLiteral(str)); + } else { + value.parentPath.remove(); + } + } else { + value.replaceWith( + withPreviousLocation( + t.callExpression( + importDefault( + file, + "marko/src/runtime/helpers/class-value.js", + "marko_class_merge", ), - value.node - ) - ); + [value.node], + ), + value.node, + ), + ); + } }, }; diff --git a/packages/translator-default/src/tag/attribute/directives/index.js b/packages/translator-default/src/tag/attribute/directives/index.js index 5dfdcb591..f44ce3b0f 100644 --- a/packages/translator-default/src/tag/attribute/directives/index.js +++ b/packages/translator-default/src/tag/attribute/directives/index.js @@ -1,9 +1,9 @@ import classPlugin from "./class"; -import stylePlugin from "./style"; import noUpdatePlugin from "./no-update"; -import noUpdateIfPlugin from "./no-update-if"; import noUpdateBodyPlugin from "./no-update-body"; import noUpdateBodyIfPlugin from "./no-update-body-if"; +import noUpdateIfPlugin from "./no-update-if"; +import stylePlugin from "./style"; export default { class: classPlugin, diff --git a/packages/translator-default/src/tag/attribute/directives/no-update-body-if.js b/packages/translator-default/src/tag/attribute/directives/no-update-body-if.js index fd9671291..f843a03c8 100644 --- a/packages/translator-default/src/tag/attribute/directives/no-update-body-if.js +++ b/packages/translator-default/src/tag/attribute/directives/no-update-body-if.js @@ -1,7 +1,10 @@ -import noUpdateTransform from "./no-update"; import { getArgOrSequence } from "@marko/babel-utils"; +import noUpdateTransform from "./no-update"; export default { + enter(tag) { + tag.node.isPreserved = true; + }, exit(tag, attr, value) { noUpdateTransform.exit(tag, attr, value, { if: getArgOrSequence(attr), diff --git a/packages/translator-default/src/tag/attribute/directives/no-update-body.js b/packages/translator-default/src/tag/attribute/directives/no-update-body.js index eefe50796..7e8d21cde 100644 --- a/packages/translator-default/src/tag/attribute/directives/no-update-body.js +++ b/packages/translator-default/src/tag/attribute/directives/no-update-body.js @@ -1,6 +1,9 @@ import noUpdateTransform from "./no-update"; export default { + enter(tag) { + tag.node.isPreserved = true; + }, exit(tag, attr, value) { noUpdateTransform.exit(tag, attr, value, { bodyOnly: true }); }, diff --git a/packages/translator-default/src/tag/attribute/directives/no-update-if.js b/packages/translator-default/src/tag/attribute/directives/no-update-if.js index 278ef16a4..5fc5f8bc7 100644 --- a/packages/translator-default/src/tag/attribute/directives/no-update-if.js +++ b/packages/translator-default/src/tag/attribute/directives/no-update-if.js @@ -1,7 +1,10 @@ -import noUpdateTransform from "./no-update"; import { getArgOrSequence } from "@marko/babel-utils"; +import noUpdateTransform from "./no-update"; export default { + enter(tag) { + tag.node.isPreserved = true; + }, exit(tag, attr, value) { noUpdateTransform.exit(tag, attr, value, { if: getArgOrSequence(attr) }); }, diff --git a/packages/translator-default/src/tag/attribute/directives/no-update.js b/packages/translator-default/src/tag/attribute/directives/no-update.js index 4f2b49c5e..2db3fa435 100644 --- a/packages/translator-default/src/tag/attribute/directives/no-update.js +++ b/packages/translator-default/src/tag/attribute/directives/no-update.js @@ -1,26 +1,29 @@ -import { types as t } from "@marko/compiler"; import { isNativeTag, normalizeTemplateString } from "@marko/babel-utils"; +import { types as t } from "@marko/compiler"; const EMPTY_OBJECT = {}; export default { + enter(tag) { + tag.node.isPreserved = true; + }, exit(tag, attr, _, opts = EMPTY_OBJECT) { attr.remove(); const { node } = tag; const replacement = t.markoTag( t.stringLiteral("_preserve"), [], - opts.bodyOnly ? node.body : t.markoTagBody([node]) + opts.bodyOnly ? node.body : t.markoTagBody([node]), ); if (isNativeTag(tag)) { replacement.key = node.key; replacement.attributes.push( - t.markoAttribute("n", t.booleanLiteral(true)) + t.markoAttribute("n", t.booleanLiteral(true)), ); if (opts.bodyOnly) { replacement.attributes.push( - t.markoAttribute("b", t.booleanLiteral(true)) + t.markoAttribute("b", t.booleanLiteral(true)), ); } } else { diff --git a/packages/translator-default/src/tag/attribute/directives/style.js b/packages/translator-default/src/tag/attribute/directives/style.js index da0995c2f..29d20b4fa 100644 --- a/packages/translator-default/src/tag/attribute/directives/style.js +++ b/packages/translator-default/src/tag/attribute/directives/style.js @@ -1,5 +1,5 @@ +import { computeNode, importDefault, isNativeTag } from "@marko/babel-utils"; import { types as t } from "@marko/compiler"; -import { importDefault, isNativeTag } from "@marko/babel-utils"; import styleToString from "marko/src/runtime/helpers/style-value"; import withPreviousLocation from "../../../util/with-previous-location"; @@ -8,24 +8,30 @@ export default { const { hub: { file }, } = tag; - if (value.isStringLiteral()) return; if (!isNativeTag(tag)) return; - const { confident, value: computed } = value.evaluate(); - value.replaceWith( - withPreviousLocation( - confident - ? t.stringLiteral(styleToString(computed) || "") - : t.callExpression( - importDefault( - file, - "marko/src/runtime/helpers/style-value.js", - "marko_style_merge" - ), - [value.node] + const computed = computeNode(value.node); + if (computed) { + const str = styleToString(computed.value); + if (str) { + value.replaceWith(t.stringLiteral(str)); + } else { + value.parentPath.remove(); + } + } else { + value.replaceWith( + withPreviousLocation( + t.callExpression( + importDefault( + file, + "marko/src/runtime/helpers/style-value.js", + "marko_style_merge", ), - value.node - ) - ); + [value.node], + ), + value.node, + ), + ); + } }, }; diff --git a/packages/translator-default/src/tag/attribute/index.js b/packages/translator-default/src/tag/attribute/index.js index 06b8127b9..8a2761205 100644 --- a/packages/translator-default/src/tag/attribute/index.js +++ b/packages/translator-default/src/tag/attribute/index.js @@ -30,7 +30,7 @@ export default { if (!value.isBooleanLiteral(true)) { throw value.buildCodeFrameError( - `"${name}(handler, ...args)" does not accept a value.` + `"${name}(handler, ...args)" does not accept a value.`, ); } @@ -51,7 +51,7 @@ export default { const handlers = (tag.node.handlers = tag.node.handlers || {}); if (handlers[eventName]) { throw attr.buildCodeFrameError( - "Duplicate event handlers are not supported." + "Duplicate event handlers are not supported.", ); } @@ -67,7 +67,7 @@ export default { attachedDetachedLoaded.add(file); importDefault( file, - "marko/src/runtime/components/attach-detach.js" + "marko/src/runtime/components/attach-detach.js", ); } } @@ -93,20 +93,20 @@ export default { throw attr.buildCodeFrameError( `<${ tag.get("name.value").node - }> does not support the "${name}" attribute.` + }> does not support the "${name}" attribute.`, ); } } if (args && args.length) { throw attr.buildCodeFrameError( - `Unsupported arguments on the "${name}" attribute.` + `Unsupported arguments on the "${name}" attribute.`, ); } if (attr.node.bound) { throw attr.buildCodeFrameError( - `The binding syntax (:=) is only supported when using the "Tags API".` + `The binding syntax (:=) is only supported when using the "Tags API".`, ); } }, diff --git a/packages/translator-default/src/tag/attribute/modifiers/index.js b/packages/translator-default/src/tag/attribute/modifiers/index.js index 7e168f718..b2ae3f430 100644 --- a/packages/translator-default/src/tag/attribute/modifiers/index.js +++ b/packages/translator-default/src/tag/attribute/modifiers/index.js @@ -1,5 +1,5 @@ -import scopedPlugin from "./scoped"; import noUpdatePlugin from "./no-update"; +import scopedPlugin from "./scoped"; export default { scoped: scopedPlugin, diff --git a/packages/translator-default/src/tag/attribute/modifiers/scoped.js b/packages/translator-default/src/tag/attribute/modifiers/scoped.js index 777a709a5..58034ec1b 100644 --- a/packages/translator-default/src/tag/attribute/modifiers/scoped.js +++ b/packages/translator-default/src/tag/attribute/modifiers/scoped.js @@ -11,12 +11,12 @@ export default { t.callExpression( t.memberExpression( file._componentDefIdentifier, - t.identifier("elId") + t.identifier("elId"), ), - [value.node] + [value.node], ), - value.node - ) + value.node, + ), ); }, }; diff --git a/packages/translator-default/src/tag/custom-tag.js b/packages/translator-default/src/tag/custom-tag.js index 9fa1de4ca..42785df98 100644 --- a/packages/translator-default/src/tag/custom-tag.js +++ b/packages/translator-default/src/tag/custom-tag.js @@ -1,4 +1,3 @@ -import { types as t } from "@marko/compiler"; import { assertNoArgs, getTagDef, @@ -6,10 +5,11 @@ import { loadFileForTag, resolveRelativePath, } from "@marko/babel-utils"; -import { buildEventHandlerArray, getAttrs } from "./util"; -import nativeTag from "./native-tag"; -import dynamicTag from "./dynamic-tag"; +import { types as t } from "@marko/compiler"; import withPreviousLocation from "../util/with-previous-location"; +import dynamicTag from "./dynamic-tag"; +import nativeTag from "./native-tag"; +import { buildEventHandlerArray, getAttrs } from "./util"; export default function (path, isNullable) { const { @@ -53,7 +53,7 @@ export default function (path, isNullable) { `marko/src/runtime/helpers/tags-compat-${ markoOpts.output === "html" ? "html" : "dom" }.js`, - "marko_tags_compat" + "marko_tags_compat", ); path.set("name", importDefault(file, relativePath, path.node.name.value)); return dynamicTag(path); @@ -78,7 +78,7 @@ export default function (path, isNullable) { throw path .get("name") .buildCodeFrameError( - `Unable to find entry point for custom tag <${tagName}>.` + `Unable to find entry point for custom tag <${tagName}>.`, ); } } else { @@ -92,7 +92,7 @@ export default function (path, isNullable) { importDefault( file, "marko/src/runtime/helpers/render-tag.js", - "marko_tag" + "marko_tag", ), [ tagIdentifier, @@ -102,10 +102,10 @@ export default function (path, isNullable) { file._componentDefIdentifier, key, ...buildEventHandlerArray(path), - ] - ) + ], + ), ), - node + node, ); if (isNullable) { @@ -113,7 +113,7 @@ export default function (path, isNullable) { const renderBodyProp = t.isObjectExpression(foundAttrs) && foundAttrs.properties.find( - (prop) => prop.key && prop.key.value === "renderBody" + (prop) => prop.key && prop.key.value === "renderBody", ); if (renderBodyProp) { @@ -121,7 +121,7 @@ export default function (path, isNullable) { path.insertBefore( t.variableDeclaration("const", [ t.variableDeclarator(renderBodyIdentifier, renderBodyProp.value), - ]) + ]), ); renderBodyProp.value = renderBodyIdentifier; @@ -133,9 +133,9 @@ export default function (path, isNullable) { customTagRenderCall, renderBodyIdentifier && t.expressionStatement( - t.callExpression(renderBodyIdentifier, [t.identifier("out")]) - ) - ) + t.callExpression(renderBodyIdentifier, [t.identifier("out")]), + ), + ), ); } else { path.replaceWith(customTagRenderCall); diff --git a/packages/translator-default/src/tag/dynamic-tag.js b/packages/translator-default/src/tag/dynamic-tag.js index f96b314a8..970e26d70 100644 --- a/packages/translator-default/src/tag/dynamic-tag.js +++ b/packages/translator-default/src/tag/dynamic-tag.js @@ -1,7 +1,7 @@ -import { types as t } from "@marko/compiler"; import { importDefault } from "@marko/babel-utils"; -import { buildEventHandlerArray, getAttrs } from "./util"; +import { types as t } from "@marko/compiler"; import withPreviousLocation from "../util/with-previous-location"; +import { buildEventHandlerArray, getAttrs } from "./util"; export default function (path) { const { @@ -19,15 +19,15 @@ export default function (path) { t.objectProperty( t.identifier("pa"), t.arrayExpression( - node.preserveAttrs.map((name) => t.stringLiteral(name)) - ) - ) + node.preserveAttrs.map((name) => t.stringLiteral(name)), + ), + ), ); } if (t.isObjectExpression(foundAttrs)) { const renderBodyIndex = foundAttrs.properties.findIndex( - (prop) => prop.key && prop.key.value === "renderBody" + (prop) => prop.key && prop.key.value === "renderBody", ); attrsLen = foundAttrs.properties.length; @@ -44,7 +44,7 @@ export default function (path) { importDefault( file, `marko/src/runtime/helpers/dynamic-tag.js`, - "marko_dynamic_tag" + "marko_dynamic_tag", ), [ t.identifier("out"), @@ -58,8 +58,8 @@ export default function (path) { file._componentDefIdentifier, key, ...buildEventHandlerArray(path), - ] - ) + ], + ), ); path.replaceWith(withPreviousLocation(dynamicTagRenderCall, node)); diff --git a/packages/translator-default/src/tag/index.js b/packages/translator-default/src/tag/index.js index 2454ee2fe..83b6afa7a 100644 --- a/packages/translator-default/src/tag/index.js +++ b/packages/translator-default/src/tag/index.js @@ -1,5 +1,4 @@ import nodePath from "path"; -import { types as t } from "@marko/compiler"; import { assertNoVar, findAttributeTags, @@ -9,15 +8,16 @@ import { isMacroTag, isNativeTag, } from "@marko/babel-utils"; -import nativeTag from "./native-tag"; -import dynamicTag from "./dynamic-tag"; +import { types as t } from "@marko/compiler"; +import { getKeyManager } from "../util/key-manager"; +import { optimizeStaticVDOM } from "../util/optimize-vdom-create"; +import { enter, exit } from "../util/plugin-hooks"; +import attributeTranslators from "./attribute"; import attributeTag from "./attribute-tag"; import customTag from "./custom-tag"; +import dynamicTag from "./dynamic-tag"; import macroTag from "./macro-tag"; -import attributeTranslators from "./attribute"; -import { getKeyManager } from "../util/key-manager"; -import { enter, exit } from "../util/plugin-hooks"; -import { optimizeStaticVDOM } from "../util/optimize-vdom-create"; +import nativeTag from "./native-tag"; export default { enter(path) { @@ -48,7 +48,7 @@ export default { findAttributeTags(path).forEach((child) => { child.set( "name", - t.stringLiteral(`at_${child.get("name.value").node.slice(1)}`) + t.stringLiteral(`at_${child.get("name.value").node.slice(1)}`), ); }); } @@ -72,7 +72,7 @@ export default { path.insertBefore( t.variableDeclaration("const", [ t.variableDeclarator(tagIdentifier, name.node), - ]) + ]), ); name.replaceWith(tagIdentifier); diff --git a/packages/translator-default/src/tag/native-tag.js b/packages/translator-default/src/tag/native-tag.js index ac337b6a8..02841e8e7 100644 --- a/packages/translator-default/src/tag/native-tag.js +++ b/packages/translator-default/src/tag/native-tag.js @@ -1,10 +1,10 @@ -import nativeTagHtml from "./native-tag[html]"; -import nativeTagVdom from "./native-tag[vdom]"; import { assertNoArgs, assertNoAttributeTags, assertNoParams, } from "@marko/babel-utils"; +import nativeTagHtml from "./native-tag[html]"; +import nativeTagVdom from "./native-tag[vdom]"; export default function (path, isNullable) { const { diff --git a/packages/translator-default/src/tag/native-tag[html]/attributes.js b/packages/translator-default/src/tag/native-tag[html]/attributes.js index 22d2af20f..13a977db4 100644 --- a/packages/translator-default/src/tag/native-tag[html]/attributes.js +++ b/packages/translator-default/src/tag/native-tag[html]/attributes.js @@ -1,108 +1,119 @@ -import { types as t } from "@marko/compiler"; import { importDefault, normalizeTemplateString } from "@marko/babel-utils"; +import { types as t } from "@marko/compiler"; import attrHelper from "marko/src/runtime/html/helpers/attr"; import { evaluateAttr } from "../util"; export default function (path, attrs) { - if (!attrs.length) return t.stringLiteral(""); - const len = attrs.length; if (len === 0) return t.stringLiteral(""); + if (len === 1 && attrs[0].node.type === "MarkoSpreadAttribute") { + return t.callExpression( + importDefault( + path.hub.file, + "marko/src/runtime/html/helpers/attrs.js", + "marko_attrs", + ), + [attrs[0].node.value], + ); + } + + if (attrs.some((attr) => attr.node.type === "MarkoSpreadAttribute")) { + const attrsObjects = []; + let props; - if (attrs.some((attr) => !attr.node.name)) { - const attrsObject = t.objectExpression([]); for (let i = 0; i < len; i++) { + const attr = attrs[i]; const { node: { name, value }, - } = attrs[i]; + } = attr; if (name) { - attrsObject.properties.push( - t.objectProperty(t.stringLiteral(name), value) + const computed = evaluateAttr(attr); + const prop = t.objectProperty( + t.stringLiteral(name), + computed?.value !== undefined + ? t.stringLiteral(computed.value) + : value, ); + if (props) { + props.push(prop); + } else { + attrsObjects.push(t.objectExpression((props = [prop]))); + } } else { - mergeSpread(attrsObject.properties, value); + attrsObjects.push(value); + props = undefined; } } return t.callExpression( importDefault( path.hub.file, - "marko/src/runtime/html/helpers/attrs.js", - "marko_attrs" + "marko/src/runtime/html/helpers/merge-attrs.js", + "marko_merge_attrs", ), - [ - attrsObject.properties.length === 1 && - t.isSpreadElement(attrsObject.properties[0]) - ? attrsObject.properties[0].argument - : attrsObject, - ] + attrsObjects, ); - } else { - const file = path.hub.file; - const quasis = []; - const expressions = []; - const attrValues = new Map(); - let curString = ""; + } - // Remove duplicate attrs so last one wins. - for (let i = len; i--; ) { - const attr = attrs[i]; - const { name, value } = attr.node; - if (attrValues.has(name)) continue; - const { confident, computed } = evaluateAttr(attr); - attrValues.set(name, { - confident, - computed, - value, - }); - } + const file = path.hub.file; + const quasis = []; + const expressions = []; + const attrValues = new Map(); + let curString = ""; - for (const [name, { confident, computed, value }] of [ - ...attrValues, - ].reverse()) { - if (confident) { - if (computed == null || computed === false) { - continue; - } + // Remove duplicate attrs so last one wins. + for (let i = len; i--; ) { + const attr = attrs[i]; + const { name, value } = attr.node; + if (attrValues.has(name)) continue; + const computed = evaluateAttr(attr); + attrValues.set( + name, + computed + ? { + confident: true, + computed: computed.value, + value, + } + : { + confident: false, + computed: undefined, + value, + }, + ); + } - curString += attrHelper(name, computed); - } else { - quasis.push(curString); - curString = ""; - expressions.push( - t.callExpression( - importDefault( - file, - "marko/src/runtime/html/helpers/attr.js", - "marko_attr" - ), - [t.stringLiteral(name), value] - ) - ); + for (const [name, { confident, computed, value }] of [ + ...attrValues, + ].reverse()) { + if (confident) { + if (computed == null || computed === false) { + continue; } - } - quasis.push(curString); - - if (expressions.length) { - return normalizeTemplateString(quasis, ...expressions); + curString += attrHelper(name, computed); } else { - return t.stringLiteral(quasis.join("")); + quasis.push(curString); + curString = ""; + expressions.push( + t.callExpression( + importDefault( + file, + "marko/src/runtime/html/helpers/attr.js", + "marko_attr", + ), + [t.stringLiteral(name), value], + ), + ); } } -} -function mergeSpread(properties, value) { - if (t.isObjectExpression(value)) { - for (const prop of value.properties) { - if (t.isSpreadElement(prop)) { - mergeSpread(properties, prop.argument); - } else { - properties.push(prop); - } - } + quasis.push(curString); + + if (expressions.length) { + return normalizeTemplateString(quasis, ...expressions); } else { - properties.push(t.spreadElement(value)); + return t.stringLiteral(quasis.join("")); } } diff --git a/packages/translator-default/src/tag/native-tag[html]/index.js b/packages/translator-default/src/tag/native-tag[html]/index.js index 9b683f7fd..e0d8cb027 100644 --- a/packages/translator-default/src/tag/native-tag[html]/index.js +++ b/packages/translator-default/src/tag/native-tag[html]/index.js @@ -1,15 +1,15 @@ import { resolve } from "path"; -import SELF_CLOSING from "self-closing-tags"; -import { types as t } from "@marko/compiler"; import { getTagDef, importDefault, normalizeTemplateString, } from "@marko/babel-utils"; +import { types as t } from "@marko/compiler"; +import SELF_CLOSING from "self-closing-tags"; import write from "../../util/html-out-write"; import { hasUserKey } from "../../util/key-manager"; -import translateAttributes from "./attributes"; import withPreviousLocation from "../../util/with-previous-location"; +import translateAttributes from "./attributes"; const EMPTY_OBJECT = {}; @@ -58,13 +58,13 @@ export default function (path, isNullable) { t.callExpression( t.memberExpression( file._componentDefIdentifier, - t.identifier("d") + t.identifier("d"), ), - delegateArgs - ) - ) + delegateArgs, + ), + ), ); - } + }, ); } @@ -76,9 +76,9 @@ export default function (path, isNullable) { t.objectProperty( t.identifier("pa"), t.arrayExpression( - node.preserveAttrs.map((name) => t.stringLiteral(name)) - ) - ) + node.preserveAttrs.map((name) => t.stringLiteral(name)), + ), + ), ); } @@ -108,9 +108,9 @@ export default function (path, isNullable) { importDefault( file, "marko/src/runtime/html/helpers/data-marko.js", - "marko_props" + "marko_props", ), - dataMarkoArgs + dataMarkoArgs, ); } } @@ -142,7 +142,7 @@ export default function (path, isNullable) { isEmpty && !isSelfClosing ? write`${writeStartNode}` : write`${writeStartNode}`, - name + name, ); if (isNullable) { @@ -156,9 +156,9 @@ export default function (path, isNullable) { normalizeTemplateString`f_${key}`, file._componentInstanceIdentifier, t.numericLiteral(1), - ] - ) - ) + ], + ), + ), ); } @@ -186,16 +186,16 @@ export default function (path, isNullable) { t.expressionStatement( t.callExpression( t.memberExpression(t.identifier("out"), t.identifier("ef")), - [] - ) - ) + [], + ), + ), ); } path.replaceWithMultiple( [writeStartNode] .concat(needsBlock ? t.blockStatement(body) : body) - .concat(writeEndNode) + .concat(writeEndNode), ); } diff --git a/packages/translator-default/src/tag/native-tag[vdom]/attributes.js b/packages/translator-default/src/tag/native-tag[vdom]/attributes.js new file mode 100644 index 000000000..3191accd9 --- /dev/null +++ b/packages/translator-default/src/tag/native-tag[vdom]/attributes.js @@ -0,0 +1,104 @@ +import { importDefault } from "@marko/babel-utils"; +import { types as t } from "@marko/compiler"; +import { evaluateAttr } from "../util"; + +export default function (path, attrs) { + const len = attrs.length; + if (len === 0) return t.nullLiteral(); + if (len === 1 && attrs[0].node.type === "MarkoSpreadAttribute") { + return t.callExpression( + importDefault( + path.hub.file, + "marko/src/runtime/vdom/helpers/attrs.js", + "marko_attrs", + ), + [attrs[0].node.value], + ); + } + + if (attrs.some((attr) => attr.node.type === "MarkoSpreadAttribute")) { + const attrsObjects = []; + let props; + + for (let i = 0; i < len; i++) { + const attr = attrs[i]; + const { + node: { name, value }, + } = attr; + + if (name) { + const computed = evaluateAttr(attr); + const prop = t.objectProperty( + t.stringLiteral(name), + computed?.value !== undefined + ? t.stringLiteral(computed.value) + : value, + ); + if (props) { + props.push(prop); + } else { + attrsObjects.push(t.objectExpression((props = [prop]))); + } + } else { + attrsObjects.push(value); + props = undefined; + } + } + + return t.callExpression( + importDefault( + path.hub.file, + "marko/src/runtime/vdom/helpers/merge-attrs.js", + "marko_merge_attrs", + ), + attrsObjects, + ); + } + + const attrValues = new Map(); + const props = []; + + // Remove duplicate attrs so last one wins. + for (let i = len; i--; ) { + const attr = attrs[i]; + const { name, value } = attr.node; + if (attrValues.has(name)) continue; + const computed = evaluateAttr(attr); + attrValues.set( + name, + computed + ? { + confident: true, + computed: computed.value, + value, + } + : { + confident: false, + computed: undefined, + value, + }, + ); + } + + for (const [name, { confident, computed, value }] of [ + ...attrValues, + ].reverse()) { + if (confident) { + if (computed == null || computed === false) { + continue; + } + + props.push( + t.objectProperty(t.stringLiteral(name), t.stringLiteral(computed)), + ); + } else { + props.push(t.objectProperty(t.stringLiteral(name), value)); + } + } + + if (props.length) { + return t.objectExpression(props); + } + + return t.nullLiteral(); +} diff --git a/packages/translator-default/src/tag/native-tag[vdom]/index.js b/packages/translator-default/src/tag/native-tag[vdom]/index.js index 666e45c07..60e36e975 100644 --- a/packages/translator-default/src/tag/native-tag[vdom]/index.js +++ b/packages/translator-default/src/tag/native-tag[vdom]/index.js @@ -1,27 +1,16 @@ +import { getTagDef, normalizeTemplateString } from "@marko/babel-utils"; import { types as t } from "@marko/compiler"; -import write from "../../util/vdom-out-write"; import * as FLAGS from "../../util/runtime-flags"; -import { evaluateAttr, getAttrs } from "../util"; -import { - getTagDef, - importDefault, - normalizeTemplateString, -} from "@marko/babel-utils"; +import write from "../../util/vdom-out-write"; import withPreviousLocation from "../../util/with-previous-location"; +import translateAttributes from "./attributes"; const SIMPLE_ATTRS = ["id", "class", "style"]; -const MAYBE_SVG = { - a: true, - script: true, - style: true, - title: true, -}; export function tagArguments(path, isStatic) { const { hub: { file }, node, - parent, } = path; const { name, @@ -30,48 +19,11 @@ export function tagArguments(path, isStatic) { handlers, } = node; const tagProperties = (path.node.extra && path.node.extra.properties) || []; - const attrs = path.get("attributes"); - const seen = new Set(); - const len = attrs.length; - const hasSpread = attrs.some((attr) => !attr.node.name); + const attrsObj = translateAttributes(path, path.get("attributes")); let runtimeFlags = 0; - for (let i = len; i--; ) { - const attr = attrs[i]; - const { name } = attr.node; - if (seen.has(name)) { - if (!hasSpread) attr.remove(); - } - - seen.add(name); - const { confident, computed } = evaluateAttr(attr); - - if (confident) { - if (computed == null || computed === false) { - if (!hasSpread) attr.remove(); - } else { - attr.set("value", t.stringLiteral(computed)); - } - } - } - - let attrsObj = getAttrs(path, true, true); - - if (!t.isNullLiteral(attrsObj)) { - if ( - !t.isObjectExpression(attrsObj) || - attrsObj.properties.some(t.isSpreadElement) - ) { - runtimeFlags |= FLAGS.SPREAD_ATTRS; - attrsObj = t.callExpression( - importDefault( - file, - "marko/src/runtime/vdom/helpers/attrs.js", - "marko_attrs" - ), - [attrsObj] - ); - } + if (!t.isNullLiteral(attrsObj) && !t.isObjectExpression(attrsObj)) { + runtimeFlags |= FLAGS.SPREAD_ATTRS; } const writeArgs = [ @@ -82,8 +34,8 @@ export function tagArguments(path, isStatic) { isStatic ? t.numericLiteral(body.length) : body.length - ? t.nullLiteral() - : t.numericLiteral(0), + ? t.nullLiteral() + : t.numericLiteral(0), ]; if (node.preserveAttrs) { @@ -91,9 +43,9 @@ export function tagArguments(path, isStatic) { t.objectProperty( t.identifier("pa"), t.arrayExpression( - node.preserveAttrs.map((name) => t.stringLiteral(name)) - ) - ) + node.preserveAttrs.map((name) => t.stringLiteral(name)), + ), + ), ); } @@ -116,13 +68,13 @@ export function tagArguments(path, isStatic) { t.callExpression( t.memberExpression( file._componentDefIdentifier, - t.identifier("d") + t.identifier("d"), ), - delegateArgs - ) - ) + delegateArgs, + ), + ), ); - } + }, ); } @@ -137,19 +89,9 @@ export function tagArguments(path, isStatic) { const tagDef = getTagDef(path); if (tagDef) { - const { htmlType, name } = tagDef; + const { htmlType } = tagDef; if (htmlType === "custom-element") { runtimeFlags |= FLAGS.IS_CUSTOM_ELEMENT; - } else if ( - htmlType === "svg" || - (MAYBE_SVG[name] && - t.isMarkoTag(parent) && - parent.tagDef && - parent.tagDef.htmlType === "svg") - ) { - runtimeFlags |= FLAGS.IS_SVG; - } else if (name === "textarea") { - runtimeFlags |= FLAGS.IS_TEXTAREA; } } @@ -176,7 +118,7 @@ export default function (path, isNullable) { const writeArgs = tagArguments(path, false); let writeStartNode = withPreviousLocation( write(isEmpty ? "e" : "be", ...writeArgs), - node.name + node.name, ); if (isNullable) { @@ -189,9 +131,9 @@ export default function (path, isNullable) { [ normalizeTemplateString`f_${key}`, path.hub.file._componentInstanceIdentifier, - ] - ) - ) + ], + ), + ), ); } @@ -208,9 +150,9 @@ export default function (path, isNullable) { t.expressionStatement( t.callExpression( t.memberExpression(t.identifier("out"), t.identifier("ef")), - [] - ) - ) + [], + ), + ), ); } @@ -227,7 +169,7 @@ export default function (path, isNullable) { path.replaceWithMultiple( [writeStartNode] .concat(needsBlock ? t.blockStatement(body) : body) - .concat(writeEndNode) + .concat(writeEndNode), ); } diff --git a/packages/translator-default/src/tag/util.js b/packages/translator-default/src/tag/util.js index 45de7915c..5f87f5755 100644 --- a/packages/translator-default/src/tag/util.js +++ b/packages/translator-default/src/tag/util.js @@ -1,5 +1,7 @@ +import { computeNode, getTagDef } from "@marko/babel-utils"; import { types as t } from "@marko/compiler"; -import { getTagDef } from "@marko/babel-utils"; +import classToString from "marko/src/runtime/helpers/class-value"; +import styleToString from "marko/src/runtime/helpers/style-value"; export function getAttrs(path, preserveNames, skipRenderBody) { const { node } = path; @@ -37,8 +39,8 @@ export function getAttrs(path, preserveNames, skipRenderBody) { properties.push( t.objectProperty( t.stringLiteral(key), - (targetObject = targetObjects[key] = t.objectExpression([])) - ) + (targetObject = targetObjects[key] = t.objectExpression([])), + ), ); } @@ -60,7 +62,7 @@ export function getAttrs(path, preserveNames, skipRenderBody) { foundProperties[targetProperty] = true; targetProperties.push( - t.objectProperty(t.stringLiteral(targetProperty), value) + t.objectProperty(t.stringLiteral(targetProperty), value), ); } else { mergeSpread(properties, value); @@ -73,7 +75,7 @@ export function getAttrs(path, preserveNames, skipRenderBody) { if (hasDynamicAttrTags) { endDynamicAttrTagsIndex = findLastIndex( body, - ({ value }) => value === "END_ATTRIBUTE_TAGS" + ({ value }) => value === "END_ATTRIBUTE_TAGS", ); path .insertBefore(body.slice(0, endDynamicAttrTagsIndex)) @@ -89,10 +91,10 @@ export function getAttrs(path, preserveNames, skipRenderBody) { t.blockStatement( hasDynamicAttrTags ? body.slice(endDynamicAttrTagsIndex + 1) - : body - ) - ) - ) + : body, + ), + ), + ), ); } } @@ -109,8 +111,8 @@ export function getAttrs(path, preserveNames, skipRenderBody) { properties.push( t.objectProperty( t.stringLiteral(attr.name), - t.stringLiteral(attr.defaultValue + "") - ) + t.stringLiteral(attr.defaultValue + ""), + ), ); } else if (attr.required) { throw path @@ -150,37 +152,49 @@ export function buildEventHandlerArray(path) { } return t.arrayExpression(parts); - }) + }), ), ]; } export function evaluateAttr(attr) { - const name = attr.get("name").node; - const value = attr.get("value"); - let confident = false; - let computed = undefined; + const computed = computeNode(attr.node.value); + if (computed) { + const { value } = computed; + switch (attr.node.name) { + case "class": + return { + value: classToString(value)?.replace(/\s+/, " ").trim(), + }; + case "style": + return { + value: styleToString(value) + ?.replace(/\s+/, " ") + .trim() + .replace(/;$/, ""), + }; + } - if (name) { - if (value.isRegExpLiteral()) { - confident = true; - computed = value.get("pattern").node; - } else { - const evaluated = value.evaluate(); - ({ confident, value: computed } = evaluated); + if (value == null || value === false) { + return { value: undefined }; + } - if (computed === true) { - computed = ""; - } else if (computed != null && computed !== false) { - computed = computed + ""; + if (value === true) { + return { value: "" }; + } + + if (typeof value === "object") { + switch (value.toString) { + case Object.prototype.toString: + case Array.prototype.toString: + return { value: JSON.stringify(value) }; + case RegExp.prototype.toString: + return { value: value.source }; } } - } - return { - confident, - computed, - }; + return { value: value + "" }; + } } function camelCase(string) { diff --git a/packages/translator-default/src/taglib/core/conditional/translate-else-if.js b/packages/translator-default/src/taglib/core/conditional/translate-else-if.js index 9f1fd02a2..e53dcdc9e 100644 --- a/packages/translator-default/src/taglib/core/conditional/translate-else-if.js +++ b/packages/translator-default/src/taglib/core/conditional/translate-else-if.js @@ -10,7 +10,7 @@ export function exit(path) { throw path .get("name") .buildCodeFrameError( - "Invalid 'else-if' tag, expected preceding 'if' or 'else-if' tag." + "Invalid 'else-if' tag, expected preceding 'if' or 'else-if' tag.", ); } diff --git a/packages/translator-default/src/taglib/core/conditional/translate-else.js b/packages/translator-default/src/taglib/core/conditional/translate-else.js index 3be154c62..c7efaca34 100644 --- a/packages/translator-default/src/taglib/core/conditional/translate-else.js +++ b/packages/translator-default/src/taglib/core/conditional/translate-else.js @@ -1,5 +1,5 @@ -import { types as t } from "@marko/compiler"; import { assertNoArgs, assertNoAttributes } from "@marko/babel-utils"; +import { types as t } from "@marko/compiler"; export function exit(path) { assertNoArgs(path); @@ -14,7 +14,7 @@ export function exit(path) { throw path .get("name") .buildCodeFrameError( - "Invalid 'else' tag, expected preceding 'if' or 'else-if' tag." + "Invalid 'else' tag, expected preceding 'if' or 'else-if' tag.", ); } diff --git a/packages/translator-default/src/taglib/core/conditional/util.js b/packages/translator-default/src/taglib/core/conditional/util.js index 7e96297fa..d02d4d493 100644 --- a/packages/translator-default/src/taglib/core/conditional/util.js +++ b/packages/translator-default/src/taglib/core/conditional/util.js @@ -5,13 +5,13 @@ export function buildIfStatement(path, args) { if (!args || !args.length) { const name = path.get("name"); throw name.buildCodeFrameError( - `Invalid '<${name.node.value}>' tag, expected arguments like '<${name.node.value}(test)>'.` + `Invalid '<${name.node.value}>' tag, expected arguments like '<${name.node.value}(test)>'.`, ); } const ifStatement = t.ifStatement( args.length === 1 ? args[0] : t.sequenceExpression(args), - t.blockStatement(path.node.body.body) + t.blockStatement(path.node.body.body), ); let nextPath = path.getNextSibling(); diff --git a/packages/translator-default/src/taglib/core/index.js b/packages/translator-default/src/taglib/core/index.js index e983a5cde..f9d6281ee 100644 --- a/packages/translator-default/src/taglib/core/index.js +++ b/packages/translator-default/src/taglib/core/index.js @@ -1,22 +1,22 @@ -import * as parseImport from "./parse-import"; -import * as parseExport from "./parse-export"; +import * as translateElse from "./conditional/translate-else"; +import * as translateElseIf from "./conditional/translate-else-if"; +import * as translateIf from "./conditional/translate-if"; +import * as parseMacro from "./macro/parse"; +import * as translateMacro from "./macro/translate"; import * as parseClass from "./parse-class"; +import * as parseExport from "./parse-export"; +import * as parseImport from "./parse-import"; +import * as parseModuleCode from "./parse-module-code"; import * as parseStatic from "./parse-static"; import * as parseStyle from "./parse-style"; import * as transformStyle from "./transform-style"; -import * as parseMacro from "./macro/parse"; -import * as translateMacro from "./macro/translate"; -import * as translateIncludeContent from "./translate-include-content"; -import * as translateIf from "./conditional/translate-if"; -import * as translateElseIf from "./conditional/translate-else-if"; -import * as translateElse from "./conditional/translate-else"; -import * as translateFor from "./translate-for"; -import * as translateWhile from "./translate-while"; -import * as translateHTMLComment from "./translate-html-comment"; -import * as translateServerOnly from "./translate-server-only"; -import * as translateBody from "./translate-body"; import * as translateAwait from "./translate-await"; -import * as parseModuleCode from "./parse-module-code"; +import * as translateBody from "./translate-body"; +import * as translateFor from "./translate-for"; +import * as translateHTMLComment from "./translate-html-comment"; +import * as translateIncludeContent from "./translate-include-content"; +import * as translateServerOnly from "./translate-server-only"; +import * as translateWhile from "./translate-while"; export default { "taglib-id": "marko-default-core", diff --git a/packages/translator-default/src/taglib/core/macro/parse.js b/packages/translator-default/src/taglib/core/macro/parse.js index baf86f775..f62d4bfec 100644 --- a/packages/translator-default/src/taglib/core/macro/parse.js +++ b/packages/translator-default/src/taglib/core/macro/parse.js @@ -1,5 +1,5 @@ -import { types as t } from "@marko/compiler"; import { registerMacro } from "@marko/babel-utils"; +import { types as t } from "@marko/compiler"; export default function (path) { const attrs = path.node.attributes; diff --git a/packages/translator-default/src/taglib/core/macro/translate.js b/packages/translator-default/src/taglib/core/macro/translate.js index eff8b2340..a6d5c25fc 100644 --- a/packages/translator-default/src/taglib/core/macro/translate.js +++ b/packages/translator-default/src/taglib/core/macro/translate.js @@ -1,6 +1,6 @@ +import { diagnosticError, getMacroIdentifierForName } from "@marko/babel-utils"; import { types as t } from "@marko/compiler"; import withPreviousLocation from "../../../util/with-previous-location"; -import { diagnosticError, getMacroIdentifierForName } from "@marko/babel-utils"; export function exit(path) { const { node } = path; @@ -36,9 +36,9 @@ export function exit(path) { t.functionDeclaration( getMacroIdentifierForName(path, nameAttr.value.value), [t.identifier("out"), ...body.params], - t.blockStatement(body.body) + t.blockStatement(body.body), ), - node - ) + node, + ), ); } diff --git a/packages/translator-default/src/taglib/core/parse-class.js b/packages/translator-default/src/taglib/core/parse-class.js index 3243d0d7f..64e58d6b3 100644 --- a/packages/translator-default/src/taglib/core/parse-class.js +++ b/packages/translator-default/src/taglib/core/parse-class.js @@ -1,9 +1,9 @@ -import { types as t } from "@marko/compiler"; import { diagnosticDeprecate, diagnosticError, parseExpression, } from "@marko/babel-utils"; +import { types as t } from "@marko/compiler"; import getComponentFiles from "../../util/get-component-files"; export default function (path) { @@ -51,7 +51,7 @@ export default function (path) { } const constructorPropIndex = parsed.body.body.findIndex( - (prop) => t.isClassMethod(prop) && prop.kind === "constructor" + (prop) => t.isClassMethod(prop) && prop.kind === "constructor", ); if (constructorPropIndex !== -1) { const constructorProp = parsed.body.body[constructorPropIndex]; diff --git a/packages/translator-default/src/taglib/core/parse-module-code.js b/packages/translator-default/src/taglib/core/parse-module-code.js index 7e86795f0..2b0ee514d 100644 --- a/packages/translator-default/src/taglib/core/parse-module-code.js +++ b/packages/translator-default/src/taglib/core/parse-module-code.js @@ -1,6 +1,6 @@ import path from "path"; -import resolveFrom from "resolve-from"; import markoModules from "@marko/compiler/modules"; +import resolveFrom from "resolve-from"; const startOffset = "module-code".length; diff --git a/packages/translator-default/src/taglib/core/parse-static.js b/packages/translator-default/src/taglib/core/parse-static.js index 8e82f5c54..fac95d913 100644 --- a/packages/translator-default/src/taglib/core/parse-static.js +++ b/packages/translator-default/src/taglib/core/parse-static.js @@ -1,5 +1,5 @@ -import { types as t } from "@marko/compiler"; import { parseStatements } from "@marko/babel-utils"; +import { types as t } from "@marko/compiler"; export default function (path) { const { diff --git a/packages/translator-default/src/taglib/core/transform-style.js b/packages/translator-default/src/taglib/core/transform-style.js index 87e45b4ea..b8c1921bc 100644 --- a/packages/translator-default/src/taglib/core/transform-style.js +++ b/packages/translator-default/src/taglib/core/transform-style.js @@ -16,7 +16,7 @@ export default function (tag) { throw tag .get("name") .buildCodeFrameError( - "Style blocks must be at the root of your Marko template." + "Style blocks must be at the root of your Marko template.", ); } @@ -24,7 +24,7 @@ export default function (tag) { throw tag .get("name") .buildCodeFrameError( - "A Marko file can only contain a single inline style block." + "A Marko file can only contain a single inline style block.", ); } @@ -32,7 +32,7 @@ export default function (tag) { throw tag .get("name") .buildCodeFrameError( - 'A Marko file can either have an inline style block, or an external "style.ext" file, but not both.' + 'A Marko file can either have an inline style block, or an external "style.ext" file, but not both.', ); } diff --git a/packages/translator-default/src/taglib/core/translate-await.js b/packages/translator-default/src/taglib/core/translate-await.js index 077227e9e..d4dcb1d6a 100644 --- a/packages/translator-default/src/taglib/core/translate-await.js +++ b/packages/translator-default/src/taglib/core/translate-await.js @@ -7,7 +7,7 @@ export function enter(path) { throw path .get("name") .buildCodeFrameError( - 'You must provide a promise argument to the "" tag, eg: "".' + 'You must provide a promise argument to the "" tag, eg: "".', ); } else if (args.length > 1) { const { @@ -18,14 +18,14 @@ export function enter(path) { } = args[args.length - 1].node; throw path.hub.file.buildCodeFrameError( { loc: { start, end } }, - 'You can only pass one argument to the "" tag.' + 'You can only pass one argument to the "" tag.', ); } const [provider] = args; path.pushContainer( "attributes", - t.markoAttribute("_provider", provider.node) + t.markoAttribute("_provider", provider.node), ); if ( @@ -33,7 +33,7 @@ export function enter(path) { ) { path.pushContainer( "attributes", - t.markoAttribute("_name", t.stringLiteral(provider.toString())) + t.markoAttribute("_name", t.stringLiteral(provider.toString())), ); } diff --git a/packages/translator-default/src/taglib/core/translate-body.js b/packages/translator-default/src/taglib/core/translate-body.js index 249f0541d..a0d3e8c50 100644 --- a/packages/translator-default/src/taglib/core/translate-body.js +++ b/packages/translator-default/src/taglib/core/translate-body.js @@ -10,7 +10,7 @@ export function enter(path) { t.markoTag( t.stringLiteral("_preferred-script-location"), [], - t.markoTagBody() + t.markoTagBody(), ), ]); } diff --git a/packages/translator-default/src/taglib/core/translate-for.js b/packages/translator-default/src/taglib/core/translate-for.js index 7e05b9d60..2083aa947 100644 --- a/packages/translator-default/src/taglib/core/translate-for.js +++ b/packages/translator-default/src/taglib/core/translate-for.js @@ -1,5 +1,5 @@ -import { types as t } from "@marko/compiler"; import { assertAllowedAttributes } from "@marko/babel-utils"; +import { types as t } from "@marko/compiler"; export function exit(path) { const { node } = path; @@ -23,7 +23,7 @@ export function exit(path) { if (!keyParam) { throw namePath.buildCodeFrameError( - "Invalid 'for in' tag, missing |key, value| params." + "Invalid 'for in' tag, missing |key, value| params.", ); } @@ -32,26 +32,30 @@ export function exit(path) { t.variableDeclaration("const", [ t.variableDeclarator( valParam, - t.memberExpression(inAttr.value, keyParam, true) + t.memberExpression(inAttr.value, keyParam, true), ), - ]) + ]), ); } forNode = t.forInStatement( t.variableDeclaration("const", [t.variableDeclarator(keyParam)]), inAttr.value, - block + block, ); } else if (ofAttr) { - let ofAttrValue = ofAttr.value; + let ofAttrValue = t.logicalExpression( + "||", + ofAttr.value, + t.arrayExpression([]), + ); allowedAttributes.push("of"); const [valParam, keyParam, loopParam] = params; if (!valParam) { throw namePath.buildCodeFrameError( - "Invalid 'for of' tag, missing |value, index| params." + "Invalid 'for of' tag, missing |value, index| params.", ); } @@ -62,13 +66,13 @@ export function exit(path) { forNode.push( t.variableDeclaration("let", [ t.variableDeclarator(indexName, t.numericLiteral(0)), - ]) + ]), ); block.body.unshift( t.variableDeclaration("let", [ t.variableDeclarator(keyParam, t.updateExpression("++", indexName)), - ]) + ]), ); } @@ -77,7 +81,7 @@ export function exit(path) { forNode.push( t.variableDeclaration("const", [ t.variableDeclarator(loopParam, ofAttr.value), - ]) + ]), ); } @@ -85,8 +89,8 @@ export function exit(path) { t.forOfStatement( t.variableDeclaration("const", [t.variableDeclarator(valParam)]), ofAttrValue, - block - ) + block, + ), ); } else if (fromAttr && toAttr) { allowedAttributes.push("from", "to", "step"); @@ -107,10 +111,10 @@ export function exit(path) { t.binaryExpression( "+", fromAttr.value, - t.binaryExpression("*", stepName, stepValue) - ) + t.binaryExpression("*", stepName, stepValue), + ), ), - ]) + ]), ); } @@ -121,18 +125,18 @@ export function exit(path) { t.binaryExpression( "/", t.binaryExpression("-", toAttr.value, fromAttr.value), - stepValue - ) + stepValue, + ), ), t.variableDeclarator(stepName, t.numericLiteral(0)), ]), t.binaryExpression("<=", stepName, stepsName), t.updateExpression("++", stepName), - block + block, ); } else { throw namePath.buildCodeFrameError( - "Invalid 'for' tag, missing an 'of', 'in' or 'to' attribute." + "Invalid 'for' tag, missing an 'of', 'in' or 'to' attribute.", ); } diff --git a/packages/translator-default/src/taglib/core/translate-include-content.js b/packages/translator-default/src/taglib/core/translate-include-content.js index 07cfd8e9d..c9d3873de 100644 --- a/packages/translator-default/src/taglib/core/translate-include-content.js +++ b/packages/translator-default/src/taglib/core/translate-include-content.js @@ -1,6 +1,6 @@ import path from "path"; -import { types as t } from "@marko/compiler"; import { assertNoAttributes, assertNoParams } from "@marko/babel-utils"; +import { types as t } from "@marko/compiler"; export function enter(tag) { const { @@ -16,7 +16,7 @@ export function enter(tag) { if (args.length !== 1) { throw tag.buildCodeFrameError( - `A single path argument is required for ${tagExample}.` + `A single path argument is required for ${tagExample}.`, ); } @@ -24,7 +24,7 @@ export function enter(tag) { if (!content.isStringLiteral()) { throw content.buildCodeFrameError( - `The argument to ${tagExample} must be a static string.` + `The argument to ${tagExample} must be a static string.`, ); } @@ -44,7 +44,7 @@ export function enter(tag) { tag.replaceWith( t.markoPlaceholder( t.stringLiteral(fs.readFileSync(fullPath).toString("utf-8")), - tagName === "include-text" - ) + tagName === "include-text", + ), ); } diff --git a/packages/translator-default/src/taglib/core/translate-while.js b/packages/translator-default/src/taglib/core/translate-while.js index 2a41e7bde..5b6c9535e 100644 --- a/packages/translator-default/src/taglib/core/translate-while.js +++ b/packages/translator-default/src/taglib/core/translate-while.js @@ -1,9 +1,9 @@ -import { types as t } from "@marko/compiler"; import { assertNoAttributes, assertNoParams, getArgOrSequence, } from "@marko/babel-utils"; +import { types as t } from "@marko/compiler"; import withPreviousLocation from "../../util/with-previous-location"; export function exit(path) { @@ -15,7 +15,7 @@ export function exit(path) { throw path .get("name") .buildCodeFrameError( - "A condition is required for the tag." + "A condition is required for the tag.", ); } @@ -23,9 +23,9 @@ export function exit(path) { withPreviousLocation( t.whileStatement( getArgOrSequence(path), - t.blockStatement(path.node.body.body) + t.blockStatement(path.node.body.body), ), - path.node - ) + path.node, + ), ); } diff --git a/packages/translator-default/src/taglib/migrate/all-templates.js b/packages/translator-default/src/taglib/migrate/all-templates.js index 8510679ad..80ec7682c 100644 --- a/packages/translator-default/src/taglib/migrate/all-templates.js +++ b/packages/translator-default/src/taglib/migrate/all-templates.js @@ -1,15 +1,42 @@ +import { diagnosticDeprecate } from "@marko/babel-utils"; import { types as t } from "@marko/compiler"; import withPreviousLocation from "../../util/with-previous-location"; -import { diagnosticDeprecate } from "@marko/babel-utils"; +const kHadAssignment = Symbol(); export default { - ReferencedIdentifier(path) { - if (path.node.name === "data" && !path.scope.hasBinding("data")) { + AssignmentExpression(path, state) { + if ( + !state[kHadAssignment] && + path.node.left.type === "Identifier" && + path.node.left.name === "data" + ) { + state[kHadAssignment] = true; + + let root = path.parentPath; + while (root.parentPath.type !== "Program") { + root = root.parentPath; + } + + root.insertBefore( + t.markoScriptlet([ + t.variableDeclaration("var", [ + t.variableDeclarator(t.identifier("data")), + ]), + ]), + ); + } + }, + ReferencedIdentifier(path, state) { + if ( + !state[kHadAssignment] && + path.node.name === "data" && + !path.scope.hasBinding("data") + ) { diagnosticDeprecate(path, { label: "The 'data' variable is deprecated. Use 'input' instead.", fix() { path.replaceWith( - withPreviousLocation(t.identifier("input"), path.node) + withPreviousLocation(t.identifier("input"), path.node), ); }, }); diff --git a/packages/translator-default/src/text/index[html].js b/packages/translator-default/src/text/index[html].js index 4eb2d0ab7..039e90d54 100644 --- a/packages/translator-default/src/text/index[html].js +++ b/packages/translator-default/src/text/index[html].js @@ -6,6 +6,6 @@ export default function (path) { const { node } = path; path.replaceWith( - withPreviousLocation(write`${t.stringLiteral(node.value)}`, node) + withPreviousLocation(write`${t.stringLiteral(node.value)}`, node), ); } diff --git a/packages/translator-default/src/text/index[vdom].js b/packages/translator-default/src/text/index[vdom].js index 92af03a24..70894a84b 100644 --- a/packages/translator-default/src/text/index[vdom].js +++ b/packages/translator-default/src/text/index[vdom].js @@ -1,5 +1,5 @@ -import { decode } from "he"; import { types as t } from "@marko/compiler"; +import { decode } from "he"; import write from "../util/vdom-out-write"; import withPreviousLocation from "../util/with-previous-location"; @@ -11,9 +11,9 @@ export default function (path) { write( "t", t.stringLiteral(decode(node.value)), - path.hub.file._componentInstanceIdentifier + path.hub.file._componentInstanceIdentifier, ), - node - ) + node, + ), ); } diff --git a/packages/translator-default/src/util/add-dependencies.js b/packages/translator-default/src/util/add-dependencies.js index d469e14c6..c9dc7fb46 100644 --- a/packages/translator-default/src/util/add-dependencies.js +++ b/packages/translator-default/src/util/add-dependencies.js @@ -1,10 +1,15 @@ import path from "path"; -import MagicString from "magic-string"; +import { + loadFileForImport, + parseStatements, + resolveRelativePath, +} from "@marko/babel-utils"; import { types as t } from "@marko/compiler"; -import { loadFileForImport, resolveRelativePath } from "@marko/babel-utils"; +import MagicString from "magic-string"; +import resolveFrom from "resolve-from"; export default (entryFile, isHydrate) => { - const { resolveVirtualDependency, hydrateIncludeImports } = + const { resolveVirtualDependency, hydrateIncludeImports, hydrateInit } = entryFile.markoOpts; const hydratedFiles = new Set(); const program = entryFile.path; @@ -15,7 +20,6 @@ export default (entryFile, isHydrate) => { return; } - const registerId = t.identifier("register"); const watchFiles = new Set(); let hasComponents = false; let splitComponentIndex = 0; @@ -28,26 +32,33 @@ export default (entryFile, isHydrate) => { if (hasComponents) { const initId = t.identifier("init"); const markoComponentsImport = importPath( - resolvePath(entryFile, "marko/src/runtime/components/index.js") + resolvePath(entryFile, "marko/src/runtime/components/index.js"), ); if (splitComponentIndex) { markoComponentsImport.specifiers.push( - t.importSpecifier(registerId, registerId) + t.importSpecifier(t.identifier("register"), t.identifier("register")), ); } - markoComponentsImport.specifiers.push(t.importSpecifier(initId, initId)); + + if (hydrateInit) { + markoComponentsImport.specifiers.push(t.importSpecifier(initId, initId)); + } + program.unshiftContainer("body", markoComponentsImport); - program.pushContainer( - "body", - t.expressionStatement( - t.callExpression( - initId, - entryFile.markoOpts.runtimeId - ? [t.stringLiteral(entryFile.markoOpts.runtimeId)] - : [] - ) - ) - ); + + if (hydrateInit) { + program.pushContainer( + "body", + t.expressionStatement( + t.callExpression( + initId, + entryFile.markoOpts.runtimeId + ? [t.stringLiteral(entryFile.markoOpts.runtimeId)] + : [], + ), + ), + ); + } } function addHydrateDeps(file) { @@ -86,29 +97,38 @@ export default (entryFile, isHydrate) => { if (!hydratedFiles.has(resolvePath(file, tag))) { addHydrateDeps(loadFileForImport(file, tag)); } + } else { + const importedTemplates = tryGetTemplateImports(file, tag); + if (importedTemplates) { + for (const templateFile of importedTemplates) { + if (!hydratedFiles.has(resolvePath(file, templateFile))) { + addHydrateDeps(loadFileForImport(file, templateFile)); + } + } + } } } if (meta.component) { // Split component const splitComponentId = t.identifier( - `component_${splitComponentIndex++}` + `component_${splitComponentIndex++}`, ); const splitComponentImport = importPath( - resolvePath(file, meta.component) + resolvePath(file, meta.component), ); splitComponentImport.specifiers.push( - t.importDefaultSpecifier(splitComponentId) + t.importDefaultSpecifier(splitComponentId), ); program.pushContainer("body", splitComponentImport); program.pushContainer( "body", t.expressionStatement( - t.callExpression(registerId, [ + t.callExpression(t.identifier("register"), [ t.stringLiteral(meta.id), splitComponentId, - ]) - ) + ]), + ), ); } } @@ -146,6 +166,10 @@ export default (entryFile, isHydrate) => { code, virtualPath, }); + + if (!dep) { + continue; + } } else if (dep.startsWith("package:")) { continue; } @@ -159,7 +183,7 @@ export default (entryFile, isHydrate) => { ? resolveRelativePath(file, req) : resolveRelativePath( entryFile, - path.join(file.opts.filename, "..", req) + path.join(file.opts.filename, "..", req), ); } @@ -168,6 +192,62 @@ export default (entryFile, isHydrate) => { } }; +function tryGetTemplateImports(file, rendererRelativePath) { + const resolvedRendererPath = path.join( + file.opts.filename, + "..", + rendererRelativePath, + ); + let templateImports; + + try { + for (const statement of parseStatements( + file, + file.markoOpts.fileSystem.readFileSync(resolvedRendererPath, "utf-8"), + )) { + if (statement.type === "ImportDeclaration") { + addImport(statement.source.value); + } else { + t.traverseFast(statement, (node) => { + if ( + node.type === "CallExpression" && + (node.callee.name === "require" || + (node.callee.type === "MemberExpression" && + node.callee.object.type === "Identifier" && + node.callee.object.name === "require" && + node.callee.property.type === "Identifier" && + node.callee.property.name === "resolve")) && + node.arguments.length === 1 && + node.arguments[0].type === "StringLiteral" + ) { + addImport(node.arguments[0].value); + } + }); + } + } + } catch { + // Ignore + } + + return templateImports; + + function addImport(request) { + if (request.endsWith(".marko")) { + const resolvedTemplatePath = + request[0] === "." + ? path.resolve(resolvedRendererPath, "..", request) + : resolveFrom.silent(path.dirname(resolvedRendererPath), request); + if (resolvedTemplatePath) { + if (templateImports) { + templateImports.push(resolvedTemplatePath); + } else { + templateImports = [resolvedTemplatePath]; + } + } + } + } +} + function toTestFn(val) { if (typeof val === "function") { return val; diff --git a/packages/translator-default/src/util/escape-regexp.js b/packages/translator-default/src/util/escape-regexp.js new file mode 100644 index 000000000..9236904fb --- /dev/null +++ b/packages/translator-default/src/util/escape-regexp.js @@ -0,0 +1,4 @@ +const regexpCharsReg = /[\\^$.*+?()[\]{}|]/g; +export function escapeRegExp(str) { + return str.replace(regexpCharsReg, "\\$&"); +} diff --git a/packages/translator-default/src/util/get-component-files.js b/packages/translator-default/src/util/get-component-files.js index 1ed3f6c21..3988efd07 100644 --- a/packages/translator-default/src/util/get-component-files.js +++ b/packages/translator-default/src/util/get-component-files.js @@ -1,5 +1,5 @@ import path from "path"; -import escapeRegExp from "escape-string-regexp"; +import { escapeRegExp } from "./escape-regexp"; const COMPONENT_FILES_KEY = Symbol(); @@ -15,12 +15,12 @@ export default function getComponentFiles({ hub: { file } }) { const dirname = path.dirname(filename); const dirFiles = fs.readdirSync(dirname).sort(); const base = getBase(filename); - const isEntry = "index" === base; + const isEntry = "index" === base || "template" === base; const fileMatch = `(${escapeRegExp(base)}\\.${isEntry ? "|" : ""})`; const styleMatch = new RegExp(`^${fileMatch}style\\.\\w+$`); const componentMatch = new RegExp(`^${fileMatch}component\\.\\w+$`); const splitComponentMatch = new RegExp( - `^${fileMatch}component-browser\\.\\w+$` + `^${fileMatch}component-browser\\.\\w+$`, ); const packageMatch = new RegExp(`^${fileMatch}browser\\.\\json$`); let styleFile; diff --git a/packages/translator-default/src/util/html-out-write.js b/packages/translator-default/src/util/html-out-write.js index e694b37f3..64fbe4ed3 100644 --- a/packages/translator-default/src/util/html-out-write.js +++ b/packages/translator-default/src/util/html-out-write.js @@ -1,5 +1,5 @@ -import { types as t } from "@marko/compiler"; import { normalizeTemplateString } from "@marko/babel-utils"; +import { types as t } from "@marko/compiler"; export default function write(strings, ...expressions) { const template = normalizeTemplateString(strings, ...expressions); @@ -8,8 +8,8 @@ export default function write(strings, ...expressions) { return t.expressionStatement( t.callExpression( t.memberExpression(t.identifier("out"), t.identifier("w")), - [template] - ) + [template], + ), ); } } diff --git a/packages/translator-default/src/util/key-manager.js b/packages/translator-default/src/util/key-manager.js index 596e231d1..f2e9c8249 100644 --- a/packages/translator-default/src/util/key-manager.js +++ b/packages/translator-default/src/util/key-manager.js @@ -1,9 +1,9 @@ -import { types as t } from "@marko/compiler"; import { isLoopTag, isTransparentTag, normalizeTemplateString, } from "@marko/babel-utils"; +import { types as t } from "@marko/compiler"; const KeyManagerLookup = new WeakMap(); /** @@ -51,7 +51,7 @@ class KeyManager { firstChildTag.insertBefore( t.variableDeclaration("const", [ t.variableDeclarator(keyValueIdentifier, firstChildKey), - ]) + ]), ); path.set("keyValue", keyValueIdentifier); @@ -74,7 +74,7 @@ class KeyManager { "key", parentKeyScope ? t.binaryExpression("+", autoKey, parentKeyScope) - : autoKey + : autoKey, ); } } @@ -102,8 +102,8 @@ function getKeyScope(path) { "declarations", t.variableDeclarator( keyScopeIdentifier, - normalizeTemplateString`[${firstChildKeyValue}]` - ) + normalizeTemplateString`[${firstChildKeyValue}]`, + ), ); } else { let keyValue; @@ -121,7 +121,7 @@ function getKeyScope(path) { path.insertBefore( t.variableDeclaration("let", [ t.variableDeclarator(keyValueIdentifier, t.numericLiteral(0)), - ]) + ]), ); keyValue = t.updateExpression("++", keyValueIdentifier); @@ -139,9 +139,9 @@ function getKeyScope(path) { t.variableDeclaration("const", [ t.variableDeclarator( keyScopeIdentifier, - normalizeTemplateString`[${keyValue}]` + normalizeTemplateString`[${keyValue}]`, ), - ]) + ]), ); } diff --git a/packages/translator-default/src/util/optimize-vdom-create.js b/packages/translator-default/src/util/optimize-vdom-create.js index ff8f730f9..ef7fba115 100644 --- a/packages/translator-default/src/util/optimize-vdom-create.js +++ b/packages/translator-default/src/util/optimize-vdom-create.js @@ -1,16 +1,22 @@ -import { decode } from "he"; -import { types as t } from "@marko/compiler"; import { + computeNode, getTagDef, importDefault, isLoopTag, isNativeTag, } from "@marko/babel-utils"; +import { types as t } from "@marko/compiler"; +import { decode } from "he"; +import { tagArguments } from "../tag/native-tag[vdom]"; import { getKeyManager } from "./key-manager"; import write from "./vdom-out-write"; -import { tagArguments } from "../tag/native-tag[vdom]"; -import directives from "../tag/attribute/directives"; +const skipDirectives = new Set([ + "no-update", + "no-update-if", + "no-update-body", + "no-update-body-if", +]); const staticNodes = new WeakSet(); const mergeStaticCreateVisitor = { @@ -18,14 +24,18 @@ const mergeStaticCreateVisitor = { const { node } = path; state.currentRoot = t.callExpression( t.memberExpression(state.currentRoot, t.identifier("t")), - [t.stringLiteral(decode(node.value))] + [t.stringLiteral(decode(node.value))], ); }, MarkoPlaceholder(path, state) { - const { value } = path.get("value").evaluate(); + const computed = computeNode(path.node.value); state.currentRoot = t.callExpression( t.memberExpression(state.currentRoot, t.identifier("t")), - [t.stringLiteral(value != null ? value.toString() : "")] + [ + t.stringLiteral( + computed && computed.value != null ? `${computed.value}` : "", + ), + ], ); }, MarkoTag(path, state) { @@ -33,7 +43,7 @@ const mergeStaticCreateVisitor = { const writeArgs = tagArguments(path, true); state.currentRoot = t.callExpression( t.memberExpression(state.currentRoot, t.identifier("e")), - writeArgs + writeArgs, ); }, }; @@ -44,8 +54,8 @@ const analyzeStaticVisitor = { }, MarkoPlaceholder(path) { if (path.node.escape) { - const { confident } = path.get("value").evaluate(); - if (confident) { + const computed = computeNode(path.node.value); + if (computed) { staticNodes.add(path.node); } } @@ -68,24 +78,18 @@ const analyzeStaticVisitor = { // check attributes isStatic = isStatic && - path.get("attributes").every((attr) => { - if ( - !t.isMarkoAttribute(attr) || - attr.node.arguments || - attr.node.modifier || - directives[attr.node.name] - ) - return false; - - const attrValue = attr.get("value"); - const exclude = - t.isObjectExpression(attrValue) || - t.isArrayExpression(attrValue) || - t.isRegExpLiteral(attrValue); - if (exclude) return false; - const { confident } = attrValue.evaluate(); - return confident; - }); + path + .get("attributes") + .every( + (attr) => + t.isMarkoAttribute(attr) && + !( + attr.node.arguments || + attr.node.modifier || + skipDirectives.has(attr.node.name) || + !computeNode(attr.node.value) + ), + ); // check children isStatic = @@ -120,9 +124,9 @@ export function optimizeStaticVDOM(path) { importDefault( file, "marko/src/runtime/vdom/helpers/v-element.js", - "marko_createElement" + "marko_createElement", ), - writeArgs + writeArgs, ), }; diff --git a/packages/translator-default/src/util/vdom-out-write.js b/packages/translator-default/src/util/vdom-out-write.js index e54ca1771..b0215ef4e 100644 --- a/packages/translator-default/src/util/vdom-out-write.js +++ b/packages/translator-default/src/util/vdom-out-write.js @@ -4,7 +4,7 @@ export default function write(method, ...args) { return t.expressionStatement( t.callExpression( t.memberExpression(t.identifier("out"), t.identifier(method)), - args - ) + args, + ), ); } diff --git a/packages/translator-default/test/fixtures/at-tag-inside-if-tag/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/at-tag-inside-if-tag/snapshots/cjs-expected.js index 2ec2213b6..9f84fa96f 100644 --- a/packages/translator-default/test/fixtures/at-tag-inside-if-tag/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/at-tag-inside-if-tag/snapshots/cjs-expected.js @@ -11,8 +11,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/at-tag-inside-if-tag/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { let _thing = null; diff --git a/packages/translator-default/test/fixtures/at-tag-inside-if-tag/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/at-tag-inside-if-tag/snapshots/vdom-expected.js index b2f0d2b88..7ef2ea131 100644 --- a/packages/translator-default/test/fixtures/at-tag-inside-if-tag/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/at-tag-inside-if-tag/snapshots/vdom-expected.js @@ -7,7 +7,7 @@ import _marko_self_iterator from "marko/src/runtime/helpers/self-iterator.js"; import _customTag from "./components/custom-tag/index.marko"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/at-tag-inside-if-tag/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/at-tag-inside-if-tag/snapshots/vdomProduction-expected.js index c8a9ad8fe..8de97675b 100644 --- a/packages/translator-default/test/fixtures/at-tag-inside-if-tag/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/at-tag-inside-if-tag/snapshots/vdomProduction-expected.js @@ -7,7 +7,7 @@ import _marko_self_iterator from "marko/dist/runtime/helpers/self-iterator.js"; import _customTag from "./components/custom-tag/index.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic-and-static/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic-and-static/snapshots/cjs-expected.js index f94e71bdc..9559bf3aa 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic-and-static/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic-and-static/snapshots/cjs-expected.js @@ -10,8 +10,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/at-tags-dynamic-and-static/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { const _items = []; diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic-and-static/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic-and-static/snapshots/vdom-expected.js index 11ca7fbd6..fc92d8252 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic-and-static/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic-and-static/snapshots/vdom-expected.js @@ -6,7 +6,7 @@ import _marko_self_iterator from "marko/src/runtime/helpers/self-iterator.js"; import _hello from "./components/hello/index.marko"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic-and-static/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic-and-static/snapshots/vdomProduction-expected.js index 83be2f5ec..abe6382a4 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic-and-static/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic-and-static/snapshots/vdomProduction-expected.js @@ -6,7 +6,7 @@ import _marko_self_iterator from "marko/dist/runtime/helpers/self-iterator.js"; import _hello from "./components/hello/index.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/snapshots/cjs-expected.js index cc4d4f179..45d4dd213 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/snapshots/cjs-expected.js @@ -9,8 +9,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { (0, _dynamicTag.default)(out, input.x, () => ({ diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/snapshots/vdom-expected.js index ed4c44e67..e9e4841a1 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/snapshots/vdom-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _marko_self_iterator from "marko/src/runtime/helpers/self-iterator.js"; import _marko_dynamic_tag from "marko/src/runtime/helpers/dynamic-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/snapshots/vdomProduction-expected.js index 652f3be81..569edc21b 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic-tag-parent/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _marko_self_iterator from "marko/dist/runtime/helpers/self-iterator.js"; import _marko_dynamic_tag from "marko/dist/runtime/helpers/dynamic-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic-with-params/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic-with-params/snapshots/cjs-expected.js index 74882dfb0..72aea9314 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic-with-params/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic-with-params/snapshots/cjs-expected.js @@ -12,8 +12,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/at-tags-dynamic-with-params/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { let _item = null; diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic-with-params/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic-with-params/snapshots/vdom-expected.js index c2344f88a..10dac1cad 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic-with-params/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic-with-params/snapshots/vdom-expected.js @@ -7,7 +7,7 @@ import _marko_self_iterator from "marko/src/runtime/helpers/self-iterator.js"; import _hello from "./components/hello/index.marko"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic-with-params/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic-with-params/snapshots/vdomProduction-expected.js index 57b279e8e..468f1f6a3 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic-with-params/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic-with-params/snapshots/vdomProduction-expected.js @@ -7,7 +7,7 @@ import _marko_self_iterator from "marko/dist/runtime/helpers/self-iterator.js"; import _hello from "./components/hello/index.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/cjs-expected.js index c1826fa35..3248f4481 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/cjs-expected.js @@ -11,13 +11,12 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/at-tags-dynamic/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { const _cols = []; const _items = []; - for (const color of input.colors) { + for (const color of input.colors || []) { if (x) { _items.push({ "style": { @@ -59,9 +58,9 @@ _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, [Symbol.iterator]: _selfIterator.default }); } - for (const col of input.table) { + for (const col of input.table || []) { const _rows = []; - for (const row of col) { + for (const row of col || []) { _rows.push({ "row": row, "renderBody": out => { diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/html-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/html-expected.js index 4f6458434..ced875716 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/html-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/html-expected.js @@ -11,7 +11,7 @@ const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { const _cols = []; const _items = []; - for (const color of input.colors) { + for (const color of input.colors || []) { if (x) { _items.push({ "style": { @@ -53,9 +53,9 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon [Symbol.iterator]: _marko_self_iterator }); } - for (const col of input.table) { + for (const col of input.table || []) { const _rows = []; - for (const row of col) { + for (const row of col || []) { _rows.push({ "row": row, "renderBody": out => { diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/htmlProduction-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/htmlProduction-expected.js index 07a56b4c9..f729ce9c4 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/htmlProduction-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/htmlProduction-expected.js @@ -11,7 +11,7 @@ const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { const _cols = []; const _items = []; - for (const color of input.colors) { + for (const color of input.colors || []) { if (x) { _items.push({ "style": { @@ -53,9 +53,9 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon [Symbol.iterator]: _marko_self_iterator }); } - for (const col of input.table) { + for (const col of input.table || []) { const _rows = []; - for (const row of col) { + for (const row of col || []) { _rows.push({ "row": row, "renderBody": out => { diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/vdom-expected.js index d4a0e740e..04789a054 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/vdom-expected.js @@ -6,13 +6,13 @@ import _marko_self_iterator from "marko/src/runtime/helpers/self-iterator.js"; import _hello from "./components/hello/index.marko"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { const _cols = []; const _items = []; - for (const color of input.colors) { + for (const color of input.colors || []) { if (x) { _items.push({ "style": { @@ -54,9 +54,9 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon [Symbol.iterator]: _marko_self_iterator }); } - for (const col of input.table) { + for (const col of input.table || []) { const _rows = []; - for (const row of col) { + for (const row of col || []) { _rows.push({ "row": row, "renderBody": out => { diff --git a/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/vdomProduction-expected.js index 9215b41bd..866c543f6 100644 --- a/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-dynamic/snapshots/vdomProduction-expected.js @@ -6,13 +6,13 @@ import _marko_self_iterator from "marko/dist/runtime/helpers/self-iterator.js"; import _hello from "./components/hello/index.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { const _cols = []; const _items = []; - for (const color of input.colors) { + for (const color of input.colors || []) { if (x) { _items.push({ "style": { @@ -54,9 +54,9 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon [Symbol.iterator]: _marko_self_iterator }); } - for (const col of input.table) { + for (const col of input.table || []) { const _rows = []; - for (const row of col) { + for (const row of col || []) { _rows.push({ "row": row, "renderBody": out => { diff --git a/packages/translator-default/test/fixtures/at-tags-repeated-longhand/components/hello/index.marko b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/components/hello/index.marko new file mode 100644 index 000000000..78e7012b8 --- /dev/null +++ b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/components/hello/index.marko @@ -0,0 +1 @@ +
    \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/at-tags-repeated-longhand/components/hello/marko-tag.json b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/components/hello/marko-tag.json new file mode 100644 index 000000000..f2624bb4a --- /dev/null +++ b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/components/hello/marko-tag.json @@ -0,0 +1,15 @@ +{ + "attributes": {}, + "nested-tags": { + "list": { + "attributes": {}, + "nested-tags": { + "item": { + "is-repeated": true, + "target-property": "items", + "attributes": {} + } + } + } + } +} diff --git a/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/cjs-expected.js new file mode 100644 index 000000000..efd4b9b33 --- /dev/null +++ b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/cjs-expected.js @@ -0,0 +1,63 @@ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; +var _index = require("marko/src/runtime/html/index.js"); +var _selfIterator = _interopRequireDefault(require("marko/src/runtime/helpers/self-iterator.js")); +var _escapeXml = require("marko/src/runtime/html/helpers/escape-xml.js"); +var _index2 = _interopRequireDefault(require("./components/hello/index.marko")); +var _renderTag = _interopRequireDefault(require("marko/src/runtime/helpers/render-tag.js")); +var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer.js")); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +const _marko_componentType = "packages/translator-default/test/fixtures/at-tags-repeated-longhand/template.marko", + _marko_template = (0, _index.t)(_marko_componentType); +var _default = exports.default = _marko_template; +const _marko_component = {}; +_marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { + (0, _renderTag.default)(_index2.default, { + "list": { + "items": _items, + [Symbol.iterator]: _selfIterator.default + }, + "renderBody": out => { + const _items = []; + for (const color of input.colors || []) { + if (x) { + _items.push({ + "renderBody": out => { + out.w("foo"); + }, + [Symbol.iterator]: _selfIterator.default + }); + } else if (y) { + _items.push({ + "renderBody": out => { + out.w("bar"); + }, + [Symbol.iterator]: _selfIterator.default + }); + } else { + _items.push({ + "renderBody": out => { + out.w("baz"); + }, + [Symbol.iterator]: _selfIterator.default + }); + } + } + let i = 10; + while (i--) { + _items.push({ + "renderBody": out => { + out.w((0, _escapeXml.x)(i)); + }, + [Symbol.iterator]: _selfIterator.default + }); + } + } + }, out, _componentDef, "0"); +}, { + t: _marko_componentType, + i: true, + d: true +}, _marko_component); \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/generated-expected.marko b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/generated-expected.marko new file mode 100644 index 000000000..eab2e475a --- /dev/null +++ b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/generated-expected.marko @@ -0,0 +1,27 @@ + + <@list> + + + <@item> + foo + + + + <@item> + bar + + + + <@item> + baz + + + + $ let i = 10; + + <@item> + ${i} + + + + \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/html-expected.js b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/html-expected.js new file mode 100644 index 000000000..411f860a5 --- /dev/null +++ b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/html-expected.js @@ -0,0 +1,58 @@ +import { t as _t } from "marko/src/runtime/html/index.js"; +const _marko_componentType = "packages/translator-default/test/fixtures/at-tags-repeated-longhand/template.marko", + _marko_template = _t(_marko_componentType); +export default _marko_template; +import _marko_self_iterator from "marko/src/runtime/helpers/self-iterator.js"; +import { x as _marko_escapeXml } from "marko/src/runtime/html/helpers/escape-xml.js"; +import _hello from "./components/hello/index.marko"; +import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; +import _marko_renderer from "marko/src/runtime/components/renderer.js"; +const _marko_component = {}; +_marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { + _marko_tag(_hello, { + "list": { + "items": _items, + [Symbol.iterator]: _marko_self_iterator + }, + "renderBody": out => { + const _items = []; + for (const color of input.colors || []) { + if (x) { + _items.push({ + "renderBody": out => { + out.w("foo"); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } else if (y) { + _items.push({ + "renderBody": out => { + out.w("bar"); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } else { + _items.push({ + "renderBody": out => { + out.w("baz"); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } + } + let i = 10; + while (i--) { + _items.push({ + "renderBody": out => { + out.w(_marko_escapeXml(i)); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } + } + }, out, _componentDef, "0"); +}, { + t: _marko_componentType, + i: true, + d: true +}, _marko_component); \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/htmlProduction-expected.js b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/htmlProduction-expected.js new file mode 100644 index 000000000..150cc2477 --- /dev/null +++ b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/htmlProduction-expected.js @@ -0,0 +1,57 @@ +import { t as _t } from "marko/dist/runtime/html/index.js"; +const _marko_componentType = "1bkLHbaD", + _marko_template = _t(_marko_componentType); +export default _marko_template; +import _marko_self_iterator from "marko/dist/runtime/helpers/self-iterator.js"; +import { x as _marko_escapeXml } from "marko/dist/runtime/html/helpers/escape-xml.js"; +import _hello from "./components/hello/index.marko"; +import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; +import _marko_renderer from "marko/dist/runtime/components/renderer.js"; +const _marko_component = {}; +_marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { + _marko_tag(_hello, { + "list": { + "items": _items, + [Symbol.iterator]: _marko_self_iterator + }, + "renderBody": out => { + const _items = []; + for (const color of input.colors || []) { + if (x) { + _items.push({ + "renderBody": out => { + out.w("foo"); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } else if (y) { + _items.push({ + "renderBody": out => { + out.w("bar"); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } else { + _items.push({ + "renderBody": out => { + out.w("baz"); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } + } + let i = 10; + while (i--) { + _items.push({ + "renderBody": out => { + out.w(_marko_escapeXml(i)); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } + } + }, out, _componentDef, "0"); +}, { + t: _marko_componentType, + i: true +}, _marko_component); \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/hydrate-expected.js b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/hydrate-expected.js new file mode 100644 index 000000000..e69de29bb diff --git a/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/vdom-expected.js new file mode 100644 index 000000000..628f427d9 --- /dev/null +++ b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/vdom-expected.js @@ -0,0 +1,61 @@ +import { t as _t } from "marko/src/runtime/vdom/index.js"; +const _marko_componentType = "packages/translator-default/test/fixtures/at-tags-repeated-longhand/template.marko", + _marko_template = _t(_marko_componentType); +export default _marko_template; +import _marko_self_iterator from "marko/src/runtime/helpers/self-iterator.js"; +import _hello from "./components/hello/index.marko"; +import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; +import _marko_renderer from "marko/src/runtime/components/renderer.js"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; +_marko_registerComponent(_marko_componentType, () => _marko_template); +const _marko_component = {}; +_marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { + _marko_tag(_hello, { + "list": { + "items": _items, + [Symbol.iterator]: _marko_self_iterator + }, + "renderBody": out => { + const _items = []; + for (const color of input.colors || []) { + if (x) { + _items.push({ + "renderBody": out => { + out.t("foo", _component); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } else if (y) { + _items.push({ + "renderBody": out => { + out.t("bar", _component); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } else { + _items.push({ + "renderBody": out => { + out.t("baz", _component); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } + } + let i = 10; + while (i--) { + _items.push({ + "renderBody": out => { + out.t(i, _component); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } + } + }, out, _componentDef, "0"); +}, { + t: _marko_componentType, + i: true, + d: true +}, _marko_component); +import _marko_defineComponent from "marko/src/runtime/components/defineComponent.js"; +_marko_template.Component = _marko_defineComponent(_marko_component, _marko_template._); \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/vdomProduction-expected.js new file mode 100644 index 000000000..d5bd2edcb --- /dev/null +++ b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/snapshots/vdomProduction-expected.js @@ -0,0 +1,60 @@ +import { t as _t } from "marko/dist/runtime/vdom/index.js"; +const _marko_componentType = "1bkLHbaD", + _marko_template = _t(_marko_componentType); +export default _marko_template; +import _marko_self_iterator from "marko/dist/runtime/helpers/self-iterator.js"; +import _hello from "./components/hello/index.marko"; +import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; +import _marko_renderer from "marko/dist/runtime/components/renderer.js"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; +_marko_registerComponent(_marko_componentType, () => _marko_template); +const _marko_component = {}; +_marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { + _marko_tag(_hello, { + "list": { + "items": _items, + [Symbol.iterator]: _marko_self_iterator + }, + "renderBody": out => { + const _items = []; + for (const color of input.colors || []) { + if (x) { + _items.push({ + "renderBody": out => { + out.t("foo", _component); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } else if (y) { + _items.push({ + "renderBody": out => { + out.t("bar", _component); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } else { + _items.push({ + "renderBody": out => { + out.t("baz", _component); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } + } + let i = 10; + while (i--) { + _items.push({ + "renderBody": out => { + out.t(i, _component); + }, + [Symbol.iterator]: _marko_self_iterator + }); + } + } + }, out, _componentDef, "0"); +}, { + t: _marko_componentType, + i: true +}, _marko_component); +import _marko_defineComponent from "marko/dist/runtime/components/defineComponent.js"; +_marko_template.Component = _marko_defineComponent(_marko_component, _marko_template._); \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/at-tags-repeated-longhand/template.marko b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/template.marko new file mode 100644 index 000000000..b55aa0eb7 --- /dev/null +++ b/packages/translator-default/test/fixtures/at-tags-repeated-longhand/template.marko @@ -0,0 +1,20 @@ + + <@list> + + + <@item>foo + + + <@item>bar + + + <@item>baz + + + + $ let i = 10; + + <@item>${i} + + + diff --git a/packages/translator-default/test/fixtures/at-tags-with-key/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/at-tags-with-key/snapshots/cjs-expected.js index c37bc9343..596d51ee2 100644 --- a/packages/translator-default/test/fixtures/at-tags-with-key/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-with-key/snapshots/cjs-expected.js @@ -10,8 +10,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/at-tags-with-key/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { (0, _renderTag.default)(_index2.default, { diff --git a/packages/translator-default/test/fixtures/at-tags-with-key/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/at-tags-with-key/snapshots/vdom-expected.js index cba9b81d6..4b38309be 100644 --- a/packages/translator-default/test/fixtures/at-tags-with-key/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-with-key/snapshots/vdom-expected.js @@ -6,7 +6,7 @@ import _marko_self_iterator from "marko/src/runtime/helpers/self-iterator.js"; import _hello from "./components/hello/index.marko"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/at-tags-with-key/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/at-tags-with-key/snapshots/vdomProduction-expected.js index cc80646ac..c39434bac 100644 --- a/packages/translator-default/test/fixtures/at-tags-with-key/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/at-tags-with-key/snapshots/vdomProduction-expected.js @@ -6,7 +6,7 @@ import _marko_self_iterator from "marko/dist/runtime/helpers/self-iterator.js"; import _hello from "./components/hello/index.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/at-tags/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/at-tags/snapshots/cjs-expected.js index 65ddb493d..0c9ef0623 100644 --- a/packages/translator-default/test/fixtures/at-tags/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/at-tags/snapshots/cjs-expected.js @@ -10,8 +10,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/at-tags/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { (0, _renderTag.default)(_index2.default, { diff --git a/packages/translator-default/test/fixtures/at-tags/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/at-tags/snapshots/vdom-expected.js index 179902b56..0e304a43a 100644 --- a/packages/translator-default/test/fixtures/at-tags/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/at-tags/snapshots/vdom-expected.js @@ -6,7 +6,7 @@ import _marko_self_iterator from "marko/src/runtime/helpers/self-iterator.js"; import _hello from "./components/hello/index.marko"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/at-tags/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/at-tags/snapshots/vdomProduction-expected.js index d7d9c3770..8249be115 100644 --- a/packages/translator-default/test/fixtures/at-tags/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/at-tags/snapshots/vdomProduction-expected.js @@ -6,7 +6,7 @@ import _marko_self_iterator from "marko/dist/runtime/helpers/self-iterator.js"; import _hello from "./components/hello/index.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/attr-boolean/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/attr-boolean/snapshots/cjs-expected.js index c88dfb6a8..cb7845070 100644 --- a/packages/translator-default/test/fixtures/attr-boolean/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/attr-boolean/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/attr-boolean/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w(""); diff --git a/packages/translator-default/test/fixtures/attr-boolean/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/attr-boolean/snapshots/vdom-expected.js index eff66f65d..da899cb39 100644 --- a/packages/translator-default/test/fixtures/attr-boolean/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/attr-boolean/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/attr-boo _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/attr-boolean/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/attr-boolean/snapshots/vdomProduction-expected.js index 61e4c0b6c..1d907c454 100644 --- a/packages/translator-default/test/fixtures/attr-boolean/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/attr-boolean/snapshots/vdomProduction-expected.js @@ -7,7 +7,7 @@ const _marko_node = _marko_createElement("input", { "checked": "" }, "0", null, 0, 0); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/attr-class/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/attr-class/snapshots/cjs-expected.js index 2469980c4..80b3ea7f7 100644 --- a/packages/translator-default/test/fixtures/attr-class/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/attr-class/snapshots/cjs-expected.js @@ -13,8 +13,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/attr-class/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w(` _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/attr-class/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/attr-class/snapshots/vdomProduction-expected.js index 1df9bfbbb..8916ac807 100644 --- a/packages/translator-default/test/fixtures/attr-class/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/attr-class/snapshots/vdomProduction-expected.js @@ -3,12 +3,19 @@ const _marko_componentType = "TKoJdMQb", _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_class_merge from "marko/dist/runtime/helpers/class-value.js"; +import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; +const _marko_node = _marko_createElement("div", { + "class": "a b" +}, "1", null, 0, 1); +const _marko_node2 = _marko_createElement("div", { + "class": "a b c" +}, "2", null, 0, 1); import _customTag from "./components/custom-tag.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_self_iterator from "marko/dist/runtime/helpers/self-iterator.js"; import _marko_dynamic_tag from "marko/dist/runtime/helpers/dynamic-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { @@ -18,12 +25,8 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon d }]) }, "0", _component, 0, 1); - out.e("div", { - "class": "a b" - }, "1", _component, 0, 1); - out.e("div", { - "class": "a b c" - }, "2", _component, 0, 1); + out.n(_marko_node, _component); + out.n(_marko_node2, _component); _marko_tag(_customTag, { "class": ["a", { b: c, diff --git a/packages/translator-default/test/fixtures/attr-escape/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/attr-escape/snapshots/cjs-expected.js index 4fbbd06ce..c49d93c1b 100644 --- a/packages/translator-default/test/fixtures/attr-escape/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/attr-escape/snapshots/cjs-expected.js @@ -9,8 +9,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/attr-escape/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w(`
    `); diff --git a/packages/translator-default/test/fixtures/attr-escape/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/attr-escape/snapshots/vdom-expected.js index a61d0a1c7..32ef8b499 100644 --- a/packages/translator-default/test/fixtures/attr-escape/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/attr-escape/snapshots/vdom-expected.js @@ -4,7 +4,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/attr-esc export default _marko_template; import _marko_class_merge from "marko/src/runtime/helpers/class-value.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/attr-escape/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/attr-escape/snapshots/vdomProduction-expected.js index c560fd414..096210e93 100644 --- a/packages/translator-default/test/fixtures/attr-escape/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/attr-escape/snapshots/vdomProduction-expected.js @@ -4,7 +4,7 @@ const _marko_componentType = "SA1M0lYk", export default _marko_template; import _marko_class_merge from "marko/dist/runtime/helpers/class-value.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/attr-falsey/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/attr-falsey/snapshots/cjs-expected.js index 98578a4f9..1a9de58c2 100644 --- a/packages/translator-default/test/fixtures/attr-falsey/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/attr-falsey/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/attr-falsey/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("
    "); diff --git a/packages/translator-default/test/fixtures/attr-falsey/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/attr-falsey/snapshots/vdom-expected.js index 5fecef351..c560914e2 100644 --- a/packages/translator-default/test/fixtures/attr-falsey/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/attr-falsey/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/attr-fal _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/attr-falsey/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/attr-falsey/snapshots/vdomProduction-expected.js index 4a4de7afc..86fb2f63d 100644 --- a/packages/translator-default/test/fixtures/attr-falsey/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/attr-falsey/snapshots/vdomProduction-expected.js @@ -8,7 +8,7 @@ const _marko_node = _marko_createElement("div", { "y": "1" }, "0", null, 0, 0); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/attr-method-shorthand/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/attr-method-shorthand/snapshots/cjs-expected.js index 4134a5ad2..cf439a732 100644 --- a/packages/translator-default/test/fixtures/attr-method-shorthand/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/attr-method-shorthand/snapshots/cjs-expected.js @@ -9,8 +9,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/attr-method-shorthand/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { (0, _renderTag.default)(_customTag2.default, { diff --git a/packages/translator-default/test/fixtures/attr-method-shorthand/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/attr-method-shorthand/snapshots/vdom-expected.js index 1aa4bc63c..516b9004e 100644 --- a/packages/translator-default/test/fixtures/attr-method-shorthand/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/attr-method-shorthand/snapshots/vdom-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _customTag from "./components/custom-tag.marko"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/attr-method-shorthand/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/attr-method-shorthand/snapshots/vdomProduction-expected.js index d36523c81..49b2e1cb9 100644 --- a/packages/translator-default/test/fixtures/attr-method-shorthand/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/attr-method-shorthand/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _customTag from "./components/custom-tag.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/attr-method-with-return/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/attr-method-with-return/snapshots/cjs-expected.js index 843a3686a..bfb1ba105 100644 --- a/packages/translator-default/test/fixtures/attr-method-with-return/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/attr-method-with-return/snapshots/cjs-expected.js @@ -9,8 +9,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/attr-method-with-return/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { (0, _renderTag.default)(_test2.default, { diff --git a/packages/translator-default/test/fixtures/attr-method-with-return/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/attr-method-with-return/snapshots/vdom-expected.js index 2f98b39f3..b987c7765 100644 --- a/packages/translator-default/test/fixtures/attr-method-with-return/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/attr-method-with-return/snapshots/vdom-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _test from "./components/test.marko"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/attr-method-with-return/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/attr-method-with-return/snapshots/vdomProduction-expected.js index 48fbf0ac5..e1dabccac 100644 --- a/packages/translator-default/test/fixtures/attr-method-with-return/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/attr-method-with-return/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _test from "./components/test.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/attr-scoped/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/attr-scoped/snapshots/cjs-expected.js index 32c5fe879..6dcd7e875 100644 --- a/packages/translator-default/test/fixtures/attr-scoped/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/attr-scoped/snapshots/cjs-expected.js @@ -8,8 +8,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/attr-scoped/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w(`
    `); diff --git a/packages/translator-default/test/fixtures/attr-scoped/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/attr-scoped/snapshots/vdom-expected.js index 7dc8849c5..9a0e55375 100644 --- a/packages/translator-default/test/fixtures/attr-scoped/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/attr-scoped/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/attr-sco _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/attr-scoped/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/attr-scoped/snapshots/vdomProduction-expected.js index 79d0ee131..8c6bcfafe 100644 --- a/packages/translator-default/test/fixtures/attr-scoped/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/attr-scoped/snapshots/vdomProduction-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "m2haKSSA", _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/attr-style/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/attr-style/snapshots/cjs-expected.js index 3334956e5..3c7d83091 100644 --- a/packages/translator-default/test/fixtures/attr-style/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/attr-style/snapshots/cjs-expected.js @@ -13,14 +13,13 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/attr-style/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w(`
    `); - out.w("
    "); + out.w("
    "); out.w("
    "); (0, _renderTag.default)(_customTag2.default, { "style": { diff --git a/packages/translator-default/test/fixtures/attr-style/snapshots/html-expected.js b/packages/translator-default/test/fixtures/attr-style/snapshots/html-expected.js index 6ad3b65f3..802dd675e 100644 --- a/packages/translator-default/test/fixtures/attr-style/snapshots/html-expected.js +++ b/packages/translator-default/test/fixtures/attr-style/snapshots/html-expected.js @@ -14,7 +14,7 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon out.w(`
    `); - out.w("
    "); + out.w("
    "); out.w("
    "); _marko_tag(_customTag, { "style": { diff --git a/packages/translator-default/test/fixtures/attr-style/snapshots/htmlProduction-expected.js b/packages/translator-default/test/fixtures/attr-style/snapshots/htmlProduction-expected.js index 5fab17a4a..58eb2f943 100644 --- a/packages/translator-default/test/fixtures/attr-style/snapshots/htmlProduction-expected.js +++ b/packages/translator-default/test/fixtures/attr-style/snapshots/htmlProduction-expected.js @@ -13,7 +13,7 @@ const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { out.w(`
    `); + }))}>
    `); _marko_tag(_customTag, { "style": { color: input.color diff --git a/packages/translator-default/test/fixtures/attr-style/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/attr-style/snapshots/vdom-expected.js index ac9682b43..d1f3dec18 100644 --- a/packages/translator-default/test/fixtures/attr-style/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/attr-style/snapshots/vdom-expected.js @@ -8,7 +8,7 @@ import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_self_iterator from "marko/src/runtime/helpers/self-iterator.js"; import _marko_dynamic_tag from "marko/src/runtime/helpers/dynamic-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { @@ -18,7 +18,7 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon }) }, "0", _component, 0, 1); out.e("div", { - "style": "width:100px;" + "style": "width:100px" }, "1", _component, 0, 1); out.e("div", { "style": "color: green" diff --git a/packages/translator-default/test/fixtures/attr-style/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/attr-style/snapshots/vdomProduction-expected.js index 74bca0069..a82e275f8 100644 --- a/packages/translator-default/test/fixtures/attr-style/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/attr-style/snapshots/vdomProduction-expected.js @@ -3,12 +3,19 @@ const _marko_componentType = "Up7A+MWi", _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_style_merge from "marko/dist/runtime/helpers/style-value.js"; +import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; +const _marko_node = _marko_createElement("div", { + "style": "width:100px" +}, "1", null, 0, 1); +const _marko_node2 = _marko_createElement("div", { + "style": "color: green" +}, "2", null, 0, 1); import _customTag from "./components/custom-tag.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_self_iterator from "marko/dist/runtime/helpers/self-iterator.js"; import _marko_dynamic_tag from "marko/dist/runtime/helpers/dynamic-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { @@ -17,12 +24,8 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon color: input.color }) }, "0", _component, 0, 1); - out.e("div", { - "style": "width:100px;" - }, "1", _component, 0, 1); - out.e("div", { - "style": "color: green" - }, "2", _component, 0, 1); + out.n(_marko_node, _component); + out.n(_marko_node2, _component); _marko_tag(_customTag, { "style": { color: input.color diff --git a/packages/translator-default/test/fixtures/attr-template-literal-escape/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/attr-template-literal-escape/snapshots/cjs-expected.js index eb03d52a7..f44e8c2a0 100644 --- a/packages/translator-default/test/fixtures/attr-template-literal-escape/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/attr-template-literal-escape/snapshots/cjs-expected.js @@ -8,8 +8,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/attr-template-literal-escape/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w(`
    `); diff --git a/packages/translator-default/test/fixtures/attr-template-literal-escape/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/attr-template-literal-escape/snapshots/vdom-expected.js index 5180985aa..4dbeddf23 100644 --- a/packages/translator-default/test/fixtures/attr-template-literal-escape/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/attr-template-literal-escape/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/attr-tem _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/attr-template-literal-escape/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/attr-template-literal-escape/snapshots/vdomProduction-expected.js index 60b072653..9cf4b6c09 100644 --- a/packages/translator-default/test/fixtures/attr-template-literal-escape/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/attr-template-literal-escape/snapshots/vdomProduction-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "vJZypcf5", _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/await-tag/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/await-tag/snapshots/cjs-expected.js index 8cbbe9751..35be1390d 100644 --- a/packages/translator-default/test/fixtures/await-tag/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/await-tag/snapshots/cjs-expected.js @@ -11,8 +11,7 @@ var _renderer2 = _interopRequireDefault(require("marko/src/runtime/components/re function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/await-tag/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer2.default)(function (input, out, _componentDef, _component, state, $global) { (0, _renderTag.default)(_renderer.default, { diff --git a/packages/translator-default/test/fixtures/await-tag/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/await-tag/snapshots/vdom-expected.js index 6ec2955c9..b33f73e84 100644 --- a/packages/translator-default/test/fixtures/await-tag/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/await-tag/snapshots/vdom-expected.js @@ -6,7 +6,7 @@ import _marko_self_iterator from "marko/src/runtime/helpers/self-iterator.js"; import _await from "marko/src/core-tags/core/await/renderer.js"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/await-tag/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/await-tag/snapshots/vdomProduction-expected.js index 7415962c3..1a4c1bfeb 100644 --- a/packages/translator-default/test/fixtures/await-tag/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/await-tag/snapshots/vdomProduction-expected.js @@ -6,7 +6,7 @@ import _marko_self_iterator from "marko/dist/runtime/helpers/self-iterator.js"; import _await from "marko/dist/core-tags/core/await/renderer.js"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/camel-case-attr-name-override/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/camel-case-attr-name-override/snapshots/cjs-expected.js index 55efcf8ae..757d82b6b 100644 --- a/packages/translator-default/test/fixtures/camel-case-attr-name-override/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/camel-case-attr-name-override/snapshots/cjs-expected.js @@ -9,8 +9,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/camel-case-attr-name-override/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { (0, _renderTag.default)(_index2.default, { diff --git a/packages/translator-default/test/fixtures/camel-case-attr-name-override/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/camel-case-attr-name-override/snapshots/vdom-expected.js index 2a30f47b0..aa52a0902 100644 --- a/packages/translator-default/test/fixtures/camel-case-attr-name-override/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/camel-case-attr-name-override/snapshots/vdom-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _customTag from "./components/custom-tag/index.marko"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/camel-case-attr-name-override/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/camel-case-attr-name-override/snapshots/vdomProduction-expected.js index cb40cd4a0..ce602ced7 100644 --- a/packages/translator-default/test/fixtures/camel-case-attr-name-override/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/camel-case-attr-name-override/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _customTag from "./components/custom-tag/index.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/cdata/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/cdata/snapshots/cjs-expected.js index 1a175504e..ea1098b67 100644 --- a/packages/translator-default/test/fixtures/cdata/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/cdata/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/cdata/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("
    "); diff --git a/packages/translator-default/test/fixtures/cdata/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/cdata/snapshots/vdom-expected.js index ac774b20d..f8ec67ed7 100644 --- a/packages/translator-default/test/fixtures/cdata/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/cdata/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/cdata/te _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/cdata/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/cdata/snapshots/vdomProduction-expected.js index cc97e3190..0b383d173 100644 --- a/packages/translator-default/test/fixtures/cdata/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/cdata/snapshots/vdomProduction-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "EazLsc5m", _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/class-external-component-index/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/class-external-component-index/snapshots/cjs-expected.js index d33838ceb..023f6d38b 100644 --- a/packages/translator-default/test/fixtures/class-external-component-index/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/class-external-component-index/snapshots/cjs-expected.js @@ -8,8 +8,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/class-external-component-index/index.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component2 = _component2.default; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("
    "); diff --git a/packages/translator-default/test/fixtures/class-external-component-index/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/class-external-component-index/snapshots/vdom-expected.js index d9299025e..03f3c1bfd 100644 --- a/packages/translator-default/test/fixtures/class-external-component-index/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/class-external-component-index/snapshots/vdom-expected.js @@ -4,7 +4,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/class-ex export default _marko_template; import _marko_component from "./component.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component2 = _marko_component; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/class-external-component-index/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/class-external-component-index/snapshots/vdomProduction-expected.js index 4e3e8afd7..d25883724 100644 --- a/packages/translator-default/test/fixtures/class-external-component-index/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/class-external-component-index/snapshots/vdomProduction-expected.js @@ -6,7 +6,7 @@ import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; const _marko_node = _marko_createElement("div", null, "0", null, 0, 0); import _marko_component from "./component.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component2 = _marko_component; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/class-external-component/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/class-external-component/snapshots/cjs-expected.js index 04efbe91a..ee034f9fe 100644 --- a/packages/translator-default/test/fixtures/class-external-component/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/class-external-component/snapshots/cjs-expected.js @@ -8,8 +8,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/class-external-component/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component2 = _templateComponent.default; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("
    "); diff --git a/packages/translator-default/test/fixtures/class-external-component/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/class-external-component/snapshots/vdom-expected.js index 3738496f7..30cc883f2 100644 --- a/packages/translator-default/test/fixtures/class-external-component/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/class-external-component/snapshots/vdom-expected.js @@ -4,7 +4,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/class-ex export default _marko_template; import _marko_component from "./template.component.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component2 = _marko_component; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/class-external-component/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/class-external-component/snapshots/vdomProduction-expected.js index 2b09abb9f..4ee4c9ccf 100644 --- a/packages/translator-default/test/fixtures/class-external-component/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/class-external-component/snapshots/vdomProduction-expected.js @@ -6,7 +6,7 @@ import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; const _marko_node = _marko_createElement("div", null, "0", null, 0, 0); import _marko_component from "./template.component.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component2 = _marko_component; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/class-inline-class-props-without-on-create/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/class-inline-class-props-without-on-create/snapshots/cjs-expected.js index 5a6f5d118..66e379b1c 100644 --- a/packages/translator-default/test/fixtures/class-inline-class-props-without-on-create/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/class-inline-class-props-without-on-create/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/class-inline-class-props-without-on-create/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = { onCreate() { this.x = 1 diff --git a/packages/translator-default/test/fixtures/class-inline-class-props-without-on-create/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/class-inline-class-props-without-on-create/snapshots/vdom-expected.js index 7e1ad58b1..6932b4d58 100644 --- a/packages/translator-default/test/fixtures/class-inline-class-props-without-on-create/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/class-inline-class-props-without-on-create/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/class-in _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = { onCreate() { diff --git a/packages/translator-default/test/fixtures/class-inline-class-props-without-on-create/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/class-inline-class-props-without-on-create/snapshots/vdomProduction-expected.js index c895ecf47..441cd6d97 100644 --- a/packages/translator-default/test/fixtures/class-inline-class-props-without-on-create/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/class-inline-class-props-without-on-create/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; const _marko_node = _marko_createElement("div", null, "0", null, 0, 0); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = { onCreate() { diff --git a/packages/translator-default/test/fixtures/class-inline/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/class-inline/snapshots/cjs-expected.js index 3756f9323..5861137e7 100644 --- a/packages/translator-default/test/fixtures/class-inline/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/class-inline/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/class-inline/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = { onCreate() { this.x = 1 diff --git a/packages/translator-default/test/fixtures/class-inline/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/class-inline/snapshots/vdom-expected.js index 709beeed7..5e5389988 100644 --- a/packages/translator-default/test/fixtures/class-inline/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/class-inline/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/class-in _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = { onCreate() { diff --git a/packages/translator-default/test/fixtures/class-inline/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/class-inline/snapshots/vdomProduction-expected.js index 29c7e711f..395941583 100644 --- a/packages/translator-default/test/fixtures/class-inline/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/class-inline/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; const _marko_node = _marko_createElement("div", null, "0", null, 0, 0); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = { onCreate() { diff --git a/packages/translator-default/test/fixtures/comments/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/comments/snapshots/cjs-expected.js index 76b91323b..0e62974ac 100644 --- a/packages/translator-default/test/fixtures/comments/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/comments/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/comments/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("
    "); diff --git a/packages/translator-default/test/fixtures/comments/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/comments/snapshots/vdom-expected.js index 18f4eff4f..2adf42d75 100644 --- a/packages/translator-default/test/fixtures/comments/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/comments/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/comments _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/comments/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/comments/snapshots/vdomProduction-expected.js index 2a792748d..7d62f5ba7 100644 --- a/packages/translator-default/test/fixtures/comments/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/comments/snapshots/vdomProduction-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "7oQXz9rS", _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-element-tag/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/custom-element-tag/snapshots/cjs-expected.js index 2100c9659..7a1cf325c 100644 --- a/packages/translator-default/test/fixtures/custom-element-tag/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/custom-element-tag/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/custom-element-tag/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w(""); diff --git a/packages/translator-default/test/fixtures/custom-element-tag/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/custom-element-tag/snapshots/vdom-expected.js index 99df1a78b..4cc5f907d 100644 --- a/packages/translator-default/test/fixtures/custom-element-tag/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/custom-element-tag/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/custom-e _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-element-tag/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/custom-element-tag/snapshots/vdomProduction-expected.js index b74975ea0..6f53c16bd 100644 --- a/packages/translator-default/test/fixtures/custom-element-tag/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/custom-element-tag/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; const _marko_node = _marko_createElement("hello", null, "0", null, 0, 2); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-child-analyze/components/hello/transformer.js b/packages/translator-default/test/fixtures/custom-tag-child-analyze/components/hello/transformer.js index d236d781a..35b26a123 100644 --- a/packages/translator-default/test/fixtures/custom-tag-child-analyze/components/hello/transformer.js +++ b/packages/translator-default/test/fixtures/custom-tag-child-analyze/components/hello/transformer.js @@ -3,7 +3,7 @@ const { loadFileForTag } = require("@marko/babel-utils"); module.exports = (helloTag, t) => { const messageTag = helloTag.getNextSibling(); helloTag.insertAfter( - t.markoText(`${readFileText(helloTag)} ${readFileText(messageTag)}`) + t.markoText(`${readFileText(helloTag)} ${readFileText(messageTag)}`), ); helloTag.remove(); messageTag.remove(); diff --git a/packages/translator-default/test/fixtures/custom-tag-child-analyze/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/custom-tag-child-analyze/snapshots/cjs-expected.js index ae7b1d710..a14ac45f9 100644 --- a/packages/translator-default/test/fixtures/custom-tag-child-analyze/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-child-analyze/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/custom-tag-child-analyze/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("Hello Frank"); diff --git a/packages/translator-default/test/fixtures/custom-tag-child-analyze/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/custom-tag-child-analyze/snapshots/vdom-expected.js index 90548fcd4..195c7f9c2 100644 --- a/packages/translator-default/test/fixtures/custom-tag-child-analyze/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-child-analyze/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/custom-t _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-child-analyze/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/custom-tag-child-analyze/snapshots/vdomProduction-expected.js index 59816cda6..f55f65f33 100644 --- a/packages/translator-default/test/fixtures/custom-tag-child-analyze/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-child-analyze/snapshots/vdomProduction-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "aA/l93YC", _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-data/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/custom-tag-data/snapshots/cjs-expected.js index ce5f24e1e..6faa3bc77 100644 --- a/packages/translator-default/test/fixtures/custom-tag-data/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-data/snapshots/cjs-expected.js @@ -9,8 +9,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/custom-tag-data/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { (0, _renderTag.default)(_customTagDataTag.default, { diff --git a/packages/translator-default/test/fixtures/custom-tag-data/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/custom-tag-data/snapshots/vdom-expected.js index 966634789..eb08e7310 100644 --- a/packages/translator-default/test/fixtures/custom-tag-data/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-data/snapshots/vdom-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _customTagData from "./custom-tag-data-tag.js"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-data/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/custom-tag-data/snapshots/vdomProduction-expected.js index 2f870f149..affd5d692 100644 --- a/packages/translator-default/test/fixtures/custom-tag-data/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-data/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _customTagData from "./custom-tag-data-tag.js"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-migration/old.migrator.js b/packages/translator-default/test/fixtures/custom-tag-migration/old.migrator.js index 200218068..25bac5803 100644 --- a/packages/translator-default/test/fixtures/custom-tag-migration/old.migrator.js +++ b/packages/translator-default/test/fixtures/custom-tag-migration/old.migrator.js @@ -17,10 +17,10 @@ export function exit(path) { path.get("attributes").map((p) => p.node), t.markoTagBody( path.get("body.body").map((p) => p.node), - toNodes(path.get("params")) + toNodes(path.get("params")), ), - toNodes(path.get("arguments")) - ) + toNodes(path.get("arguments")), + ), ); } diff --git a/packages/translator-default/test/fixtures/custom-tag-migration/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/custom-tag-migration/snapshots/cjs-expected.js index d77a7da5a..f6bfe0f08 100644 --- a/packages/translator-default/test/fixtures/custom-tag-migration/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-migration/snapshots/cjs-expected.js @@ -9,8 +9,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/custom-tag-migration/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { (0, _renderTag.default)(_new2.default, { diff --git a/packages/translator-default/test/fixtures/custom-tag-migration/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/custom-tag-migration/snapshots/vdom-expected.js index 449e9f32f..bb2486d70 100644 --- a/packages/translator-default/test/fixtures/custom-tag-migration/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-migration/snapshots/vdom-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _new from "./new.marko"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-migration/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/custom-tag-migration/snapshots/vdomProduction-expected.js index 397369642..1fd8179da 100644 --- a/packages/translator-default/test/fixtures/custom-tag-migration/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-migration/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _new from "./new.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-parameters/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/custom-tag-parameters/snapshots/cjs-expected.js index ca950fd95..d426fcb3a 100644 --- a/packages/translator-default/test/fixtures/custom-tag-parameters/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-parameters/snapshots/cjs-expected.js @@ -10,8 +10,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/custom-tag-parameters/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { (0, _renderTag.default)(_customTag2.default, { diff --git a/packages/translator-default/test/fixtures/custom-tag-parameters/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/custom-tag-parameters/snapshots/vdom-expected.js index 4fcf23101..3a46fdb3a 100644 --- a/packages/translator-default/test/fixtures/custom-tag-parameters/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-parameters/snapshots/vdom-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _customTag from "./components/custom-tag.marko"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-parameters/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/custom-tag-parameters/snapshots/vdomProduction-expected.js index 21359f21e..dc51a1cb5 100644 --- a/packages/translator-default/test/fixtures/custom-tag-parameters/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-parameters/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _customTag from "./components/custom-tag.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-render-body/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/custom-tag-render-body/snapshots/cjs-expected.js index fd1abbf6d..ef917a2ca 100644 --- a/packages/translator-default/test/fixtures/custom-tag-render-body/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-render-body/snapshots/cjs-expected.js @@ -9,8 +9,7 @@ var _renderer2 = _interopRequireDefault(require("marko/src/runtime/components/re function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/custom-tag-render-body/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer2.default)(function (input, out, _componentDef, _component, state, $global) { (0, _renderTag.default)(_renderer.default, { diff --git a/packages/translator-default/test/fixtures/custom-tag-render-body/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/custom-tag-render-body/snapshots/vdom-expected.js index 7969dcbc0..40d33ce05 100644 --- a/packages/translator-default/test/fixtures/custom-tag-render-body/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-render-body/snapshots/vdom-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _testBodyFunction from "./tags/test-body-function/renderer.js"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-render-body/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/custom-tag-render-body/snapshots/vdomProduction-expected.js index ee9f6d2c2..30a6b7bbe 100644 --- a/packages/translator-default/test/fixtures/custom-tag-render-body/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-render-body/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _testBodyFunction from "./tags/test-body-function/renderer.js"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-separate-assets/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/custom-tag-separate-assets/snapshots/cjs-expected.js index 24bfb54b6..68a26fc59 100644 --- a/packages/translator-default/test/fixtures/custom-tag-separate-assets/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-separate-assets/snapshots/cjs-expected.js @@ -8,8 +8,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/custom-tag-separate-assets/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component2 = _templateComponent.default; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("
    "); diff --git a/packages/translator-default/test/fixtures/custom-tag-separate-assets/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/custom-tag-separate-assets/snapshots/vdom-expected.js index 91d8e965e..1f9eebfa1 100644 --- a/packages/translator-default/test/fixtures/custom-tag-separate-assets/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-separate-assets/snapshots/vdom-expected.js @@ -4,7 +4,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/custom-t export default _marko_template; import _marko_component from "./template.component.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component2 = _marko_component; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-separate-assets/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/custom-tag-separate-assets/snapshots/vdomProduction-expected.js index a375a15bc..912d27836 100644 --- a/packages/translator-default/test/fixtures/custom-tag-separate-assets/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-separate-assets/snapshots/vdomProduction-expected.js @@ -6,7 +6,7 @@ import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; const _marko_node = _marko_createElement("div", null, "0", null, 0, 0); import _marko_component from "./template.component.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component2 = _marko_component; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-template/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/custom-tag-template/snapshots/cjs-expected.js index 4fe008c9c..8d9803c0b 100644 --- a/packages/translator-default/test/fixtures/custom-tag-template/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-template/snapshots/cjs-expected.js @@ -9,8 +9,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/custom-tag-template/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { (0, _renderTag.default)(_hello2.default, { diff --git a/packages/translator-default/test/fixtures/custom-tag-template/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/custom-tag-template/snapshots/vdom-expected.js index 3f227a64b..b31692ff5 100644 --- a/packages/translator-default/test/fixtures/custom-tag-template/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-template/snapshots/vdom-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _hello from "./hello.marko"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-template/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/custom-tag-template/snapshots/vdomProduction-expected.js index 9942578fe..30f699ddc 100644 --- a/packages/translator-default/test/fixtures/custom-tag-template/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-template/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _hello from "./hello.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-transform/div.transformer.js b/packages/translator-default/test/fixtures/custom-tag-transform/div.transformer.js index 293344907..3d0571d9a 100644 --- a/packages/translator-default/test/fixtures/custom-tag-transform/div.transformer.js +++ b/packages/translator-default/test/fixtures/custom-tag-transform/div.transformer.js @@ -3,7 +3,7 @@ import { types as t } from "@marko/compiler"; export function enter(path) { path.pushContainer( "attributes", - t.markoAttribute("style", t.stringLiteral("display:block")) + t.markoAttribute("style", t.stringLiteral("display:block")), ); } @@ -14,10 +14,10 @@ export function exit(path) { path.get("attributes").map((p) => p.node), t.markoTagBody( path.get("body.body").map((p) => p.node), - toNodes(path.get("params")) + toNodes(path.get("params")), ), - toNodes(path.get("arguments")) - ) + toNodes(path.get("arguments")), + ), ); } diff --git a/packages/translator-default/test/fixtures/custom-tag-transform/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/custom-tag-transform/snapshots/cjs-expected.js index 3b0ceffd9..9410cf9b2 100644 --- a/packages/translator-default/test/fixtures/custom-tag-transform/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-transform/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/custom-tag-transform/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w(""); diff --git a/packages/translator-default/test/fixtures/custom-tag-transform/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/custom-tag-transform/snapshots/vdom-expected.js index 7c4b2db35..93f0b43ee 100644 --- a/packages/translator-default/test/fixtures/custom-tag-transform/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-transform/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/custom-t _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag-transform/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/custom-tag-transform/snapshots/vdomProduction-expected.js index 155594f33..bfc16cbe1 100644 --- a/packages/translator-default/test/fixtures/custom-tag-transform/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag-transform/snapshots/vdomProduction-expected.js @@ -2,14 +2,16 @@ import { t as _t } from "marko/dist/runtime/vdom/index.js"; const _marko_componentType = "5fhDZgMT", _marko_template = _t(_marko_componentType); export default _marko_template; +import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; +const _marko_node = _marko_createElement("span", { + "style": "display:block" +}, "0", null, 0, 1); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { - out.e("span", { - "style": "display:block" - }, "0", _component, 0, 1); + out.n(_marko_node, _component); }, { t: _marko_componentType, i: true diff --git a/packages/translator-default/test/fixtures/custom-tag/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/custom-tag/snapshots/cjs-expected.js index 646babb9a..3591c40d4 100644 --- a/packages/translator-default/test/fixtures/custom-tag/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag/snapshots/cjs-expected.js @@ -9,8 +9,7 @@ var _renderer2 = _interopRequireDefault(require("marko/src/runtime/components/re function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/custom-tag/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer2.default)(function (input, out, _componentDef, _component, state, $global) { (0, _renderTag.default)(_renderer.default, { diff --git a/packages/translator-default/test/fixtures/custom-tag/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/custom-tag/snapshots/vdom-expected.js index 387b817d6..d4447649a 100644 --- a/packages/translator-default/test/fixtures/custom-tag/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag/snapshots/vdom-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _testHello from "./tags/test-hello/renderer.js"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/custom-tag/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/custom-tag/snapshots/vdomProduction-expected.js index feb7dee4b..1a9854fbb 100644 --- a/packages/translator-default/test/fixtures/custom-tag/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/custom-tag/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _testHello from "./tags/test-hello/renderer.js"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/data-marko-implicit-component/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/data-marko-implicit-component/snapshots/cjs-expected.js index db056a6ec..6cc423be8 100644 --- a/packages/translator-default/test/fixtures/data-marko-implicit-component/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/data-marko-implicit-component/snapshots/cjs-expected.js @@ -9,8 +9,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/data-marko-implicit-component/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w(` _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/data-marko-implicit-component/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/data-marko-implicit-component/snapshots/vdomProduction-expected.js index 444008e8a..64fc54883 100644 --- a/packages/translator-default/test/fixtures/data-marko-implicit-component/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/data-marko-implicit-component/snapshots/vdomProduction-expected.js @@ -4,7 +4,7 @@ const _marko_componentType = "qc7Y7xBI", export default _marko_template; import "marko/dist/runtime/vdom/preserve-attrs.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/data-migration/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/data-migration/snapshots/cjs-expected.js index 114781971..c2bdb9532 100644 --- a/packages/translator-default/test/fixtures/data-migration/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/data-migration/snapshots/cjs-expected.js @@ -10,8 +10,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/data-migration/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { (0, _renderTag.default)(_test2.default, { @@ -36,7 +35,7 @@ _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, if (true) { const data = "bar"; out.w("Hello "); - out.w("bar"); + out.w((0, _escapeXml.x)(data)); } out.w("
    "); }, { diff --git a/packages/translator-default/test/fixtures/data-migration/snapshots/html-expected.js b/packages/translator-default/test/fixtures/data-migration/snapshots/html-expected.js index aa435e1a3..43dbeffe9 100644 --- a/packages/translator-default/test/fixtures/data-migration/snapshots/html-expected.js +++ b/packages/translator-default/test/fixtures/data-migration/snapshots/html-expected.js @@ -30,7 +30,7 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon if (true) { const data = "bar"; out.w("Hello "); - out.w("bar"); + out.w(_marko_escapeXml(data)); } out.w("
    "); }, { diff --git a/packages/translator-default/test/fixtures/data-migration/snapshots/htmlProduction-expected.js b/packages/translator-default/test/fixtures/data-migration/snapshots/htmlProduction-expected.js index 759496327..aec00337f 100644 --- a/packages/translator-default/test/fixtures/data-migration/snapshots/htmlProduction-expected.js +++ b/packages/translator-default/test/fixtures/data-migration/snapshots/htmlProduction-expected.js @@ -23,7 +23,7 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon out.w(`Hello ${_marko_escapeXml(input)}`); if (true) { const data = "bar"; - out.w("Hello bar"); + out.w(`Hello ${_marko_escapeXml(data)}`); } out.w("
    "); }, { diff --git a/packages/translator-default/test/fixtures/data-migration/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/data-migration/snapshots/vdom-expected.js index 252f6f93e..ff77ab46f 100644 --- a/packages/translator-default/test/fixtures/data-migration/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/data-migration/snapshots/vdom-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _test from "./test.marko"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/data-migration/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/data-migration/snapshots/vdomProduction-expected.js index 4c3d5b699..194b74ac3 100644 --- a/packages/translator-default/test/fixtures/data-migration/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/data-migration/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _test from "./test.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/data-reassigned/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/data-reassigned/snapshots/cjs-expected.js new file mode 100644 index 000000000..dec578ab7 --- /dev/null +++ b/packages/translator-default/test/fixtures/data-reassigned/snapshots/cjs-expected.js @@ -0,0 +1,30 @@ +"use strict"; + +exports.__esModule = true; +exports.default = void 0; +var _index = require("marko/src/runtime/html/index.js"); +var _escapeXml = require("marko/src/runtime/html/helpers/escape-xml.js"); +var _renderer = _interopRequireDefault(require("marko/src/runtime/components/renderer.js")); +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } +const _marko_componentType = "packages/translator-default/test/fixtures/data-reassigned/template.marko", + _marko_template = (0, _index.t)(_marko_componentType); +var _default = exports.default = _marko_template; +const _marko_component = {}; +_marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { + var data; + data = { + name: "foo" + }; + out.w("
    "); + out.w("Hello "); + out.w((0, _escapeXml.x)(data.name)); + out.w(""); + out.w("Hello "); + out.w((0, _escapeXml.x)(data)); + out.w(""); + out.w("
    "); +}, { + t: _marko_componentType, + i: true, + d: true +}, _marko_component); \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/data-reassigned/snapshots/generated-expected.marko b/packages/translator-default/test/fixtures/data-reassigned/snapshots/generated-expected.marko new file mode 100644 index 000000000..6428116d8 --- /dev/null +++ b/packages/translator-default/test/fixtures/data-reassigned/snapshots/generated-expected.marko @@ -0,0 +1,10 @@ +$ var data; +$ data = { + name: "foo" +}; +
    + Hello ${data.name} + + Hello ${data} + +
    \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/data-reassigned/snapshots/html-expected.js b/packages/translator-default/test/fixtures/data-reassigned/snapshots/html-expected.js new file mode 100644 index 000000000..a5ccffbbf --- /dev/null +++ b/packages/translator-default/test/fixtures/data-reassigned/snapshots/html-expected.js @@ -0,0 +1,25 @@ +import { t as _t } from "marko/src/runtime/html/index.js"; +const _marko_componentType = "packages/translator-default/test/fixtures/data-reassigned/template.marko", + _marko_template = _t(_marko_componentType); +export default _marko_template; +import { x as _marko_escapeXml } from "marko/src/runtime/html/helpers/escape-xml.js"; +import _marko_renderer from "marko/src/runtime/components/renderer.js"; +const _marko_component = {}; +_marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { + var data; + data = { + name: "foo" + }; + out.w("
    "); + out.w("Hello "); + out.w(_marko_escapeXml(data.name)); + out.w(""); + out.w("Hello "); + out.w(_marko_escapeXml(data)); + out.w(""); + out.w("
    "); +}, { + t: _marko_componentType, + i: true, + d: true +}, _marko_component); \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/data-reassigned/snapshots/htmlProduction-expected.js b/packages/translator-default/test/fixtures/data-reassigned/snapshots/htmlProduction-expected.js new file mode 100644 index 000000000..ea9ca507c --- /dev/null +++ b/packages/translator-default/test/fixtures/data-reassigned/snapshots/htmlProduction-expected.js @@ -0,0 +1,17 @@ +import { t as _t } from "marko/dist/runtime/html/index.js"; +const _marko_componentType = "aUDwECFR", + _marko_template = _t(_marko_componentType); +export default _marko_template; +import { x as _marko_escapeXml } from "marko/dist/runtime/html/helpers/escape-xml.js"; +import _marko_renderer from "marko/dist/runtime/components/renderer.js"; +const _marko_component = {}; +_marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { + var data; + data = { + name: "foo" + }; + out.w(`
    Hello ${_marko_escapeXml(data.name)}Hello ${_marko_escapeXml(data)}
    `); +}, { + t: _marko_componentType, + i: true +}, _marko_component); \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/data-reassigned/snapshots/hydrate-expected.js b/packages/translator-default/test/fixtures/data-reassigned/snapshots/hydrate-expected.js new file mode 100644 index 000000000..e69de29bb diff --git a/packages/translator-default/test/fixtures/data-reassigned/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/data-reassigned/snapshots/vdom-expected.js new file mode 100644 index 000000000..8662a580d --- /dev/null +++ b/packages/translator-default/test/fixtures/data-reassigned/snapshots/vdom-expected.js @@ -0,0 +1,28 @@ +import { t as _t } from "marko/src/runtime/vdom/index.js"; +const _marko_componentType = "packages/translator-default/test/fixtures/data-reassigned/template.marko", + _marko_template = _t(_marko_componentType); +export default _marko_template; +import _marko_renderer from "marko/src/runtime/components/renderer.js"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; +_marko_registerComponent(_marko_componentType, () => _marko_template); +const _marko_component = {}; +_marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { + var data; + data = { + name: "foo" + }; + out.be("div", null, "0", _component, null, 0); + out.t("Hello ", _component); + out.t(data.name, _component); + out.be("span", null, "1", _component, null, 0); + out.t("Hello ", _component); + out.t(data, _component); + out.ee(); + out.ee(); +}, { + t: _marko_componentType, + i: true, + d: true +}, _marko_component); +import _marko_defineComponent from "marko/src/runtime/components/defineComponent.js"; +_marko_template.Component = _marko_defineComponent(_marko_component, _marko_template._); \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/data-reassigned/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/data-reassigned/snapshots/vdomProduction-expected.js new file mode 100644 index 000000000..2feaefb94 --- /dev/null +++ b/packages/translator-default/test/fixtures/data-reassigned/snapshots/vdomProduction-expected.js @@ -0,0 +1,27 @@ +import { t as _t } from "marko/dist/runtime/vdom/index.js"; +const _marko_componentType = "aUDwECFR", + _marko_template = _t(_marko_componentType); +export default _marko_template; +import _marko_renderer from "marko/dist/runtime/components/renderer.js"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; +_marko_registerComponent(_marko_componentType, () => _marko_template); +const _marko_component = {}; +_marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { + var data; + data = { + name: "foo" + }; + out.be("div", null, "0", _component, null, 0); + out.t("Hello ", _component); + out.t(data.name, _component); + out.be("span", null, "1", _component, null, 0); + out.t("Hello ", _component); + out.t(data, _component); + out.ee(); + out.ee(); +}, { + t: _marko_componentType, + i: true +}, _marko_component); +import _marko_defineComponent from "marko/dist/runtime/components/defineComponent.js"; +_marko_template.Component = _marko_defineComponent(_marko_component, _marko_template._); \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/data-reassigned/template.marko b/packages/translator-default/test/fixtures/data-reassigned/template.marko new file mode 100644 index 000000000..0fc9ab09e --- /dev/null +++ b/packages/translator-default/test/fixtures/data-reassigned/template.marko @@ -0,0 +1,9 @@ +$ data = { name: "foo" }; +
    + Hello ${data.name} + + Hello ${data} + +
    + + diff --git a/packages/translator-default/test/fixtures/declaration/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/declaration/snapshots/cjs-expected.js index a028d528b..d510923b7 100644 --- a/packages/translator-default/test/fixtures/declaration/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/declaration/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/declaration/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w(""); diff --git a/packages/translator-default/test/fixtures/declaration/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/declaration/snapshots/vdom-expected.js index c37523c38..8cd136930 100644 --- a/packages/translator-default/test/fixtures/declaration/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/declaration/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/declarat _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/declaration/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/declaration/snapshots/vdomProduction-expected.js index 1963a3d20..109cc9103 100644 --- a/packages/translator-default/test/fixtures/declaration/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/declaration/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; const _marko_node = _marko_createElement("contact-info", null, "0", null, 1, 0).e("name", null, "1", null, 1, 0).t("Hello World"); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/declared-class-member/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/declared-class-member/snapshots/cjs-expected.js index a8fdef45e..c3ff4f017 100644 --- a/packages/translator-default/test/fixtures/declared-class-member/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/declared-class-member/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/declared-class-member/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; class MyClass { y = 2; } diff --git a/packages/translator-default/test/fixtures/declared-class-member/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/declared-class-member/snapshots/vdom-expected.js index 76b9f5593..9d071f118 100644 --- a/packages/translator-default/test/fixtures/declared-class-member/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/declared-class-member/snapshots/vdom-expected.js @@ -6,7 +6,7 @@ class MyClass { y = 2; } import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = { onCreate() { diff --git a/packages/translator-default/test/fixtures/declared-class-member/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/declared-class-member/snapshots/vdomProduction-expected.js index 833fa27ea..cd653932d 100644 --- a/packages/translator-default/test/fixtures/declared-class-member/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/declared-class-member/snapshots/vdomProduction-expected.js @@ -6,7 +6,7 @@ class MyClass { y = 2; } import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = { onCreate() { diff --git a/packages/translator-default/test/fixtures/doctype/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/doctype/snapshots/cjs-expected.js index 6c90160d7..0aa2d737a 100644 --- a/packages/translator-default/test/fixtures/doctype/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/doctype/snapshots/cjs-expected.js @@ -11,8 +11,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/doctype/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w(""); diff --git a/packages/translator-default/test/fixtures/doctype/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/doctype/snapshots/vdom-expected.js index 30440ee11..2dcb795dc 100644 --- a/packages/translator-default/test/fixtures/doctype/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/doctype/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/doctype/ _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/doctype/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/doctype/snapshots/vdomProduction-expected.js index 8a7b8020a..615dfc520 100644 --- a/packages/translator-default/test/fixtures/doctype/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/doctype/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; const _marko_node = _marko_createElement("head", null, "1", null, 1, 0).e("title", null, "2", null, 1, 0).t("Title of the document"); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/dynamic-tag-name/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/dynamic-tag-name/snapshots/cjs-expected.js index f709bff7a..2b31590d6 100644 --- a/packages/translator-default/test/fixtures/dynamic-tag-name/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/dynamic-tag-name/snapshots/cjs-expected.js @@ -12,8 +12,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/dynamic-tag-name/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { (0, _dynamicTag.default)(out, input, () => ({ diff --git a/packages/translator-default/test/fixtures/dynamic-tag-name/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/dynamic-tag-name/snapshots/vdom-expected.js index 521d93141..f38802826 100644 --- a/packages/translator-default/test/fixtures/dynamic-tag-name/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/dynamic-tag-name/snapshots/vdom-expected.js @@ -7,7 +7,7 @@ import tagB from "./components/tag-b/index.marko"; import _marko_dynamic_tag from "marko/src/runtime/helpers/dynamic-tag.js"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/dynamic-tag-name/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/dynamic-tag-name/snapshots/vdomProduction-expected.js index e7cfc9056..333bc2ef6 100644 --- a/packages/translator-default/test/fixtures/dynamic-tag-name/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/dynamic-tag-name/snapshots/vdomProduction-expected.js @@ -7,7 +7,7 @@ import tagB from "./components/tag-b/index.marko"; import _marko_dynamic_tag from "marko/dist/runtime/helpers/dynamic-tag.js"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/dynamic-tag-string-literal/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/dynamic-tag-string-literal/snapshots/cjs-expected.js index 4d13f5e51..8cd23b9b1 100644 --- a/packages/translator-default/test/fixtures/dynamic-tag-string-literal/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/dynamic-tag-string-literal/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/dynamic-tag-string-literal/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { const _tagName = `some-wacky-tag-name`; diff --git a/packages/translator-default/test/fixtures/dynamic-tag-string-literal/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/dynamic-tag-string-literal/snapshots/vdom-expected.js index 7945ae603..c0ce24050 100644 --- a/packages/translator-default/test/fixtures/dynamic-tag-string-literal/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/dynamic-tag-string-literal/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/dynamic- _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/dynamic-tag-string-literal/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/dynamic-tag-string-literal/snapshots/vdomProduction-expected.js index 56c9aa4d4..9dfc01f39 100644 --- a/packages/translator-default/test/fixtures/dynamic-tag-string-literal/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/dynamic-tag-string-literal/snapshots/vdomProduction-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "W5oFh28/", _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/else-tag-with-whitespace-and-comments/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/else-tag-with-whitespace-and-comments/snapshots/cjs-expected.js index dd8f8935f..272eb87e5 100644 --- a/packages/translator-default/test/fixtures/else-tag-with-whitespace-and-comments/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/else-tag-with-whitespace-and-comments/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/else-tag-with-whitespace-and-comments/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { if (x) {} else if (y) {} else {} diff --git a/packages/translator-default/test/fixtures/else-tag-with-whitespace-and-comments/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/else-tag-with-whitespace-and-comments/snapshots/vdom-expected.js index 9260222b8..951c3f6cb 100644 --- a/packages/translator-default/test/fixtures/else-tag-with-whitespace-and-comments/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/else-tag-with-whitespace-and-comments/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/else-tag _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/else-tag-with-whitespace-and-comments/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/else-tag-with-whitespace-and-comments/snapshots/vdomProduction-expected.js index 63584eabc..7d94ccd1a 100644 --- a/packages/translator-default/test/fixtures/else-tag-with-whitespace-and-comments/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/else-tag-with-whitespace-and-comments/snapshots/vdomProduction-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "GzjO/FF7", _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/entities/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/entities/snapshots/cjs-expected.js index 3f28694aa..7143c59dd 100644 --- a/packages/translator-default/test/fixtures/entities/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/entities/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/entities/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("Hello John & Suzy Invalid Entity: &b ; Valid Numeric Entity: " Valid Hexadecimal Entity: ¢"); diff --git a/packages/translator-default/test/fixtures/entities/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/entities/snapshots/vdom-expected.js index 130d5fb7c..d06a25c5a 100644 --- a/packages/translator-default/test/fixtures/entities/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/entities/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/entities _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/entities/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/entities/snapshots/vdomProduction-expected.js index 0f9832700..11e672435 100644 --- a/packages/translator-default/test/fixtures/entities/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/entities/snapshots/vdomProduction-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "Q2oCYb3A", _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/error-at-tags-repeated-not-allowed/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/error-at-tags-repeated-not-allowed/snapshots/cjs-expected.js index f556f3c09..a547ad387 100644 --- a/packages/translator-default/test/fixtures/error-at-tags-repeated-not-allowed/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/error-at-tags-repeated-not-allowed/snapshots/cjs-expected.js @@ -10,8 +10,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/error-at-tags-repeated-not-allowed/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { (0, _renderTag.default)(_index2.default, { diff --git a/packages/translator-default/test/fixtures/error-at-tags-repeated-not-allowed/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/error-at-tags-repeated-not-allowed/snapshots/vdom-expected.js index fd829939f..2764e26bb 100644 --- a/packages/translator-default/test/fixtures/error-at-tags-repeated-not-allowed/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/error-at-tags-repeated-not-allowed/snapshots/vdom-expected.js @@ -6,7 +6,7 @@ import _marko_self_iterator from "marko/src/runtime/helpers/self-iterator.js"; import _someTag from "./components/some-tag/index.marko"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/error-at-tags-repeated-not-allowed/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/error-at-tags-repeated-not-allowed/snapshots/vdomProduction-expected.js index dd14e9436..180102098 100644 --- a/packages/translator-default/test/fixtures/error-at-tags-repeated-not-allowed/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/error-at-tags-repeated-not-allowed/snapshots/vdomProduction-expected.js @@ -6,7 +6,7 @@ import _marko_self_iterator from "marko/dist/runtime/helpers/self-iterator.js"; import _someTag from "./components/some-tag/index.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/error-at-tags-top-level/snapshots/vdomProduction-error-expected.txt b/packages/translator-default/test/fixtures/error-at-tags-top-level/snapshots/vdomProduction-error-expected.txt deleted file mode 100644 index 4b4ead159..000000000 --- a/packages/translator-default/test/fixtures/error-at-tags-top-level/snapshots/vdomProduction-error-expected.txt +++ /dev/null @@ -1,7 +0,0 @@ -CompileError - at packages/translator-default/test/fixtures/error-at-tags-top-level/template.marko:1:2 - > 1 | <@header class="my-header"> - | ^^^^^^^ @tags must be nested within another element. - 2 | Header content - 3 | - 4 | \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/error-at-tags-top-level/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/error-at-tags-top-level/snapshots/vdomProduction-expected.js new file mode 100644 index 000000000..b89860592 --- /dev/null +++ b/packages/translator-default/test/fixtures/error-at-tags-top-level/snapshots/vdomProduction-expected.js @@ -0,0 +1,24 @@ +import { t as _t } from "marko/dist/runtime/vdom/index.js"; +const _marko_componentType = "DvY2Lw0O", + _marko_template = _t(_marko_componentType); +export default _marko_template; +import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; +const _marko_node = _marko_createElement("@header", { + "class": "my-header" +}, null, null, 1, 1).t("Header content"); +const _marko_node2 = _marko_createElement("@footer", { + "class": "my-footer" +}, null, null, 1, 1).t("Footer content"); +import _marko_renderer from "marko/dist/runtime/components/renderer.js"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; +_marko_registerComponent(_marko_componentType, () => _marko_template); +const _marko_component = {}; +_marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { + out.n(_marko_node, _component); + out.n(_marko_node2, _component); +}, { + t: _marko_componentType, + i: true +}, _marko_component); +import _marko_defineComponent from "marko/dist/runtime/components/defineComponent.js"; +_marko_template.Component = _marko_defineComponent(_marko_component, _marko_template._); \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/error-body-only-if-no-condition/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/error-body-only-if-no-condition/snapshots/cjs-expected.js index d01b25832..e2015b2a0 100644 --- a/packages/translator-default/test/fixtures/error-body-only-if-no-condition/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/error-body-only-if-no-condition/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/error-body-only-if-no-condition/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("
    "); diff --git a/packages/translator-default/test/fixtures/error-body-only-if-no-condition/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/error-body-only-if-no-condition/snapshots/vdom-expected.js index 3b921b099..0ecb2727b 100644 --- a/packages/translator-default/test/fixtures/error-body-only-if-no-condition/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/error-body-only-if-no-condition/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/error-bo _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/error-body-only-if-no-condition/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/error-body-only-if-no-condition/snapshots/vdomProduction-expected.js index 51b60227a..52caf17f3 100644 --- a/packages/translator-default/test/fixtures/error-body-only-if-no-condition/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/error-body-only-if-no-condition/snapshots/vdomProduction-expected.js @@ -7,7 +7,7 @@ const _marko_node = _marko_createElement("div", { "body-only-if": "" }, "0", null, 0, 0); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/error-class-with-name/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/error-class-with-name/snapshots/cjs-expected.js index 8d0b977ab..e00a4c5c7 100644 --- a/packages/translator-default/test/fixtures/error-class-with-name/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/error-class-with-name/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/error-class-with-name/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = { onCreate() {} }; diff --git a/packages/translator-default/test/fixtures/error-class-with-name/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/error-class-with-name/snapshots/vdom-expected.js index 478a9b593..e0d82c489 100644 --- a/packages/translator-default/test/fixtures/error-class-with-name/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/error-class-with-name/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/error-cl _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = { onCreate() {} diff --git a/packages/translator-default/test/fixtures/error-class-with-name/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/error-class-with-name/snapshots/vdomProduction-expected.js index 1a3960033..0c243e9a9 100644 --- a/packages/translator-default/test/fixtures/error-class-with-name/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/error-class-with-name/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; const _marko_node = _marko_createElement("div", null, "0", null, 0, 0); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = { onCreate() {} diff --git a/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/snapshots/cjs-expected.js index 1fa15e548..36ecad3d9 100644 --- a/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/snapshots/cjs-expected.js @@ -8,8 +8,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { (0, _dynamicTag.default)(out, input.x, null, out => { diff --git a/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/snapshots/vdom-expected.js index 9ec2ef57c..810bbdc2e 100644 --- a/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/snapshots/vdom-expected.js @@ -4,7 +4,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/error-re export default _marko_template; import _marko_dynamic_tag from "marko/src/runtime/helpers/dynamic-tag.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/snapshots/vdomProduction-expected.js index ff2a61aa3..95249004d 100644 --- a/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/error-repeated-closing-dynamic-tag/snapshots/vdomProduction-expected.js @@ -4,7 +4,7 @@ const _marko_componentType = "vPxaLPFT", export default _marko_template; import _marko_dynamic_tag from "marko/dist/runtime/helpers/dynamic-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/event-handlers/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/event-handlers/snapshots/cjs-expected.js index 5ec6b6cd6..7cc5e5e9b 100644 --- a/packages/translator-default/test/fixtures/event-handlers/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/event-handlers/snapshots/cjs-expected.js @@ -10,8 +10,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/event-handlers/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w(` _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/event-handlers/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/event-handlers/snapshots/vdomProduction-expected.js index aa21add00..aafc62932 100644 --- a/packages/translator-default/test/fixtures/event-handlers/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/event-handlers/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _customTag from "./components/custom-tag.marko"; import _marko_tag from "marko/dist/runtime/helpers/render-tag.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/exports/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/exports/snapshots/cjs-expected.js index 44901c567..4bd827a6a 100644 --- a/packages/translator-default/test/fixtures/exports/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/exports/snapshots/cjs-expected.js @@ -8,12 +8,9 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/exports/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; -const x = 1; -exports.x = x; -const y = 2; -exports.y = y; +var _default = exports.default = _marko_template; +const x = exports.x = 1; +const y = exports.y = 2; function z() {} const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) {}, { diff --git a/packages/translator-default/test/fixtures/exports/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/exports/snapshots/vdom-expected.js index 83db0ed5b..17ab368c6 100644 --- a/packages/translator-default/test/fixtures/exports/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/exports/snapshots/vdom-expected.js @@ -7,7 +7,7 @@ const y = 2; export { y }; export function z() {} import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) {}, { diff --git a/packages/translator-default/test/fixtures/exports/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/exports/snapshots/vdomProduction-expected.js index 7354c1130..cc2fcbcb9 100644 --- a/packages/translator-default/test/fixtures/exports/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/exports/snapshots/vdomProduction-expected.js @@ -7,7 +7,7 @@ const y = 2; export { y }; export function z() {} import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) {}, { diff --git a/packages/translator-default/test/fixtures/for-tag/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/for-tag/snapshots/cjs-expected.js index 7bc4ed312..36098ceb0 100644 --- a/packages/translator-default/test/fixtures/for-tag/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/for-tag/snapshots/cjs-expected.js @@ -9,12 +9,11 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/for-tag/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { let _i = 0; - for (const val of arr) { + for (const val of arr || []) { let i = _i++; const _keyScope = `[${i}]`; out.w("
    "); @@ -46,7 +45,7 @@ _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, out.w("
    "); } let _i2 = 0; - for (const val of arr) { + for (const val of arr || []) { let i = _i2++; const _keyValue = `@${i}`, _keyScope4 = `[${_keyValue}]`; diff --git a/packages/translator-default/test/fixtures/for-tag/snapshots/html-expected.js b/packages/translator-default/test/fixtures/for-tag/snapshots/html-expected.js index 26e1ed848..f7b4ef5e1 100644 --- a/packages/translator-default/test/fixtures/for-tag/snapshots/html-expected.js +++ b/packages/translator-default/test/fixtures/for-tag/snapshots/html-expected.js @@ -8,7 +8,7 @@ import _marko_renderer from "marko/src/runtime/components/renderer.js"; const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { let _i = 0; - for (const val of arr) { + for (const val of arr || []) { let i = _i++; const _keyScope = `[${i}]`; out.w("
    "); @@ -40,7 +40,7 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon out.w("
    "); } let _i2 = 0; - for (const val of arr) { + for (const val of arr || []) { let i = _i2++; const _keyValue = `@${i}`, _keyScope4 = `[${_keyValue}]`; diff --git a/packages/translator-default/test/fixtures/for-tag/snapshots/htmlProduction-expected.js b/packages/translator-default/test/fixtures/for-tag/snapshots/htmlProduction-expected.js index 62ec6b2f1..93443c4d1 100644 --- a/packages/translator-default/test/fixtures/for-tag/snapshots/htmlProduction-expected.js +++ b/packages/translator-default/test/fixtures/for-tag/snapshots/htmlProduction-expected.js @@ -8,7 +8,7 @@ import _marko_renderer from "marko/dist/runtime/components/renderer.js"; const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { let _i = 0; - for (const val of arr) { + for (const val of arr || []) { let i = _i++; const _keyScope = `[${i}]`; out.w(`
    ${_marko_escapeXml(i)}: ${_marko_escapeXml(val)}
    `); @@ -24,7 +24,7 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon out.w(`
    ${_marko_escapeXml(i)}
    `); } let _i2 = 0; - for (const val of arr) { + for (const val of arr || []) { let i = _i2++; const _keyValue = `@${i}`, _keyScope4 = `[${_keyValue}]`; diff --git a/packages/translator-default/test/fixtures/for-tag/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/for-tag/snapshots/vdom-expected.js index 4b2d3b91d..82a1cf6a7 100644 --- a/packages/translator-default/test/fixtures/for-tag/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/for-tag/snapshots/vdom-expected.js @@ -3,12 +3,12 @@ const _marko_componentType = "packages/translator-default/test/fixtures/for-tag/ _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { let _i = 0; - for (const val of arr) { + for (const val of arr || []) { let i = _i++; const _keyScope = `[${i}]`; out.be("div", null, "0" + _keyScope, _component, null, 0); @@ -40,7 +40,7 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon out.e("div", null, "8" + _keyScope3, _component, 0, 0); } let _i2 = 0; - for (const val of arr) { + for (const val of arr || []) { let i = _i2++; const _keyValue = `@${i}`, _keyScope4 = `[${_keyValue}]`; diff --git a/packages/translator-default/test/fixtures/for-tag/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/for-tag/snapshots/vdomProduction-expected.js index d35c25e97..b81ef5600 100644 --- a/packages/translator-default/test/fixtures/for-tag/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/for-tag/snapshots/vdomProduction-expected.js @@ -3,12 +3,12 @@ const _marko_componentType = "avg1eu47", _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { let _i = 0; - for (const val of arr) { + for (const val of arr || []) { let i = _i++; const _keyScope = `[${i}]`; out.be("div", null, "0" + _keyScope, _component, null, 0); @@ -40,7 +40,7 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon out.e("div", null, "8" + _keyScope3, _component, 0, 0); } let _i2 = 0; - for (const val of arr) { + for (const val of arr || []) { let i = _i2++; const _keyValue = `@${i}`, _keyScope4 = `[${_keyValue}]`; diff --git a/packages/translator-default/test/fixtures/hello-dynamic/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/hello-dynamic/snapshots/cjs-expected.js index 9cd03f8e5..3ed093736 100644 --- a/packages/translator-default/test/fixtures/hello-dynamic/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/hello-dynamic/snapshots/cjs-expected.js @@ -9,8 +9,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/hello-dynamic/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("Hello "); diff --git a/packages/translator-default/test/fixtures/hello-dynamic/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/hello-dynamic/snapshots/vdom-expected.js index 4e52d5c6d..e140dc585 100644 --- a/packages/translator-default/test/fixtures/hello-dynamic/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/hello-dynamic/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/hello-dy _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/hello-dynamic/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/hello-dynamic/snapshots/vdomProduction-expected.js index b1839620d..2c5a5f4d6 100644 --- a/packages/translator-default/test/fixtures/hello-dynamic/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/hello-dynamic/snapshots/vdomProduction-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "kCnjd+Lm", _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/html-comment/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/html-comment/snapshots/cjs-expected.js index 6339b45ee..7f6c352b6 100644 --- a/packages/translator-default/test/fixtures/html-comment/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/html-comment/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/html-comment/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("
    `); if (x === a) { diff --git a/packages/translator-default/test/fixtures/sanity-check/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/sanity-check/snapshots/vdom-expected.js index 8e4667a2c..4ab94e1f9 100644 --- a/packages/translator-default/test/fixtures/sanity-check/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/sanity-check/snapshots/vdom-expected.js @@ -13,9 +13,10 @@ import _marko_dynamic_tag from "marko/src/runtime/helpers/dynamic-tag.js"; import _other from "./components/other/index.marko"; import _marko_tag from "marko/src/runtime/helpers/render-tag.js"; import _marko_self_iterator from "marko/src/runtime/helpers/self-iterator.js"; +import _marko_merge_attrs from "marko/src/runtime/vdom/helpers/merge-attrs.js"; import _marko_attrs from "marko/src/runtime/vdom/helpers/attrs.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = { onCreate() { @@ -66,7 +67,7 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon b: c, d }]), - "style": "a:b;" + "style": "a:b" }, "8", _component, 0, 1); out.e("input", { "type": "text" @@ -107,12 +108,11 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon out.e("div", null, "15", _component, 0, 0); } }, out, _componentDef, "14"); - out.be("div", _marko_attrs({ + out.be("div", _marko_merge_attrs({ "class": "b c", - "a": "[object Object]", - "c": "${d}", - ...e, - ...f(), + "a": "{\"a\":1}", + "c": "${d}" + }, e, f(), { "id": "a" }), "18", _component, null, 4); out.t(a, _component); diff --git a/packages/translator-default/test/fixtures/sanity-check/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/sanity-check/snapshots/vdomProduction-expected.js index f55a20943..0503a8f12 100644 --- a/packages/translator-default/test/fixtures/sanity-check/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/sanity-check/snapshots/vdomProduction-expected.js @@ -28,13 +28,14 @@ const _marko_node7 = _marko_createElement("div", { const _marko_node8 = _marko_createElement("div", { "d": "1" }, "20", null, 0, 0); -import _marko_attrs from "marko/dist/runtime/vdom/helpers/attrs.js"; +import _marko_merge_attrs from "marko/dist/runtime/vdom/helpers/merge-attrs.js"; const _marko_node9 = _marko_createElement("div", { "b": "1" }, "21", null, 0, 0); const _marko_node10 = _marko_createElement("div", null, "22", null, 1, 0).t("123 abc 123"); +import _marko_attrs from "marko/dist/runtime/vdom/helpers/attrs.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = { onCreate() { @@ -85,7 +86,7 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon b: c, d }]), - "style": "a:b;" + "style": "a:b" }, "8", _component, 0, 1); out.n(_marko_node, _component); _marko_dynamic_tag(out, a, null, out => { @@ -124,12 +125,11 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon out.n(_marko_node4, _component); } }, out, _componentDef, "14"); - out.be("div", _marko_attrs({ + out.be("div", _marko_merge_attrs({ "class": "b c", - "a": "[object Object]", - "c": "${d}", - ...e, - ...f(), + "a": "{\"a\":1}", + "c": "${d}" + }, e, f(), { "id": "a" }), "18", _component, null, 4); out.t(a, _component); diff --git a/packages/translator-default/test/fixtures/scriptlet-line-block/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/scriptlet-line-block/snapshots/cjs-expected.js index da6f46491..66bb1262b 100644 --- a/packages/translator-default/test/fixtures/scriptlet-line-block/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/scriptlet-line-block/snapshots/cjs-expected.js @@ -8,8 +8,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/scriptlet-line-block/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { var foo = 123; diff --git a/packages/translator-default/test/fixtures/scriptlet-line-block/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/scriptlet-line-block/snapshots/vdom-expected.js index a06f2b58b..f8726f848 100644 --- a/packages/translator-default/test/fixtures/scriptlet-line-block/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/scriptlet-line-block/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/scriptle _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/scriptlet-line-block/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/scriptlet-line-block/snapshots/vdomProduction-expected.js index 9a0202338..f59190fce 100644 --- a/packages/translator-default/test/fixtures/scriptlet-line-block/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/scriptlet-line-block/snapshots/vdomProduction-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "g3aimRge", _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/shorthand-classname/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/shorthand-classname/snapshots/cjs-expected.js index dfc1812a0..71817f4bb 100644 --- a/packages/translator-default/test/fixtures/shorthand-classname/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/shorthand-classname/snapshots/cjs-expected.js @@ -9,8 +9,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/shorthand-classname/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("
    "); diff --git a/packages/translator-default/test/fixtures/shorthand-classname/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/shorthand-classname/snapshots/vdom-expected.js index 820f3568e..e29e44766 100644 --- a/packages/translator-default/test/fixtures/shorthand-classname/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/shorthand-classname/snapshots/vdom-expected.js @@ -4,7 +4,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/shorthan export default _marko_template; import _marko_class_merge from "marko/src/runtime/helpers/class-value.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/shorthand-classname/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/shorthand-classname/snapshots/vdomProduction-expected.js index 29d33d263..8b98d9694 100644 --- a/packages/translator-default/test/fixtures/shorthand-classname/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/shorthand-classname/snapshots/vdomProduction-expected.js @@ -2,21 +2,25 @@ import { t as _t } from "marko/dist/runtime/vdom/index.js"; const _marko_componentType = "WqUsRyBC", _marko_template = _t(_marko_componentType); export default _marko_template; +import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; +const _marko_node = _marko_createElement("div", { + "class": "shorthand" +}, "0", null, 0, 1); +const _marko_node2 = _marko_createElement("div", { + "class": "shorthand1 shorthand2" +}, "1", null, 0, 1); +const _marko_node3 = _marko_createElement("div", { + "class": "shorthand1 shorthand2 inline" +}, "2", null, 0, 1); import _marko_class_merge from "marko/dist/runtime/helpers/class-value.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { - out.e("div", { - "class": "shorthand" - }, "0", _component, 0, 1); - out.e("div", { - "class": "shorthand1 shorthand2" - }, "1", _component, 0, 1); - out.e("div", { - "class": "shorthand1 shorthand2 inline" - }, "2", _component, 0, 1); + out.n(_marko_node, _component); + out.n(_marko_node2, _component); + out.n(_marko_node3, _component); out.e("div", { "class": _marko_class_merge(["shorthand1 shorthand2", dynamic1]) }, "3", _component, 0, 1); diff --git a/packages/translator-default/test/fixtures/shorthand-id/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/shorthand-id/snapshots/cjs-expected.js index 71aad2949..7b12b1621 100644 --- a/packages/translator-default/test/fixtures/shorthand-id/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/shorthand-id/snapshots/cjs-expected.js @@ -8,8 +8,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/shorthand-id/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("
    "); diff --git a/packages/translator-default/test/fixtures/shorthand-id/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/shorthand-id/snapshots/vdom-expected.js index 3b3a18958..202267f53 100644 --- a/packages/translator-default/test/fixtures/shorthand-id/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/shorthand-id/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/shorthan _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/shorthand-id/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/shorthand-id/snapshots/vdomProduction-expected.js index 4b9e5ddea..4588634c9 100644 --- a/packages/translator-default/test/fixtures/shorthand-id/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/shorthand-id/snapshots/vdomProduction-expected.js @@ -7,7 +7,7 @@ const _marko_node = _marko_createElement("div", { "id": "shorthand" }, "0", null, 0, 1); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/cjs-expected.js index 54d2f486e..71aaf09de 100644 --- a/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/cjs-expected.js @@ -8,17 +8,16 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/simple-attrs-tag/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { - out.w("
    "); - out.w("
    "); - out.w("
    "); + out.w("
    "); + out.w("
    "); + out.w("
    "); out.w(`
    `); - out.w("
    "); + })} style=c:1px>
    `); + out.w("
    "); }, { t: _marko_componentType, i: true, diff --git a/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/html-expected.js b/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/html-expected.js index ced65f298..00071c49a 100644 --- a/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/html-expected.js +++ b/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/html-expected.js @@ -6,13 +6,13 @@ import _marko_props from "marko/src/runtime/html/helpers/data-marko.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { - out.w("
    "); - out.w("
    "); - out.w("
    "); + out.w("
    "); + out.w("
    "); + out.w("
    "); out.w(`
    `); - out.w("
    "); + })} style=c:1px>
    `); + out.w("
    "); }, { t: _marko_componentType, i: true, diff --git a/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/htmlProduction-expected.js b/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/htmlProduction-expected.js index 47c65b774..2637be3b3 100644 --- a/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/htmlProduction-expected.js +++ b/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/htmlProduction-expected.js @@ -6,9 +6,9 @@ import _marko_props from "marko/dist/runtime/html/helpers/data-marko.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { - out.w(`
    `); + })} style=c:1px>
    `); }, { t: _marko_componentType, i: true diff --git a/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/vdom-expected.js index 8100435ab..b18bf36ee 100644 --- a/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/vdom-expected.js @@ -4,30 +4,30 @@ const _marko_componentType = "packages/translator-default/test/fixtures/simple-a export default _marko_template; import "marko/src/runtime/vdom/preserve-attrs.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { out.e("div", { - "style": "c:1px;", + "style": "c:1px", "class": "b", "id": "a" }, "0", _component, 0, 1); out.e("div", { - "style": "c:1px;", + "style": "c:1px", "id": "a" }, "1", _component, 0, 1); out.e("div", { - "style": "c:1px;" + "style": "c:1px" }, "2", _component, 0, 1); out.e("div", { - "style": "c:1px;" + "style": "c:1px" }, "3", _component, 0, 0, { pa: ["style"] }); out.e("div", { "a": "1", - "style": "c:1px;" + "style": "c:1px" }, "4", _component, 0, 0); }, { t: _marko_componentType, diff --git a/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/vdomProduction-expected.js index ed9cdde5f..d6a207810 100644 --- a/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/simple-attrs-tag/snapshots/vdomProduction-expected.js @@ -2,33 +2,38 @@ import { t as _t } from "marko/dist/runtime/vdom/index.js"; const _marko_componentType = "YUZPhHIa", _marko_template = _t(_marko_componentType); export default _marko_template; +import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; +const _marko_node = _marko_createElement("div", { + "style": "c:1px", + "class": "b", + "id": "a" +}, "0", null, 0, 1); +const _marko_node2 = _marko_createElement("div", { + "style": "c:1px", + "id": "a" +}, "1", null, 0, 1); +const _marko_node3 = _marko_createElement("div", { + "style": "c:1px" +}, "2", null, 0, 1); import "marko/dist/runtime/vdom/preserve-attrs.js"; +const _marko_node4 = _marko_createElement("div", { + "a": "1", + "style": "c:1px" +}, "4", null, 0, 0); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { + out.n(_marko_node, _component); + out.n(_marko_node2, _component); + out.n(_marko_node3, _component); out.e("div", { - "style": "c:1px;", - "class": "b", - "id": "a" - }, "0", _component, 0, 1); - out.e("div", { - "style": "c:1px;", - "id": "a" - }, "1", _component, 0, 1); - out.e("div", { - "style": "c:1px;" - }, "2", _component, 0, 1); - out.e("div", { - "style": "c:1px;" + "style": "c:1px" }, "3", _component, 0, 0, { pa: ["style"] }); - out.e("div", { - "a": "1", - "style": "c:1px;" - }, "4", _component, 0, 0); + out.n(_marko_node4, _component); }, { t: _marko_componentType, i: true diff --git a/packages/translator-default/test/fixtures/simple/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/simple/snapshots/cjs-expected.js index 8cf5978f6..95be2468f 100644 --- a/packages/translator-default/test/fixtures/simple/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/simple/snapshots/cjs-expected.js @@ -8,8 +8,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/simple/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("Hello "); @@ -19,7 +18,7 @@ _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, out.w("
      "); { let _keyValue = 0; - for (const color of input.colors) { + for (const color of input.colors || []) { const _keyScope = `[${_keyValue++}]`; out.w("
    • "); out.w((0, _escapeXml.x)(color)); diff --git a/packages/translator-default/test/fixtures/simple/snapshots/html-expected.js b/packages/translator-default/test/fixtures/simple/snapshots/html-expected.js index 044a23ccb..fb2f216b1 100644 --- a/packages/translator-default/test/fixtures/simple/snapshots/html-expected.js +++ b/packages/translator-default/test/fixtures/simple/snapshots/html-expected.js @@ -13,7 +13,7 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon out.w("
        "); { let _keyValue = 0; - for (const color of input.colors) { + for (const color of input.colors || []) { const _keyScope = `[${_keyValue++}]`; out.w("
      • "); out.w(_marko_escapeXml(color)); diff --git a/packages/translator-default/test/fixtures/simple/snapshots/htmlProduction-expected.js b/packages/translator-default/test/fixtures/simple/snapshots/htmlProduction-expected.js index 36878803a..493f63d86 100644 --- a/packages/translator-default/test/fixtures/simple/snapshots/htmlProduction-expected.js +++ b/packages/translator-default/test/fixtures/simple/snapshots/htmlProduction-expected.js @@ -11,7 +11,7 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon out.w("
          "); { let _keyValue = 0; - for (const color of input.colors) { + for (const color of input.colors || []) { const _keyScope = `[${_keyValue++}]`; out.w(`
        • ${_marko_escapeXml(color)}
        • `); } diff --git a/packages/translator-default/test/fixtures/simple/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/simple/snapshots/vdom-expected.js index b334685b3..95f5b9571 100644 --- a/packages/translator-default/test/fixtures/simple/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/simple/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/simple/t _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { @@ -14,7 +14,7 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon out.be("ul", null, "0", _component, null, 0); { let _keyValue = 0; - for (const color of input.colors) { + for (const color of input.colors || []) { const _keyScope = `[${_keyValue++}]`; out.be("li", null, "1" + _keyScope, _component, null, 0); out.t(color, _component); diff --git a/packages/translator-default/test/fixtures/simple/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/simple/snapshots/vdomProduction-expected.js index ea5e06076..13bb3703a 100644 --- a/packages/translator-default/test/fixtures/simple/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/simple/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; const _marko_node = _marko_createElement("div", null, "2", null, 1, 0).t("No colors!"); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { @@ -16,7 +16,7 @@ _marko_template._ = _marko_renderer(function (input, out, _componentDef, _compon out.be("ul", null, "0", _component, null, 0); { let _keyValue = 0; - for (const color of input.colors) { + for (const color of input.colors || []) { const _keyScope = `[${_keyValue++}]`; out.be("li", null, "1" + _keyScope, _component, null, 0); out.t(color, _component); diff --git a/packages/translator-default/test/fixtures/split-component-with-component/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/split-component-with-component/snapshots/cjs-expected.js index ec98dae67..49482b23f 100644 --- a/packages/translator-default/test/fixtures/split-component-with-component/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/split-component-with-component/snapshots/cjs-expected.js @@ -8,8 +8,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/split-component-with-component/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component2 = _templateComponent.default; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("
          "); diff --git a/packages/translator-default/test/fixtures/split-component-with-component/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/split-component-with-component/snapshots/vdom-expected.js index b9eb3629a..e3bf1491c 100644 --- a/packages/translator-default/test/fixtures/split-component-with-component/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/split-component-with-component/snapshots/vdom-expected.js @@ -4,7 +4,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/split-co export default _marko_template; import _marko_component from "./template.component.js"; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; import _marko_split_component from "./template.component-browser.js"; _marko_registerComponent(_marko_componentType, () => _marko_split_component); const _marko_component2 = _marko_component; diff --git a/packages/translator-default/test/fixtures/split-component-with-component/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/split-component-with-component/snapshots/vdomProduction-expected.js index 01e56c710..72094877a 100644 --- a/packages/translator-default/test/fixtures/split-component-with-component/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/split-component-with-component/snapshots/vdomProduction-expected.js @@ -6,7 +6,7 @@ import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; const _marko_node = _marko_createElement("div", null, "0", null, 0, 0); import _marko_component from "./template.component.js"; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; import _marko_split_component from "./template.component-browser.js"; _marko_registerComponent(_marko_componentType, () => _marko_split_component); const _marko_component2 = _marko_component; diff --git a/packages/translator-default/test/fixtures/split-component/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/split-component/snapshots/cjs-expected.js index aa67ffd50..7704479c4 100644 --- a/packages/translator-default/test/fixtures/split-component/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/split-component/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/split-component/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("
          "); diff --git a/packages/translator-default/test/fixtures/split-component/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/split-component/snapshots/vdom-expected.js index efa3c3675..c6633fae1 100644 --- a/packages/translator-default/test/fixtures/split-component/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/split-component/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/split-co _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; import _marko_split_component from "./template.component-browser.js"; _marko_registerComponent(_marko_componentType, () => _marko_split_component); const _marko_component = {}; diff --git a/packages/translator-default/test/fixtures/split-component/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/split-component/snapshots/vdomProduction-expected.js index 713836295..b760b4d79 100644 --- a/packages/translator-default/test/fixtures/split-component/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/split-component/snapshots/vdomProduction-expected.js @@ -5,7 +5,7 @@ export default _marko_template; import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; const _marko_node = _marko_createElement("div", null, "0", null, 0, 0); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; import _marko_split_component from "./template.component-browser.js"; _marko_registerComponent(_marko_componentType, () => _marko_split_component); const _marko_component = {}; diff --git a/packages/translator-default/test/fixtures/static-tag/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/static-tag/snapshots/cjs-expected.js index c203887bd..4aefdcafb 100644 --- a/packages/translator-default/test/fixtures/static-tag/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/static-tag/snapshots/cjs-expected.js @@ -7,11 +7,12 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/static-tag/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; var foo = 123; function bar() {} var baz = 456; +let x = 1, + y = 2; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) {}, { t: _marko_componentType, diff --git a/packages/translator-default/test/fixtures/static-tag/snapshots/generated-expected.marko b/packages/translator-default/test/fixtures/static-tag/snapshots/generated-expected.marko index 2f992003e..08153e1fa 100644 --- a/packages/translator-default/test/fixtures/static-tag/snapshots/generated-expected.marko +++ b/packages/translator-default/test/fixtures/static-tag/snapshots/generated-expected.marko @@ -2,4 +2,8 @@ static var foo = 123; static { function bar() {} var baz = 456; +} +static { + let x = 1, + y = 2; } \ No newline at end of file diff --git a/packages/translator-default/test/fixtures/static-tag/snapshots/html-expected.js b/packages/translator-default/test/fixtures/static-tag/snapshots/html-expected.js index 2fb429b28..1d62f0718 100644 --- a/packages/translator-default/test/fixtures/static-tag/snapshots/html-expected.js +++ b/packages/translator-default/test/fixtures/static-tag/snapshots/html-expected.js @@ -5,6 +5,8 @@ export default _marko_template; var foo = 123; function bar() {} var baz = 456; +let x = 1, + y = 2; import _marko_renderer from "marko/src/runtime/components/renderer.js"; const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) {}, { diff --git a/packages/translator-default/test/fixtures/static-tag/snapshots/htmlProduction-expected.js b/packages/translator-default/test/fixtures/static-tag/snapshots/htmlProduction-expected.js index a16d78405..0329434d5 100644 --- a/packages/translator-default/test/fixtures/static-tag/snapshots/htmlProduction-expected.js +++ b/packages/translator-default/test/fixtures/static-tag/snapshots/htmlProduction-expected.js @@ -5,6 +5,8 @@ export default _marko_template; var foo = 123; function bar() {} var baz = 456; +let x = 1, + y = 2; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) {}, { diff --git a/packages/translator-default/test/fixtures/static-tag/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/static-tag/snapshots/vdom-expected.js index a2e18c95d..62a66acab 100644 --- a/packages/translator-default/test/fixtures/static-tag/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/static-tag/snapshots/vdom-expected.js @@ -5,8 +5,10 @@ export default _marko_template; var foo = 123; function bar() {} var baz = 456; +let x = 1, + y = 2; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) {}, { diff --git a/packages/translator-default/test/fixtures/static-tag/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/static-tag/snapshots/vdomProduction-expected.js index 311663f6d..bc77c7c10 100644 --- a/packages/translator-default/test/fixtures/static-tag/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/static-tag/snapshots/vdomProduction-expected.js @@ -5,8 +5,10 @@ export default _marko_template; var foo = 123; function bar() {} var baz = 456; +let x = 1, + y = 2; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) {}, { diff --git a/packages/translator-default/test/fixtures/static-tag/template.marko b/packages/translator-default/test/fixtures/static-tag/template.marko index b273a9aa8..c6c037f11 100644 --- a/packages/translator-default/test/fixtures/static-tag/template.marko +++ b/packages/translator-default/test/fixtures/static-tag/template.marko @@ -5,4 +5,6 @@ static { } var baz = 456; -} \ No newline at end of file +} + +static let x = 1, y = 2; diff --git a/packages/translator-default/test/fixtures/style-block-empty/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/style-block-empty/snapshots/cjs-expected.js index dc4e43665..e348e3b8a 100644 --- a/packages/translator-default/test/fixtures/style-block-empty/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/style-block-empty/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/style-block-empty/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("
          "); diff --git a/packages/translator-default/test/fixtures/style-block-empty/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/style-block-empty/snapshots/vdom-expected.js index 39d5f6084..b7f1f04ff 100644 --- a/packages/translator-default/test/fixtures/style-block-empty/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/style-block-empty/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/style-bl _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/style-block-empty/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/style-block-empty/snapshots/vdomProduction-expected.js index dda16f810..577df77d6 100644 --- a/packages/translator-default/test/fixtures/style-block-empty/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/style-block-empty/snapshots/vdomProduction-expected.js @@ -2,14 +2,16 @@ import { t as _t } from "marko/dist/runtime/vdom/index.js"; const _marko_componentType = "iTWeM9Hv", _marko_template = _t(_marko_componentType); export default _marko_template; +import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; +const _marko_node = _marko_createElement("div", { + "class": "test" +}, "0", null, 0, 1); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { - out.e("div", { - "class": "test" - }, "0", _component, 0, 1); + out.n(_marko_node, _component); }, { t: _marko_componentType, i: true diff --git a/packages/translator-default/test/fixtures/style-block-with-styles/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/style-block-with-styles/snapshots/cjs-expected.js index e1ad11fac..ab25f848f 100644 --- a/packages/translator-default/test/fixtures/style-block-with-styles/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/style-block-with-styles/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/style-block-with-styles/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("
          "); diff --git a/packages/translator-default/test/fixtures/style-block-with-styles/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/style-block-with-styles/snapshots/vdom-expected.js index 5f98160b0..c0b743f8c 100644 --- a/packages/translator-default/test/fixtures/style-block-with-styles/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/style-block-with-styles/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/style-bl _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/style-block-with-styles/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/style-block-with-styles/snapshots/vdomProduction-expected.js index e0df1fdc0..942f26ac2 100644 --- a/packages/translator-default/test/fixtures/style-block-with-styles/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/style-block-with-styles/snapshots/vdomProduction-expected.js @@ -2,14 +2,16 @@ import { t as _t } from "marko/dist/runtime/vdom/index.js"; const _marko_componentType = "ZsW3uNOB", _marko_template = _t(_marko_componentType); export default _marko_template; +import _marko_createElement from "marko/dist/runtime/vdom/helpers/v-element.js"; +const _marko_node = _marko_createElement("div", { + "class": "test" +}, "0", null, 0, 1); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { - out.e("div", { - "class": "test" - }, "0", _component, 0, 1); + out.n(_marko_node, _component); }, { t: _marko_componentType, i: true diff --git a/packages/translator-default/test/fixtures/svg-tag/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/svg-tag/snapshots/cjs-expected.js index b1c358ef1..49bfc8499 100644 --- a/packages/translator-default/test/fixtures/svg-tag/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/svg-tag/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/svg-tag/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w(""); diff --git a/packages/translator-default/test/fixtures/svg-tag/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/svg-tag/snapshots/vdom-expected.js index 0ed6bfffe..d646cfc6a 100644 --- a/packages/translator-default/test/fixtures/svg-tag/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/svg-tag/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/svg-tag/ _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/svg-tag/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/svg-tag/snapshots/vdomProduction-expected.js index 81cf8fac9..61a1e9455 100644 --- a/packages/translator-default/test/fixtures/svg-tag/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/svg-tag/snapshots/vdomProduction-expected.js @@ -21,7 +21,7 @@ const _marko_node6 = _marko_createElement("text", { }, "7", null, 1, 0).t("MDN Web Docs"); const _marko_node7 = _marko_createElement("a", null, "8", null, 0, 0); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/tag-block-scoping/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/tag-block-scoping/snapshots/cjs-expected.js index b6bda2edf..2c82cb2a1 100644 --- a/packages/translator-default/test/fixtures/tag-block-scoping/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/tag-block-scoping/snapshots/cjs-expected.js @@ -8,8 +8,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/tag-block-scoping/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { var b = thing; diff --git a/packages/translator-default/test/fixtures/tag-block-scoping/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/tag-block-scoping/snapshots/vdom-expected.js index 904c77332..2f8f4cf1c 100644 --- a/packages/translator-default/test/fixtures/tag-block-scoping/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/tag-block-scoping/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/tag-bloc _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/tag-block-scoping/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/tag-block-scoping/snapshots/vdomProduction-expected.js index c8b3c1d8e..7a8379a4e 100644 --- a/packages/translator-default/test/fixtures/tag-block-scoping/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/tag-block-scoping/snapshots/vdomProduction-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "s8GmyX5C", _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/tag-with-default-attr/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/tag-with-default-attr/snapshots/cjs-expected.js index 4bd0bde38..e4eb3590a 100644 --- a/packages/translator-default/test/fixtures/tag-with-default-attr/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/tag-with-default-attr/snapshots/cjs-expected.js @@ -8,8 +8,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/tag-with-default-attr/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("
          "); diff --git a/packages/translator-default/test/fixtures/tag-with-default-attr/snapshots/vdom-expected.js b/packages/translator-default/test/fixtures/tag-with-default-attr/snapshots/vdom-expected.js index 4ba816111..1a4249250 100644 --- a/packages/translator-default/test/fixtures/tag-with-default-attr/snapshots/vdom-expected.js +++ b/packages/translator-default/test/fixtures/tag-with-default-attr/snapshots/vdom-expected.js @@ -3,7 +3,7 @@ const _marko_componentType = "packages/translator-default/test/fixtures/tag-with _marko_template = _t(_marko_componentType); export default _marko_template; import _marko_renderer from "marko/src/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/src/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/src/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/tag-with-default-attr/snapshots/vdomProduction-expected.js b/packages/translator-default/test/fixtures/tag-with-default-attr/snapshots/vdomProduction-expected.js index 22eaca1d4..cdaf73807 100644 --- a/packages/translator-default/test/fixtures/tag-with-default-attr/snapshots/vdomProduction-expected.js +++ b/packages/translator-default/test/fixtures/tag-with-default-attr/snapshots/vdomProduction-expected.js @@ -8,7 +8,7 @@ const _marko_node = _marko_createElement("div", { }, "0", null, 0, 0); const _marko_node2 = _marko_createElement("div", null, "1", null, 0, 0); import _marko_renderer from "marko/dist/runtime/components/renderer.js"; -import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry"; +import { r as _marko_registerComponent } from "marko/dist/runtime/components/registry.js"; _marko_registerComponent(_marko_componentType, () => _marko_template); const _marko_component = {}; _marko_template._ = _marko_renderer(function (input, out, _componentDef, _component, state, $global) { diff --git a/packages/translator-default/test/fixtures/textarea-tag/snapshots/cjs-expected.js b/packages/translator-default/test/fixtures/textarea-tag/snapshots/cjs-expected.js index 780d9de27..8623994b1 100644 --- a/packages/translator-default/test/fixtures/textarea-tag/snapshots/cjs-expected.js +++ b/packages/translator-default/test/fixtures/textarea-tag/snapshots/cjs-expected.js @@ -7,8 +7,7 @@ var _renderer = _interopRequireDefault(require("marko/src/runtime/components/ren function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const _marko_componentType = "packages/translator-default/test/fixtures/textarea-tag/template.marko", _marko_template = (0, _index.t)(_marko_componentType); -var _default = _marko_template; -exports.default = _default; +var _default = exports.default = _marko_template; const _marko_component = {}; _marko_template._ = (0, _renderer.default)(function (input, out, _componentDef, _component, state, $global) { out.w("