From b39c83fde8a92105c121254cf4e68a176fc3244f Mon Sep 17 00:00:00 2001 From: "Alexis H. Munsayac" Date: Mon, 15 Jan 2024 14:55:50 +0800 Subject: [PATCH] Add `displayName`, fix formats --- biome.json | 51 +- examples/react/vite.config.js | 6 +- lerna.json | 11 +- package.json | 9 +- packages/forgetti/example.js | 12 +- packages/forgetti/input.js | 8 +- packages/forgetti/package.json | 3 +- packages/forgetti/pridepack.json | 2 +- packages/forgetti/runtime/index.ts | 22 +- .../forgetti/src/core/get-descriptive-name.ts | 42 ++ packages/forgetti/src/core/optimize-jsx.ts | 9 +- packages/forgetti/src/core/optimizer-scope.ts | 2 +- .../forgetti/src/core/simplify-expressions.ts | 4 - packages/forgetti/src/core/unwrap-path.ts | 2 +- packages/forgetti/src/env.d.ts | 38 -- .../__snapshots__/expressions.test.ts.snap | 8 +- .../__snapshots__/forgetti-skip.test.ts.snap | 12 +- .../test/__snapshots__/hooks.test.ts.snap | 8 +- packages/rollup/env.d.ts | 1 - packages/rollup/package.json | 4 +- packages/rollup/src/index.ts | 11 +- packages/vite/env.d.ts | 1 - packages/vite/package.json | 4 +- packages/vite/pridepack.json | 2 +- packages/vite/src/index.ts | 17 +- pnpm-lock.yaml | 601 +++++------------- 26 files changed, 297 insertions(+), 593 deletions(-) create mode 100644 packages/forgetti/src/core/get-descriptive-name.ts delete mode 100644 packages/forgetti/src/env.d.ts delete mode 100644 packages/rollup/env.d.ts delete mode 100644 packages/vite/env.d.ts diff --git a/biome.json b/biome.json index d8eb78f..4ca4f85 100644 --- a/biome.json +++ b/biome.json @@ -1,21 +1,18 @@ { "$schema": "https://unpkg.com/@biomejs/biome/configuration_schema.json", "files": { - "ignore": [ - "node_modules/**/*" - ] + "ignore": ["node_modules/**/*"] }, "vcs": { "useIgnoreFile": true }, "linter": { "enabled": true, - "ignore": [ - "node_modules/**/*" - ], + "ignore": ["node_modules/**/*"], "rules": { "a11y": { "noAccessKey": "error", + "noAriaHiddenOnFocusable": "off", "noAriaUnsupportedElements": "error", "noAutofocus": "error", "noBlankTarget": "error", @@ -41,17 +38,13 @@ "useMediaCaption": "error", "useValidAnchor": "error", "useValidAriaProps": "error", + "useValidAriaRole": "error", "useValidAriaValues": "error", "useValidLang": "error" }, "complexity": { "noBannedTypes": "error", - "noExcessiveCognitiveComplexity": { - "level": "error", - "options": { - "maxAllowedComplexity": 15 - } - }, + "noExcessiveCognitiveComplexity": "error", "noExtraBooleanCast": "error", "noForEach": "error", "noMultipleSpacesInRegularExpressionLiterals": "warn", @@ -72,6 +65,7 @@ "useFlatMap": "error", "useLiteralKeys": "error", "useOptionalChain": "warn", + "useRegexLiterals": "error", "useSimpleNumberKeys": "error", "useSimplifiedLogicExpression": "error" }, @@ -121,6 +115,7 @@ "style": { "noArguments": "error", "noCommaOperator": "off", + "noDefaultExport": "off", "noImplicitBoolean": "error", "noInferrableTypes": "error", "noNamespace": "error", @@ -180,6 +175,7 @@ "noFunctionAssign": "error", "noGlobalIsFinite": "error", "noGlobalIsNan": "error", + "noImplicitAnyLet": "off", "noImportAssign": "error", "noLabelVar": "error", "noMisleadingInstantiator": "error", @@ -199,27 +195,36 @@ "useValidTypeof": "error" }, "nursery": { - "noAriaHiddenOnFocusable": "off", - "noDefaultExport": "off", "noDuplicateJsonKeys": "off", "noEmptyBlockStatements": "error", - "noImplicitAnyLet": "off", + "noEmptyTypeParameters": "error", + "noGlobalEval": "off", + "noGlobalAssign": "error", + "noInvalidUseBeforeDeclaration": "error", + "noMisleadingCharacterClass": "error", + "noNodejsModules": "off", + "noThenProperty": "warn", "noUnusedImports": "error", "noUnusedPrivateClassMembers": "error", "noUselessLoneBlockStatements": "error", + "noUselessTernary": "error", "useAwait": "error", + "useConsistentArrayType": "error", + "useExportType": "error", + "useFilenamingConvention": "off", + "useForOf": "warn", "useGroupedTypeImport": "error", "useImportRestrictions": "off", - "useRegexLiterals": "error", - "useValidAriaRole": "error" + "useImportType": "error", + "useNodejsImportProtocol": "warn", + "useNumberNamespace": "error", + "useShorthandFunctionType": "warn" } } }, "formatter": { "enabled": true, - "ignore": [ - "node_modules/**/*" - ], + "ignore": ["node_modules/**/*"], "formatWithErrors": false, "indentWidth": 2, "indentStyle": "space", @@ -228,9 +233,7 @@ }, "organizeImports": { "enabled": true, - "ignore": [ - "node_modules/**/*" - ] + "ignore": ["node_modules/**/*"] }, "javascript": { "formatter": { @@ -266,4 +269,4 @@ "allowTrailingCommas": false } } -} \ No newline at end of file +} diff --git a/examples/react/vite.config.js b/examples/react/vite.config.js index 211cf07..458f112 100644 --- a/examples/react/vite.config.js +++ b/examples/react/vite.config.js @@ -1,5 +1,5 @@ -import { defineConfig } from 'vite' -import react from '@vitejs/plugin-react' +import { defineConfig } from 'vite'; +import react from '@vitejs/plugin-react'; import forgettiPlugin from 'vite-plugin-forgetti'; export default defineConfig({ @@ -13,6 +13,6 @@ export default defineConfig({ include: 'src/**/*.{ts,js,tsx,jsx}', exclude: 'node_modules/**/*.{ts,js,tsx,jsx}', }, - }) + }), ], }); diff --git a/lerna.json b/lerna.json index 1720682..312a1fe 100644 --- a/lerna.json +++ b/lerna.json @@ -1,17 +1,12 @@ { - "packages": [ - "packages/*", - "examples/*" - ], + "npmClient": "pnpm", + "packages": ["packages/*", "examples/*"], "command": { "version": { "exact": true }, "publish": { - "allowBranch": [ - "main", - "next" - ], + "allowBranch": ["main", "next"], "registry": "https://registry.npmjs.org/" } }, diff --git a/package.json b/package.json index 8dbd068..dcb0c27 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,10 @@ { "name": "root", "private": true, - "workspaces": [ - "packages/*", - "examples/*" - ], + "workspaces": ["packages/*", "examples/*"], "devDependencies": { - "@biomejs/biome": "^1.4.1", + "@biomejs/biome": "^1.5.1", "lerna": "^7.4.1", "typescript": "^5.2.2" } -} \ No newline at end of file +} diff --git a/packages/forgetti/example.js b/packages/forgetti/example.js index b2a86d6..ca439c7 100644 --- a/packages/forgetti/example.js +++ b/packages/forgetti/example.js @@ -1,6 +1,6 @@ import * as babel from '@babel/core'; import plugin from 'forgetti'; -import { readFile } from 'fs/promises'; +import { readFile } from 'node:fs/promises'; const options = { preset: 'react', @@ -8,17 +8,13 @@ const options = { async function compile(code) { const result = await babel.transformAsync(code, { - plugins: [ - [plugin, options], - ], + plugins: [[plugin, options]], parserOpts: { - plugins: [ - 'jsx', - ], + plugins: ['jsx'], }, }); return result?.code ?? ''; } -console.log(await compile(await readFile('./input.js', 'utf-8'))); \ No newline at end of file +console.log(await compile(await readFile('./input.js', 'utf-8'))); diff --git a/packages/forgetti/input.js b/packages/forgetti/input.js index 315eb71..039bf03 100644 --- a/packages/forgetti/input.js +++ b/packages/forgetti/input.js @@ -1,3 +1,7 @@ function Example(props) { - return {props.greeting}, {props.receiver}!; -} \ No newline at end of file + return ( + + {props.greeting}, {props.receiver}! + + ); +} diff --git a/packages/forgetti/package.json b/packages/forgetti/package.json index 175c69f..a6c59aa 100644 --- a/packages/forgetti/package.json +++ b/packages/forgetti/package.json @@ -16,9 +16,10 @@ "devDependencies": { "@babel/core": "^7.23.2", "@types/babel__core": "^7.20.3", + "@types/babel__helper-module-imports": "^7.18.3", "@types/babel__traverse": "^7.20.3", "@types/node": "^20.8.7", - "pridepack": "2.5.1", + "pridepack": "2.6.0", "tslib": "^2.6.2", "typescript": "^5.2.2", "vitest": "^0.34.6" diff --git a/packages/forgetti/pridepack.json b/packages/forgetti/pridepack.json index fb5db5f..61dad61 100644 --- a/packages/forgetti/pridepack.json +++ b/packages/forgetti/pridepack.json @@ -4,4 +4,4 @@ ".": "src/index.ts", "./runtime": "runtime/index.ts" } -} \ No newline at end of file +} diff --git a/packages/forgetti/runtime/index.ts b/packages/forgetti/runtime/index.ts index c835da0..69e8e62 100644 --- a/packages/forgetti/runtime/index.ts +++ b/packages/forgetti/runtime/index.ts @@ -27,7 +27,11 @@ export function $$cache(hook: MemoHook, size: number): unknown[] { return hook(() => new Array(size), EMPTY_ARRAY); } -export function $$branch(parent: unknown[], index: number, size: number): unknown[] { +export function $$branch( + parent: unknown[], + index: number, + size: number, +): unknown[] { parent[index] ||= new Array(size); return parent[index] as unknown[]; } @@ -45,7 +49,10 @@ function arePropsEqual(prev: MemoProps, next: MemoProps): boolean { return true; } -type MemoComponent = (props: MemoProps) => unknown; +interface MemoComponent { + (props: MemoProps): unknown; + displayName: string; +} export type MemoFunction = ( Component: MemoComponent, @@ -54,7 +61,16 @@ export type MemoFunction = ( export function $$memo( memoFunc: MemoFunction, + name: string, render: (values: unknown[]) => unknown, ): MemoComponent { - return memoFunc((props: MemoProps) => render(props.v), arePropsEqual); + const OriginalComponent = (props: MemoProps) => render(props.v); + if (import.meta.env.DEV) { + OriginalComponent.displayName = `Forgetti(${name}.render)`; + } + const Component = memoFunc(OriginalComponent, arePropsEqual); + if (import.meta.env.DEV) { + Component.displayName = `Forgetti(${name}.template)`; + } + return Component; } diff --git a/packages/forgetti/src/core/get-descriptive-name.ts b/packages/forgetti/src/core/get-descriptive-name.ts new file mode 100644 index 0000000..2a3dfa8 --- /dev/null +++ b/packages/forgetti/src/core/get-descriptive-name.ts @@ -0,0 +1,42 @@ +import type * as babel from '@babel/core'; + +export function getDescriptiveName( + path: babel.NodePath, + defaultName: string, +): string { + let current: babel.NodePath | null = path; + while (current) { + switch (current.node.type) { + case 'FunctionDeclaration': + case 'FunctionExpression': { + if (current.node.id) { + return current.node.id.name; + } + break; + } + case 'VariableDeclarator': { + if (current.node.id.type === 'Identifier') { + return current.node.id.name; + } + break; + } + case 'ClassPrivateMethod': + case 'ClassMethod': + case 'ObjectMethod': { + switch (current.node.key.type) { + case 'Identifier': + return current.node.key.name; + case 'PrivateName': + return current.node.key.id.name; + default: + break; + } + break; + } + default: + break; + } + current = current.parentPath; + } + return defaultName; +} diff --git a/packages/forgetti/src/core/optimize-jsx.ts b/packages/forgetti/src/core/optimize-jsx.ts index 43eb651..387cb6f 100644 --- a/packages/forgetti/src/core/optimize-jsx.ts +++ b/packages/forgetti/src/core/optimize-jsx.ts @@ -5,6 +5,7 @@ import getImportIdentifier from './get-import-identifier'; import { RUNTIME_MEMO } from './imports'; import { shouldSkipJSX, isPathValid } from './checks'; import type { ImportDefinition } from './presets'; +import { getDescriptiveName } from './get-descriptive-name'; interface JSXReplacement { id: t.Identifier; @@ -125,7 +126,8 @@ function extractJSXExpressionsFromJSXElement( const isJSXMember = isPathValid(openingName, t.isJSXMemberExpression); if (isPathValid(trueOpeningName, t.isJSXIdentifier)) { if (isJSXMember || /^[A-Z_]/.test(trueOpeningName.node.name)) { - const id = path.scope.generateUidIdentifier('Component'); + const descriptiveName = getDescriptiveName(path, 'Component'); + const id = path.scope.generateUidIdentifier(descriptiveName); const index = state.expressions.length; state.expressions.push(t.identifier(trueOpeningName.node.name)); state.jsxs.push({ @@ -219,7 +221,9 @@ function transformJSX( }; extractJSXExpressions(path, state, true); - const memoComponent = path.scope.generateUidIdentifier('Memo'); + const memoComponent = path.scope.generateUidIdentifier( + getDescriptiveName(path, 'Memo'), + ); let body: t.Expression | t.BlockStatement; if (state.jsxs.length) { @@ -241,6 +245,7 @@ function transformJSX( id: memoComponent, init: t.callExpression(getImportIdentifier(ctx, path, RUNTIME_MEMO), [ getImportIdentifier(ctx, path, memoDefinition), + t.stringLiteral(memoComponent.name), t.arrowFunctionExpression([state.source], body), ]), }); diff --git a/packages/forgetti/src/core/optimizer-scope.ts b/packages/forgetti/src/core/optimizer-scope.ts index 6d0c09a..1d62d99 100644 --- a/packages/forgetti/src/core/optimizer-scope.ts +++ b/packages/forgetti/src/core/optimizer-scope.ts @@ -1,4 +1,4 @@ -import * as babel from '@babel/core'; +import type * as babel from '@babel/core'; import * as t from '@babel/types'; import type { OptimizedExpression, StateContext } from './types'; import getImportIdentifier from './get-import-identifier'; diff --git a/packages/forgetti/src/core/simplify-expressions.ts b/packages/forgetti/src/core/simplify-expressions.ts index 2957328..f76b5df 100644 --- a/packages/forgetti/src/core/simplify-expressions.ts +++ b/packages/forgetti/src/core/simplify-expressions.ts @@ -82,8 +82,6 @@ export function simplifyExpressions(path: babel.NodePath): void { ); break; } - default: - break; } }, }, @@ -105,8 +103,6 @@ export function simplifyExpressions(path: babel.NodePath): void { } break; } - default: - break; } }, }, diff --git a/packages/forgetti/src/core/unwrap-path.ts b/packages/forgetti/src/core/unwrap-path.ts index 8607815..c6eb82f 100644 --- a/packages/forgetti/src/core/unwrap-path.ts +++ b/packages/forgetti/src/core/unwrap-path.ts @@ -1,4 +1,4 @@ -import * as babel from '@babel/core'; +import type * as babel from '@babel/core'; import type * as t from '@babel/types'; import { isNestedExpression, isPathValid } from './checks'; diff --git a/packages/forgetti/src/env.d.ts b/packages/forgetti/src/env.d.ts deleted file mode 100644 index 8f1ef51..0000000 --- a/packages/forgetti/src/env.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -declare module '@babel/helper-module-imports' { - import { NodePath } from '@babel/traverse'; - import * as t from '@babel/types'; - - interface ImportOptions { - importedSource: string | null; - importedType: 'es6' | 'commonjs'; - importedInterop: 'babel' | 'node' | 'compiled' | 'uncompiled'; - importingInterop: 'babel' | 'node'; - ensureLiveReference: boolean; - ensureNoContext: boolean; - importPosition: 'before' | 'after'; - nameHint: string; - blockHoist: number; - } - - export function addDefault( - path: NodePath, - importedSource: string, - opts?: Partial - ): t.Identifier; - export function addNamed( - path: NodePath, - name: string, - importedSource: string, - opts?: Partial - ): t.Identifier; - export function addNamespace( - path: NodePath, - importedSource: string, - opts?: Partial - ): t.Identifier; - export function addSideEffect( - path: NodePath, - importedSource: string, - opts?: Partial - ): t.Identifier; -} diff --git a/packages/forgetti/test/__snapshots__/expressions.test.ts.snap b/packages/forgetti/test/__snapshots__/expressions.test.ts.snap index ff4c8ea..d66c452 100644 --- a/packages/forgetti/test/__snapshots__/expressions.test.ts.snap +++ b/packages/forgetti/test/__snapshots__/expressions.test.ts.snap @@ -6,7 +6,7 @@ import { $$cache as _$$cache } from \\"forgetti/runtime\\"; import { $$equals as _$$equals } from \\"forgetti/runtime\\"; import { memo as _memo } from \\"react\\"; import { $$memo as _$$memo } from \\"forgetti/runtime\\"; -const _Memo = _$$memo(_memo, _values =>
+const _Example = _$$memo(_memo, \\"_Example\\", _values =>

Title: {_values[1]}

{_values[2]}
); @@ -26,7 +26,7 @@ function Example(props) { _value8 = _equals2 && _equals3 && _equals4 ? _cache[7] : _cache[7] = [_value3, _value5, _value7], _equals6 = _$$equals(_cache, 8, _value8), _value9 = _equals6 ? _cache[8] : _cache[8] = _value8; - return _equals6 ? _cache[9] : _cache[9] = /*@forgetti jsx*/<_Memo v={_value9} />; + return _equals6 ? _cache[9] : _cache[9] = /*@forgetti jsx*/<_Example v={_value9} />; }" `; @@ -36,7 +36,7 @@ import { $$cache as _$$cache } from \\"forgetti/runtime\\"; import { $$equals as _$$equals } from \\"forgetti/runtime\\"; import { memo as _memo } from \\"react\\"; import { $$memo as _$$memo } from \\"forgetti/runtime\\"; -const _Memo = _$$memo(_memo, _values => <> +const _Example = _$$memo(_memo, \\"_Example\\", _values => <>

Title: {_values[1]}

{_values[2]} ); @@ -56,7 +56,7 @@ function Example(props) { _value8 = _equals2 && _equals3 && _equals4 ? _cache[7] : _cache[7] = [_value3, _value5, _value7], _equals6 = _$$equals(_cache, 8, _value8), _value9 = _equals6 ? _cache[8] : _cache[8] = _value8; - return _equals6 ? _cache[9] : _cache[9] = /*@forgetti jsx*/<_Memo v={_value9} />; + return _equals6 ? _cache[9] : _cache[9] = /*@forgetti jsx*/<_Example v={_value9} />; }" `; diff --git a/packages/forgetti/test/__snapshots__/forgetti-skip.test.ts.snap b/packages/forgetti/test/__snapshots__/forgetti-skip.test.ts.snap index 890b043..437de8b 100644 --- a/packages/forgetti/test/__snapshots__/forgetti-skip.test.ts.snap +++ b/packages/forgetti/test/__snapshots__/forgetti-skip.test.ts.snap @@ -6,7 +6,7 @@ import { $$cache as _$$cache } from \\"forgetti/runtime\\"; import { $$equals as _$$equals } from \\"forgetti/runtime\\"; import { memo as _memo } from \\"react\\"; import { $$memo as _$$memo } from \\"forgetti/runtime\\"; -const _Memo = _$$memo(_memo, _values =>

{_values[1]}

); +const _Example = _$$memo(_memo, \\"_Example\\", _values =>

{_values[1]}

); function Example(props) { let _cache = _$$cache(_useMemo, 8), _equals = _$$equals(_cache, 0, props), @@ -20,7 +20,7 @@ function Example(props) { _value6 = _equals2 && _equals3 ? _cache[5] : _cache[5] = [_value3, _value5], _equals5 = _$$equals(_cache, 6, _value6), _value7 = _equals5 ? _cache[6] : _cache[6] = _value6; - return _equals5 ? _cache[7] : _cache[7] = /*@forgetti jsx*/<_Memo v={_value7} />; + return _equals5 ? _cache[7] : _cache[7] = /*@forgetti jsx*/<_Example v={_value7} />; }" `; @@ -30,7 +30,7 @@ import { $$cache as _$$cache } from \\"forgetti/runtime\\"; import { $$equals as _$$equals } from \\"forgetti/runtime\\"; import { memo as _memo } from \\"react\\"; import { $$memo as _$$memo } from \\"forgetti/runtime\\"; -const _Memo = _$$memo(_memo, _values =>

{_values[1]}

); +const _Example = _$$memo(_memo, \\"_Example\\", _values =>

{_values[1]}

); const Example = function (props) { let _cache = _$$cache(_useMemo, 8), _equals = _$$equals(_cache, 0, props), @@ -44,7 +44,7 @@ const Example = function (props) { _value6 = _equals2 && _equals3 ? _cache[5] : _cache[5] = [_value3, _value5], _equals5 = _$$equals(_cache, 6, _value6), _value7 = _equals5 ? _cache[6] : _cache[6] = _value6; - return _equals5 ? _cache[7] : _cache[7] = /*@forgetti jsx*/<_Memo v={_value7} />; + return _equals5 ? _cache[7] : _cache[7] = /*@forgetti jsx*/<_Example v={_value7} />; };" `; @@ -54,7 +54,7 @@ import { $$cache as _$$cache } from \\"forgetti/runtime\\"; import { $$equals as _$$equals } from \\"forgetti/runtime\\"; import { memo as _memo } from \\"react\\"; import { $$memo as _$$memo } from \\"forgetti/runtime\\"; -const _Memo = _$$memo(_memo, _values =>

{_values[1]}

); +const _Example = _$$memo(_memo, \\"_Example\\", _values =>

{_values[1]}

); const Example = props => { let _cache = _$$cache(_useMemo, 8), _equals = _$$equals(_cache, 0, props), @@ -68,7 +68,7 @@ const Example = props => { _value6 = _equals2 && _equals3 ? _cache[5] : _cache[5] = [_value3, _value5], _equals5 = _$$equals(_cache, 6, _value6), _value7 = _equals5 ? _cache[6] : _cache[6] = _value6; - return _equals5 ? _cache[7] : _cache[7] = /*@forgetti jsx*/<_Memo v={_value7} />; + return _equals5 ? _cache[7] : _cache[7] = /*@forgetti jsx*/<_Example v={_value7} />; };" `; diff --git a/packages/forgetti/test/__snapshots__/hooks.test.ts.snap b/packages/forgetti/test/__snapshots__/hooks.test.ts.snap index ff6fa49..0088a0f 100644 --- a/packages/forgetti/test/__snapshots__/hooks.test.ts.snap +++ b/packages/forgetti/test/__snapshots__/hooks.test.ts.snap @@ -54,8 +54,8 @@ import { $$cache as _$$cache } from \\"forgetti/runtime\\"; import { $$equals as _$$equals } from \\"forgetti/runtime\\"; import { memo as _memo } from \\"react\\"; import { $$memo as _$$memo } from \\"forgetti/runtime\\"; -const _Memo = _$$memo(_memo, _values =>
{_values[0]}
), - _Memo2 = _$$memo(_memo, _values2 => <>{_values2[0]}{_values2[1]}); +const _Example = _$$memo(_memo, \\"_Example\\", _values =>
{_values[0]}
), + _Example2 = _$$memo(_memo, \\"_Example2\\", _values2 => <>{_values2[0]}{_values2[1]}); import { useA, useB, useC } from 'whatever'; function Example(props) { let _cache = _$$cache(_useMemo, 24), @@ -101,7 +101,7 @@ function Example(props) { _value15 = _equals12 ? _cache[13] : _cache[13] = [_value14], _equals13 = _$$equals(_cache, 14, _value15), _value16 = _equals13 ? _cache[14] : _cache[14] = _value15, - _value17 = _equals13 ? _cache[15] : _cache[15] = /*@forgetti jsx*/<_Memo v={_value16} />, + _value17 = _equals13 ? _cache[15] : _cache[15] = /*@forgetti jsx*/<_Example v={_value16} />, _equals14 = _$$equals(_cache, 16, _value17), _value18 = _equals14 ? _cache[16] : _cache[16] = _value17, _equals15 = _$$equals(_cache, 17, _hoisted9), @@ -111,7 +111,7 @@ function Example(props) { _value21 = _equals15 && _equals16 ? _cache[19] : _cache[19] = [_value19, _value20], _equals18 = _$$equals(_cache, 20, _value21), _value22 = _equals18 ? _cache[20] : _cache[20] = _value21, - _value23 = _equals18 ? _cache[21] : _cache[21] = /*@forgetti jsx*/<_Memo2 v={_value22} />, + _value23 = _equals18 ? _cache[21] : _cache[21] = /*@forgetti jsx*/<_Example2 v={_value22} />, _equals19 = _$$equals(_cache, 22, _value23), _value24 = _equals19 ? _cache[22] : _cache[22] = _value23; return _equals && _equals2 && _equals3 && _equals5 && _equals9 && _equals11 && _equals14 && _equals19 ? _cache[23] : _cache[23] = { diff --git a/packages/rollup/env.d.ts b/packages/rollup/env.d.ts deleted file mode 100644 index 24a4112..0000000 --- a/packages/rollup/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/packages/rollup/package.json b/packages/rollup/package.json index 1d5c515..fcc255d 100644 --- a/packages/rollup/package.json +++ b/packages/rollup/package.json @@ -31,7 +31,7 @@ "@types/babel__core": "^7.20.3", "@types/node": "^20.8.7", "forgetti": "0.7.2", - "pridepack": "2.5.1", + "pridepack": "2.6.0", "rollup": "^3.15.0", "tslib": "^2.6.2", "typescript": "^5.2.2" @@ -69,4 +69,4 @@ "typesVersions": { "*": {} } -} \ No newline at end of file +} diff --git a/packages/rollup/src/index.ts b/packages/rollup/src/index.ts index 328e915..6ba1f9c 100644 --- a/packages/rollup/src/index.ts +++ b/packages/rollup/src/index.ts @@ -4,7 +4,7 @@ import type { Plugin, TransformResult } from 'rollup'; import type { FilterPattern } from '@rollup/pluginutils'; import { createFilter } from '@rollup/pluginutils'; import * as babel from '@babel/core'; -import path from 'path'; +import path from 'node:path'; export interface ForgettiPluginFilter { include?: FilterPattern; @@ -32,16 +32,15 @@ export default function forgettiPlugin( async transform(code, id): Promise { if (filter(id)) { const pluginOption = [forgettiBabel, { preset }]; - const plugins: NonNullable['plugins']> = ['jsx']; + const plugins: NonNullable< + NonNullable['plugins'] + > = ['jsx']; if (/\.[mc]?tsx?$/i.test(id)) { plugins.push('typescript'); } const result = await babel.transformAsync(code, { ...options.babel, - plugins: [ - pluginOption, - ...(options.babel?.plugins || []), - ], + plugins: [pluginOption, ...(options.babel?.plugins || [])], parserOpts: { ...(options.babel?.parserOpts || {}), plugins: [ diff --git a/packages/vite/env.d.ts b/packages/vite/env.d.ts deleted file mode 100644 index 24a4112..0000000 --- a/packages/vite/env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/packages/vite/package.json b/packages/vite/package.json index 797c019..0f24f6c 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -32,7 +32,7 @@ "@types/babel__core": "^7.20.3", "@types/node": "^20.8.7", "forgetti": "0.7.2", - "pridepack": "2.5.1", + "pridepack": "2.6.0", "tslib": "^2.6.2", "typescript": "^5.2.2", "vite": "^4.5.0" @@ -70,4 +70,4 @@ "typesVersions": { "*": {} } -} \ No newline at end of file +} diff --git a/packages/vite/pridepack.json b/packages/vite/pridepack.json index 02099fc..31c075d 100644 --- a/packages/vite/pridepack.json +++ b/packages/vite/pridepack.json @@ -1,3 +1,3 @@ { "target": "es2018" -} \ No newline at end of file +} diff --git a/packages/vite/src/index.ts b/packages/vite/src/index.ts index 8173737..d371110 100644 --- a/packages/vite/src/index.ts +++ b/packages/vite/src/index.ts @@ -4,7 +4,7 @@ import type { Plugin } from 'vite'; import type { FilterPattern } from '@rollup/pluginutils'; import { createFilter } from '@rollup/pluginutils'; import * as babel from '@babel/core'; -import path from 'path'; +import path from 'node:path'; export interface ForgettiPluginFilter { include?: FilterPattern; @@ -17,7 +17,11 @@ export interface ForgettiPluginOptions extends Options { } // From: https://github.com/bluwy/whyframe/blob/master/packages/jsx/src/index.js#L27-L37 -function repushPlugin(plugins: Plugin[], plugin: Plugin, pluginNames: string[]): void { +function repushPlugin( + plugins: Plugin[], + plugin: Plugin, + pluginNames: string[], +): void { const namesSet = new Set(pluginNames); let baseIndex = -1; @@ -66,16 +70,15 @@ export default function forgettiPlugin( async transform(code, id) { if (filter(id)) { const pluginOption = [forgettiBabel, { preset }]; - const plugins: NonNullable['plugins']> = ['jsx']; + const plugins: NonNullable< + NonNullable['plugins'] + > = ['jsx']; if (/\.[mc]?tsx?$/i.test(id)) { plugins.push('typescript'); } const result = await babel.transformAsync(code, { ...options.babel, - plugins: [ - pluginOption, - ...(options.babel?.plugins || []), - ], + plugins: [pluginOption, ...(options.babel?.plugins || [])], parserOpts: { ...(options.babel?.parserOpts || {}), plugins: [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1b1dada..b7c09f4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: devDependencies: '@biomejs/biome': - specifier: ^1.4.1 - version: 1.4.1 + specifier: ^1.5.1 + version: 1.5.1 lerna: specifier: ^7.4.1 version: 7.4.1 @@ -89,6 +89,9 @@ importers: '@types/babel__core': specifier: ^7.20.3 version: 7.20.3 + '@types/babel__helper-module-imports': + specifier: ^7.18.3 + version: 7.18.3 '@types/babel__traverse': specifier: ^7.20.3 version: 7.20.3 @@ -96,8 +99,8 @@ importers: specifier: ^20.8.7 version: 20.8.7 pridepack: - specifier: 2.5.1 - version: 2.5.1(eslint@8.51.0)(tslib@2.6.2)(typescript@5.2.2) + specifier: 2.6.0 + version: 2.6.0(tslib@2.6.2)(typescript@5.2.2) tslib: specifier: ^2.6.2 version: 2.6.2 @@ -127,8 +130,8 @@ importers: specifier: 0.7.2 version: link:../forgetti pridepack: - specifier: 2.5.1 - version: 2.5.1(eslint@8.51.0)(tslib@2.6.2)(typescript@5.2.2) + specifier: 2.6.0 + version: 2.6.0(tslib@2.6.2)(typescript@5.2.2) rollup: specifier: ^3.15.0 version: 3.15.0 @@ -158,8 +161,8 @@ importers: specifier: 0.7.2 version: link:../forgetti pridepack: - specifier: 2.5.1 - version: 2.5.1(eslint@8.51.0)(tslib@2.6.2)(typescript@5.2.2) + specifier: 2.6.0 + version: 2.6.0(tslib@2.6.2)(typescript@5.2.2) tslib: specifier: ^2.6.2 version: 2.6.2 @@ -172,11 +175,6 @@ importers: packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - /@ampproject/remapping@2.2.0: resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} engines: {node: '>=6.0.0'} @@ -557,22 +555,24 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@biomejs/biome@1.4.1: - resolution: {integrity: sha512-JccVAwPbhi37pdxbAGmaOBjUTKEwEjWAhl7rKkVVuXHo4MLASXJ5HR8BTgrImi4/7rTBsGz1tgVD1Kwv1CHGRg==} + /@biomejs/biome@1.5.1: + resolution: {integrity: sha512-rdMA/N1Zc1nxUtbXMVr+50Sg/Pezz+9qGQa2uyRWFtrCoyr3dv0pVz+0ifGGue18ip50ZH8x2r5CV7zo8Q/0mA==} engines: {node: '>=14.*'} hasBin: true requiresBuild: true optionalDependencies: - '@biomejs/cli-darwin-arm64': 1.4.1 - '@biomejs/cli-darwin-x64': 1.4.1 - '@biomejs/cli-linux-arm64': 1.4.1 - '@biomejs/cli-linux-x64': 1.4.1 - '@biomejs/cli-win32-arm64': 1.4.1 - '@biomejs/cli-win32-x64': 1.4.1 - dev: true - - /@biomejs/cli-darwin-arm64@1.4.1: - resolution: {integrity: sha512-PZWy2Idndqux38p6AXSDQM2ldRAWi32bvb7bMbTN0ALzpWYMYnxd71ornatumSSJYoNhKmxzDLq+jct7nZJ79w==} + '@biomejs/cli-darwin-arm64': 1.5.1 + '@biomejs/cli-darwin-x64': 1.5.1 + '@biomejs/cli-linux-arm64': 1.5.1 + '@biomejs/cli-linux-arm64-musl': 1.5.1 + '@biomejs/cli-linux-x64': 1.5.1 + '@biomejs/cli-linux-x64-musl': 1.5.1 + '@biomejs/cli-win32-arm64': 1.5.1 + '@biomejs/cli-win32-x64': 1.5.1 + dev: true + + /@biomejs/cli-darwin-arm64@1.5.1: + resolution: {integrity: sha512-E9pLakmSVHP6UH2uqAghqEkr/IHAIDfDyCedqJVnyFc+uufNTHwB8id4XTiWy/eKIdgxHZsTSE+R+W0IqrTNVQ==} engines: {node: '>=14.*'} cpu: [arm64] os: [darwin] @@ -580,8 +580,8 @@ packages: dev: true optional: true - /@biomejs/cli-darwin-x64@1.4.1: - resolution: {integrity: sha512-soj3BWhnsM1M2JlzR09cibUzG1owJqetwj/Oo7yg0foijo9lNH9XWXZfJBYDKgW/6Fomn+CC2EcUS+hisQzt9g==} + /@biomejs/cli-darwin-x64@1.5.1: + resolution: {integrity: sha512-8O1F+FcoCi02JlocyilB6R3y3kT9sRkBCRwYddaBIScQe2hCme/mA2rVzrhCCHhskrclJ51GEKjkEORj4/8c2A==} engines: {node: '>=14.*'} cpu: [x64] os: [darwin] @@ -589,8 +589,8 @@ packages: dev: true optional: true - /@biomejs/cli-linux-arm64@1.4.1: - resolution: {integrity: sha512-YIZqfJUg4F+fPsBTXxgD7EU2E5OAYbmYSl/snf4PevwfQCWE/omOFZv+NnIQmjYj9I7ParDgcJvanoA3/kO0JQ==} + /@biomejs/cli-linux-arm64-musl@1.5.1: + resolution: {integrity: sha512-Lw9G3LUdhRMp8L8RMeVevnfQCa7luT6ubQ8GRjLju32glxWKefpDrzgfHixGyvTQPlhnYjQ+V8/QQ/I7WPzOoA==} engines: {node: '>=14.*'} cpu: [arm64] os: [linux] @@ -598,8 +598,26 @@ packages: dev: true optional: true - /@biomejs/cli-linux-x64@1.4.1: - resolution: {integrity: sha512-9YOZw3qBd/KUj63A6Hn2zZgzGb2nbESM0qNmeMXgmqinVKM//uc4OgY5TuKITuGjMSvcVxxd4dX1IzYjV9qvNQ==} + /@biomejs/cli-linux-arm64@1.5.1: + resolution: {integrity: sha512-25gwY4FMzmi1Rl6N835raLq7nzTk+PyEQd88k9Em6dqtI4qpljqmZlMmVjOiwXKe3Ee80J/Vlh7BM36lsHUTEg==} + engines: {node: '>=14.*'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@biomejs/cli-linux-x64-musl@1.5.1: + resolution: {integrity: sha512-5gapxc/VlwTgGRbTc9h8PMTpf8eNahIBauFUGSXncHgayi3VpezKSicgaQ1bb8FahVXf/5eNEVxVARq/or71Ag==} + engines: {node: '>=14.*'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@biomejs/cli-linux-x64@1.5.1: + resolution: {integrity: sha512-YDM0gZP4UbAuaBI3DVbUuj5X+Omm6uxzD1Qpc6hcduH1kzXzs9L0ee7cn/kJtNndoXR8MlmUS0O0/wWvZf2YaA==} engines: {node: '>=14.*'} cpu: [x64] os: [linux] @@ -607,8 +625,8 @@ packages: dev: true optional: true - /@biomejs/cli-win32-arm64@1.4.1: - resolution: {integrity: sha512-nWQbvkNKxYn/kCQ0yVF8kCaS3VzaGvtFSmItXiMknU4521LDjJ7tNWH12Gol+pIslrCbd4E1LhJa0a3ThRsBVg==} + /@biomejs/cli-win32-arm64@1.5.1: + resolution: {integrity: sha512-TVpLBOLUMLQmH2VRFBKFr3rgEkr7XvG4QZxHOxWB9Ivc/sQPvg4aHMd8qpgPKXABGUnultyc9t0+WvfIDxuALg==} engines: {node: '>=14.*'} cpu: [arm64] os: [win32] @@ -616,8 +634,8 @@ packages: dev: true optional: true - /@biomejs/cli-win32-x64@1.4.1: - resolution: {integrity: sha512-88fR2CQxQ4YLs2BUDuywWYQpUKgU3A3sTezANFc/4LGKQFFLV2yX+F7QAdZVkMHfA+RD9Xg178HomM/6mnTNPA==} + /@biomejs/cli-win32-x64@1.5.1: + resolution: {integrity: sha512-qx8EKwScZmVYZjMPZ6GF3ZUmgg/N6zqh+d8vHA2E43opNCyqIPTl89sOqkc7zd1CyyABDWxsbqI9Ih6xTT6hnQ==} engines: {node: '>=14.*'} cpu: [x64] os: [win32] @@ -625,6 +643,15 @@ packages: dev: true optional: true + /@esbuild/aix-ppc64@0.19.11: + resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm64@0.18.20: resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -634,8 +661,8 @@ packages: dev: true optional: true - /@esbuild/android-arm64@0.19.5: - resolution: {integrity: sha512-5d1OkoJxnYQfmC+Zd8NBFjkhyCNYwM4n9ODrycTFY6Jk1IGiZ+tjVJDDSwDt77nK+tfpGP4T50iMtVi4dEGzhQ==} + /@esbuild/android-arm64@0.19.11: + resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} engines: {node: '>=12'} cpu: [arm64] os: [android] @@ -652,8 +679,8 @@ packages: dev: true optional: true - /@esbuild/android-arm@0.19.5: - resolution: {integrity: sha512-bhvbzWFF3CwMs5tbjf3ObfGqbl/17ict2/uwOSfr3wmxDE6VdS2GqY/FuzIPe0q0bdhj65zQsvqfArI9MY6+AA==} + /@esbuild/android-arm@0.19.11: + resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} engines: {node: '>=12'} cpu: [arm] os: [android] @@ -670,8 +697,8 @@ packages: dev: true optional: true - /@esbuild/android-x64@0.19.5: - resolution: {integrity: sha512-9t+28jHGL7uBdkBjL90QFxe7DVA+KGqWlHCF8ChTKyaKO//VLuoBricQCgwhOjA1/qOczsw843Fy4cbs4H3DVA==} + /@esbuild/android-x64@0.19.11: + resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} engines: {node: '>=12'} cpu: [x64] os: [android] @@ -688,8 +715,8 @@ packages: dev: true optional: true - /@esbuild/darwin-arm64@0.19.5: - resolution: {integrity: sha512-mvXGcKqqIqyKoxq26qEDPHJuBYUA5KizJncKOAf9eJQez+L9O+KfvNFu6nl7SCZ/gFb2QPaRqqmG0doSWlgkqw==} + /@esbuild/darwin-arm64@0.19.11: + resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] @@ -706,8 +733,8 @@ packages: dev: true optional: true - /@esbuild/darwin-x64@0.19.5: - resolution: {integrity: sha512-Ly8cn6fGLNet19s0X4unjcniX24I0RqjPv+kurpXabZYSXGM4Pwpmf85WHJN3lAgB8GSth7s5A0r856S+4DyiA==} + /@esbuild/darwin-x64@0.19.11: + resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} engines: {node: '>=12'} cpu: [x64] os: [darwin] @@ -724,8 +751,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-arm64@0.19.5: - resolution: {integrity: sha512-GGDNnPWTmWE+DMchq1W8Sd0mUkL+APvJg3b11klSGUDvRXh70JqLAO56tubmq1s2cgpVCSKYywEiKBfju8JztQ==} + /@esbuild/freebsd-arm64@0.19.11: + resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] @@ -742,8 +769,8 @@ packages: dev: true optional: true - /@esbuild/freebsd-x64@0.19.5: - resolution: {integrity: sha512-1CCwDHnSSoA0HNwdfoNY0jLfJpd7ygaLAp5EHFos3VWJCRX9DMwWODf96s9TSse39Br7oOTLryRVmBoFwXbuuQ==} + /@esbuild/freebsd-x64@0.19.11: + resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] @@ -760,8 +787,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm64@0.19.5: - resolution: {integrity: sha512-o3vYippBmSrjjQUCEEiTZ2l+4yC0pVJD/Dl57WfPwwlvFkrxoSO7rmBZFii6kQB3Wrn/6GwJUPLU5t52eq2meA==} + /@esbuild/linux-arm64@0.19.11: + resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} engines: {node: '>=12'} cpu: [arm64] os: [linux] @@ -778,8 +805,8 @@ packages: dev: true optional: true - /@esbuild/linux-arm@0.19.5: - resolution: {integrity: sha512-lrWXLY/vJBzCPC51QN0HM71uWgIEpGSjSZZADQhq7DKhPcI6NH1IdzjfHkDQws2oNpJKpR13kv7/pFHBbDQDwQ==} + /@esbuild/linux-arm@0.19.11: + resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} engines: {node: '>=12'} cpu: [arm] os: [linux] @@ -796,8 +823,8 @@ packages: dev: true optional: true - /@esbuild/linux-ia32@0.19.5: - resolution: {integrity: sha512-MkjHXS03AXAkNp1KKkhSKPOCYztRtK+KXDNkBa6P78F8Bw0ynknCSClO/ztGszILZtyO/lVKpa7MolbBZ6oJtQ==} + /@esbuild/linux-ia32@0.19.11: + resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] @@ -814,8 +841,8 @@ packages: dev: true optional: true - /@esbuild/linux-loong64@0.19.5: - resolution: {integrity: sha512-42GwZMm5oYOD/JHqHska3Jg0r+XFb/fdZRX+WjADm3nLWLcIsN27YKtqxzQmGNJgu0AyXg4HtcSK9HuOk3v1Dw==} + /@esbuild/linux-loong64@0.19.11: + resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] @@ -832,8 +859,8 @@ packages: dev: true optional: true - /@esbuild/linux-mips64el@0.19.5: - resolution: {integrity: sha512-kcjndCSMitUuPJobWCnwQ9lLjiLZUR3QLQmlgaBfMX23UEa7ZOrtufnRds+6WZtIS9HdTXqND4yH8NLoVVIkcg==} + /@esbuild/linux-mips64el@0.19.11: + resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] @@ -850,8 +877,8 @@ packages: dev: true optional: true - /@esbuild/linux-ppc64@0.19.5: - resolution: {integrity: sha512-yJAxJfHVm0ZbsiljbtFFP1BQKLc8kUF6+17tjQ78QjqjAQDnhULWiTA6u0FCDmYT1oOKS9PzZ2z0aBI+Mcyj7Q==} + /@esbuild/linux-ppc64@0.19.11: + resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] @@ -868,8 +895,8 @@ packages: dev: true optional: true - /@esbuild/linux-riscv64@0.19.5: - resolution: {integrity: sha512-5u8cIR/t3gaD6ad3wNt1MNRstAZO+aNyBxu2We8X31bA8XUNyamTVQwLDA1SLoPCUehNCymhBhK3Qim1433Zag==} + /@esbuild/linux-riscv64@0.19.11: + resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] @@ -886,8 +913,8 @@ packages: dev: true optional: true - /@esbuild/linux-s390x@0.19.5: - resolution: {integrity: sha512-Z6JrMyEw/EmZBD/OFEFpb+gao9xJ59ATsoTNlj39jVBbXqoZm4Xntu6wVmGPB/OATi1uk/DB+yeDPv2E8PqZGw==} + /@esbuild/linux-s390x@0.19.11: + resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} engines: {node: '>=12'} cpu: [s390x] os: [linux] @@ -904,8 +931,8 @@ packages: dev: true optional: true - /@esbuild/linux-x64@0.19.5: - resolution: {integrity: sha512-psagl+2RlK1z8zWZOmVdImisMtrUxvwereIdyJTmtmHahJTKb64pAcqoPlx6CewPdvGvUKe2Jw+0Z/0qhSbG1A==} + /@esbuild/linux-x64@0.19.11: + resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} engines: {node: '>=12'} cpu: [x64] os: [linux] @@ -922,8 +949,8 @@ packages: dev: true optional: true - /@esbuild/netbsd-x64@0.19.5: - resolution: {integrity: sha512-kL2l+xScnAy/E/3119OggX8SrWyBEcqAh8aOY1gr4gPvw76la2GlD4Ymf832UCVbmuWeTf2adkZDK+h0Z/fB4g==} + /@esbuild/netbsd-x64@0.19.11: + resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] @@ -940,8 +967,8 @@ packages: dev: true optional: true - /@esbuild/openbsd-x64@0.19.5: - resolution: {integrity: sha512-sPOfhtzFufQfTBgRnE1DIJjzsXukKSvZxloZbkJDG383q0awVAq600pc1nfqBcl0ice/WN9p4qLc39WhBShRTA==} + /@esbuild/openbsd-x64@0.19.11: + resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] @@ -958,8 +985,8 @@ packages: dev: true optional: true - /@esbuild/sunos-x64@0.19.5: - resolution: {integrity: sha512-dGZkBXaafuKLpDSjKcB0ax0FL36YXCvJNnztjKV+6CO82tTYVDSH2lifitJ29jxRMoUhgkg9a+VA/B03WK5lcg==} + /@esbuild/sunos-x64@0.19.11: + resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] @@ -976,8 +1003,8 @@ packages: dev: true optional: true - /@esbuild/win32-arm64@0.19.5: - resolution: {integrity: sha512-dWVjD9y03ilhdRQ6Xig1NWNgfLtf2o/STKTS+eZuF90fI2BhbwD6WlaiCGKptlqXlURVB5AUOxUj09LuwKGDTg==} + /@esbuild/win32-arm64@0.19.11: + resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] @@ -994,8 +1021,8 @@ packages: dev: true optional: true - /@esbuild/win32-ia32@0.19.5: - resolution: {integrity: sha512-4liggWIA4oDgUxqpZwrDhmEfAH4d0iljanDOK7AnVU89T6CzHon/ony8C5LeOdfgx60x5cnQJFZwEydVlYx4iw==} + /@esbuild/win32-ia32@0.19.11: + resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] @@ -1012,8 +1039,8 @@ packages: dev: true optional: true - /@esbuild/win32-x64@0.19.5: - resolution: {integrity: sha512-czTrygUsB/jlM8qEW5MD8bgYU2Xg14lo6kBDXW6HdxKjh8M5PzETGiSHaz9MtbXBYDloHNUAUW2tMiKW4KM9Mw==} + /@esbuild/win32-x64@0.19.11: + resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} engines: {node: '>=12'} cpu: [x64] os: [win32] @@ -1021,67 +1048,10 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.3.0(eslint@8.51.0): - resolution: {integrity: sha512-v3oplH6FYCULtFuCeqyuTd9D2WKO937Dxdq+GmHOLL72TTRriLxz2VLlNfkZRsvj6PKnOPAtuT6dwrs/pA5DvA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.51.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.9.1: - resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - - /@eslint/eslintrc@2.1.2: - resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.20.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.51.0: - resolution: {integrity: sha512-HxjQ8Qn+4SI3/AFv6sOrDB+g6PpUTDwSJiQqOrnneEk8L71161srI9gjzzZvYVbzHiVg/BvcH95+cK/zfIt4pg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /@gar/promisify@1.1.3: resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} dev: true - /@humanwhocodes/config-array@0.11.11: - resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true - - /@humanwhocodes/object-schema@1.2.1: - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - dev: true - /@hutson/parse-repository-url@3.0.2: resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} engines: {node: '>=6.9.0'} @@ -1774,6 +1744,13 @@ packages: '@babel/types': 7.23.0 dev: true + /@types/babel__helper-module-imports@7.18.3: + resolution: {integrity: sha512-2pyr9Vlriessj2KI85SEF7qma8vA3vzquQMw3wn6kL5lsfjH/YxJ1Noytk4/FJElpYybUbyaC37CVfEgfyme9A==} + dependencies: + '@types/babel__core': 7.20.3 + '@types/babel__traverse': 7.20.3 + dev: true + /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: @@ -1926,14 +1903,6 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: true - /acorn-jsx@5.3.2(acorn@8.10.0): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.10.0 - dev: true - /acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} @@ -1977,15 +1946,6 @@ packages: indent-string: 4.0.0 dev: true - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - /ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -2494,7 +2454,7 @@ packages: engines: {node: '>=8'} dependencies: dot-prop: 5.3.0 - graceful-fs: 4.2.10 + graceful-fs: 4.2.11 make-dir: 3.1.0 unique-string: 2.0.0 write-file-atomic: 3.0.3 @@ -2670,10 +2630,6 @@ packages: type-detect: 4.0.8 dev: true - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - /defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: @@ -2731,13 +2687,6 @@ packages: path-type: 4.0.0 dev: true - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - /dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} @@ -2862,34 +2811,35 @@ packages: '@esbuild/win32-x64': 0.18.20 dev: true - /esbuild@0.19.5: - resolution: {integrity: sha512-bUxalY7b1g8vNhQKdB24QDmHeY4V4tw/s6Ak5z+jJX9laP5MoQseTOMemAr0gxssjNcH0MCViG8ONI2kksvfFQ==} + /esbuild@0.19.11: + resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==} engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: - '@esbuild/android-arm': 0.19.5 - '@esbuild/android-arm64': 0.19.5 - '@esbuild/android-x64': 0.19.5 - '@esbuild/darwin-arm64': 0.19.5 - '@esbuild/darwin-x64': 0.19.5 - '@esbuild/freebsd-arm64': 0.19.5 - '@esbuild/freebsd-x64': 0.19.5 - '@esbuild/linux-arm': 0.19.5 - '@esbuild/linux-arm64': 0.19.5 - '@esbuild/linux-ia32': 0.19.5 - '@esbuild/linux-loong64': 0.19.5 - '@esbuild/linux-mips64el': 0.19.5 - '@esbuild/linux-ppc64': 0.19.5 - '@esbuild/linux-riscv64': 0.19.5 - '@esbuild/linux-s390x': 0.19.5 - '@esbuild/linux-x64': 0.19.5 - '@esbuild/netbsd-x64': 0.19.5 - '@esbuild/openbsd-x64': 0.19.5 - '@esbuild/sunos-x64': 0.19.5 - '@esbuild/win32-arm64': 0.19.5 - '@esbuild/win32-ia32': 0.19.5 - '@esbuild/win32-x64': 0.19.5 + '@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 dev: true /escalade@3.1.1: @@ -2900,112 +2850,15 @@ packages: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /eslint@8.51.0: - resolution: {integrity: sha512-2WuxRZBrlwnXi+/vFSJyjMqrNjtJqiasMzehF0shoLaW7DzS3/9Yvrmq5JiT66+pNjiX4UBnLDiKHcWAr/OInA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.3.0(eslint@8.51.0) - '@eslint-community/regexpp': 4.9.1 - '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.51.0 - '@humanwhocodes/config-array': 0.11.11 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.20.0 - graphemer: 1.4.0 - ignore: 5.2.4 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 - json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.2 - natural-compare: 1.4.0 - optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.10.0 - acorn-jsx: 5.3.2(acorn@8.10.0) - eslint-visitor-keys: 3.4.3 - dev: true - /esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true dev: true - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - /estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true - /eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} dev: true @@ -3064,10 +2917,6 @@ packages: tmp: 0.0.33 dev: true - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true - /fast-glob@3.2.12: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} @@ -3079,14 +2928,6 @@ packages: micromatch: 4.0.5 dev: true - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - /fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: @@ -3100,13 +2941,6 @@ packages: escape-string-regexp: 1.0.5 dev: true - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.0.4 - dev: true - /filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} dependencies: @@ -3135,31 +2969,11 @@ packages: path-exists: 4.0.0 dev: true - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.2.7 - rimraf: 3.0.2 - dev: true - /flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true dev: true - /flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} - dev: true - /follow-redirects@1.15.2: resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} engines: {node: '>=4.0'} @@ -3349,13 +3163,6 @@ packages: is-glob: 4.0.3 dev: true - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - /glob@10.3.10: resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} engines: {node: '>=16 || 14 >=14.17'} @@ -3415,13 +3222,6 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - /globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -3434,18 +3234,10 @@ packages: slash: 3.0.0 dev: true - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - dev: true - /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: true - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true - /handlebars@4.7.7: resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} engines: {node: '>=0.4.7'} @@ -3743,11 +3535,6 @@ packages: engines: {node: '>=8'} dev: true - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - /is-plain-obj@1.1.0: resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} engines: {node: '>=0.10.0'} @@ -3898,14 +3685,6 @@ packages: engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - /json-stringify-safe@5.0.1: resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} dev: true @@ -4035,14 +3814,6 @@ packages: - supports-color dev: true - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - /libnpmaccess@7.0.2: resolution: {integrity: sha512-vHBVMw1JFMTgEk15zRsJuSAg7QtGGHpUSEfnbcRL1/gTBag9iEfJbyjpDmdJmwMhvpoLoNBtdAUCdGnaP32hhw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -4133,21 +3904,10 @@ packages: p-locate: 4.1.0 dev: true - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - /lodash.ismatch@4.4.0: resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} dev: true - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - /lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true @@ -4222,7 +3982,7 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} dependencies: - semver: 6.3.0 + semver: 6.3.1 dev: true /make-dir@4.0.0: @@ -4542,10 +4302,6 @@ packages: hasBin: true dev: true - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - /negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -4864,18 +4620,6 @@ packages: is-wsl: 2.2.0 dev: true - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - /ora@5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} @@ -4930,13 +4674,6 @@ packages: p-try: 2.2.0 dev: true - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: true - /p-limit@4.0.0: resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -4958,13 +4695,6 @@ packages: p-limit: 2.3.0 dev: true - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - dev: true - /p-map-series@2.1.0: resolution: {integrity: sha512-RpYIIK1zXSNEOdwxcfe7FdvGcs7+y5n8rifMhMNWvaxRNMPINJHF5GDeuVxWqnfrcHPSCnp7Oo5yNXHId9Av2Q==} engines: {node: '>=8'} @@ -5207,11 +4937,6 @@ packages: /preact@10.18.1: resolution: {integrity: sha512-mKUD7RRkQQM6s7Rkmi7IFkoEHjuFqRQUaXamO61E6Nn7vqF/bo7EZCmSyrUnp2UWHw0O7XjZ2eeXis+m7tf4lg==} - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - /pretty-bytes@6.1.1: resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} engines: {node: ^14.13.1 || >=16.0.0} @@ -5226,20 +4951,18 @@ packages: react-is: 18.2.0 dev: true - /pridepack@2.5.1(eslint@8.51.0)(tslib@2.6.2)(typescript@5.2.2): - resolution: {integrity: sha512-mDZ6VagGxqrf6ljjULRFWaw+VKhr15MulUXhfuH5blY2AfeXHd67iMtO4jsYOogB/eU6OGh5dGWzZMfbHBES2A==} + /pridepack@2.6.0(tslib@2.6.2)(typescript@5.2.2): + resolution: {integrity: sha512-K81TouT+M3zwzPvDi70/CFVtzADvGpn071zAMm419ULb29gZni21pJ24njDFm3O+lJn0txBl4x1dsFBLWqS4iQ==} engines: {node: '>=16'} hasBin: true peerDependencies: - eslint: ^8.0 tslib: ^2.0 typescript: ^5.0 dependencies: '@ovyerus/licenses': 6.4.4 degit: 2.8.4 dotenv: 16.3.1 - esbuild: 0.19.5 - eslint: 8.51.0 + esbuild: 0.19.11 execa: 8.0.1 license: 1.0.3 ora: 7.0.1 @@ -5300,11 +5023,6 @@ packages: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: true - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - dev: true - /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true @@ -5578,6 +5296,7 @@ packages: /semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true + dev: false /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} @@ -5861,11 +5580,6 @@ packages: min-indent: 1.0.1 dev: true - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true - /strip-literal@1.0.1: resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} dependencies: @@ -5945,10 +5659,6 @@ packages: engines: {node: '>=0.10'} dev: true - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - /through2@2.0.5: resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} dependencies: @@ -6032,13 +5742,6 @@ packages: - supports-color dev: true - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - /type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} @@ -6049,11 +5752,6 @@ packages: engines: {node: '>=10'} dev: true - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true - /type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} @@ -6176,12 +5874,6 @@ packages: escalade: 3.1.1 picocolors: 1.0.0 - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.0 - dev: true - /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true @@ -6580,11 +6272,6 @@ packages: yargs-parser: 21.1.1 dev: true - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true - /yocto-queue@1.0.0: resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} engines: {node: '>=12.20'}