From d30698cb38793758c96fabedfed7864c9c98dad0 Mon Sep 17 00:00:00 2001 From: Eric Fennis Date: Fri, 8 Nov 2024 16:00:23 +0100 Subject: [PATCH 01/23] ci(pull-request): Fix generate comments for empty changes (#2593) --- comment-markup.md | 0 scripts/generateChangedIconsCommentMarkup.mjs | 10 ++++++++++ 2 files changed, 10 insertions(+) create mode 100644 comment-markup.md diff --git a/comment-markup.md b/comment-markup.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/scripts/generateChangedIconsCommentMarkup.mjs b/scripts/generateChangedIconsCommentMarkup.mjs index 8d32dae94b..8b69fceff1 100644 --- a/scripts/generateChangedIconsCommentMarkup.mjs +++ b/scripts/generateChangedIconsCommentMarkup.mjs @@ -15,11 +15,21 @@ const BASE_URL = 'https://lucide.dev/api/gh-icon'; const changedFilesPathString = process.env.CHANGED_FILES; +if (changedFilesPathString == null) { + console.error('CHANGED_FILES env variable is not set'); + process.exit(1); +} + const changedFiles = changedFilesPathString .split(' ') .map((file) => file.replace('.json', '.svg')) .filter((file, idx, arr) => arr.indexOf(file) === idx); +if (changedFiles.length === 0) { + console.log('No changed icons found'); + process.exit(0); +} + const getImageTagsByFiles = (files, getBaseUrl, width) => files.map((file) => { const svgContent = fs.readFileSync(path.join(process.cwd(), file), 'utf-8'); From b1777430b90cc658b6b9a5b88b418da5b84d2366 Mon Sep 17 00:00:00 2001 From: Eric Fennis Date: Fri, 8 Nov 2024 16:47:53 +0100 Subject: [PATCH 02/23] feat(lucide-react, lucide-preact, lucide-react-native, lucide-solid, lucide-vue-next): Adjustable icon naming imports (#2328) * Add override alias import entry files lucide-react * Make it work * Setup files for packages * Revert icon changes * Remove solid support and add docs * Adjust docs * format files * Fix lucide-vue-next build * Fix builds * Fix lucide-svelte * Add vscode settings option --- .gitignore | 2 + docs/.vitepress/sidebar.ts | 4 + docs/guide/advanced/aliased-names.md | 93 +++ icons/grid-2x2-plus.json | 3 + package.json | 1 + packages/lucide-angular/package.json | 2 +- packages/lucide-angular/src/aliases/index.ts | 1 + packages/lucide-preact/rollup.config.mjs | 20 + packages/lucide-preact/src/aliases/index.ts | 3 + .../src/lucide-preact.prefixed.ts | 7 + .../src/lucide-preact.suffixed.ts | 7 + .../lucide-react-native/rollup.config.mjs | 20 + .../lucide-react-native/src/aliases/index.ts | 3 + .../src/lucide-react-native.prefixed.ts | 7 + .../src/lucide-react-native.suffixed.ts | 7 + packages/lucide-react/rollup.config.mjs | 20 + packages/lucide-react/src/aliases/index.ts | 3 + .../lucide-react/src/lucide-react.prefixed.ts | 6 + .../lucide-react/src/lucide-react.suffixed.ts | 6 + packages/lucide-solid/src/aliases/index.ts | 3 + packages/lucide-static/src/aliases/index.ts | 1 + packages/lucide-svelte/src/aliases/index.ts | 3 + packages/lucide-svelte/src/lucide-svelte.ts | 10 +- packages/lucide-vue-next/rollup.config.mjs | 32 + packages/lucide-vue-next/src/Icon.ts | 2 +- packages/lucide-vue-next/src/aliases/index.ts | 3 + .../src/lucide-vue-next.prefixed.ts | 6 + .../src/lucide-vue-next.suffixed.ts | 6 + packages/lucide-vue/src/aliases/index.ts | 1 + packages/lucide/src/aliases/index.ts | 1 + pnpm-lock.yaml | 760 +++++++++++++----- tools/build-icons/.swcrc | 32 + .../generateAliasesFiles.mjs} | 93 ++- .../building/aliases/getExportString.mjs | 15 + .../building/generateIconFiles.mjs | 2 +- tools/build-icons/cli.mjs | 6 +- tools/build-icons/package.json | 2 +- tools/build-icons/tsconfig.json | 17 + .../utils/deprecationReasonTemplate.mjs | 8 +- 39 files changed, 959 insertions(+), 259 deletions(-) create mode 100644 docs/guide/advanced/aliased-names.md create mode 100644 packages/lucide-angular/src/aliases/index.ts create mode 100644 packages/lucide-preact/src/aliases/index.ts create mode 100644 packages/lucide-preact/src/lucide-preact.prefixed.ts create mode 100644 packages/lucide-preact/src/lucide-preact.suffixed.ts create mode 100644 packages/lucide-react-native/src/aliases/index.ts create mode 100644 packages/lucide-react-native/src/lucide-react-native.prefixed.ts create mode 100644 packages/lucide-react-native/src/lucide-react-native.suffixed.ts create mode 100644 packages/lucide-react/src/aliases/index.ts create mode 100644 packages/lucide-react/src/lucide-react.prefixed.ts create mode 100644 packages/lucide-react/src/lucide-react.suffixed.ts create mode 100644 packages/lucide-solid/src/aliases/index.ts create mode 100644 packages/lucide-static/src/aliases/index.ts create mode 100644 packages/lucide-svelte/src/aliases/index.ts create mode 100644 packages/lucide-vue-next/src/aliases/index.ts create mode 100644 packages/lucide-vue-next/src/lucide-vue-next.prefixed.ts create mode 100644 packages/lucide-vue-next/src/lucide-vue-next.suffixed.ts create mode 100644 packages/lucide-vue/src/aliases/index.ts create mode 100644 packages/lucide/src/aliases/index.ts create mode 100644 tools/build-icons/.swcrc rename tools/build-icons/building/{generateAliasesFile.mjs => aliases/generateAliasesFiles.mjs} (53%) create mode 100644 tools/build-icons/building/aliases/getExportString.mjs create mode 100644 tools/build-icons/tsconfig.json diff --git a/.gitignore b/.gitignore index a8a38a8959..733b45c18c 100644 --- a/.gitignore +++ b/.gitignore @@ -16,7 +16,9 @@ outlined packages/**/src/icons/*.js packages/**/src/icons/*.ts packages/**/src/icons/*.tsx +packages/**/src/aliases/*.ts packages/**/src/aliases.ts +!packages/**/src/aliases/index.ts packages/**/src/dynamicIconImports.ts packages/**/dynamicIconImports.js packages/**/dynamicIconImports.d.ts diff --git a/docs/.vitepress/sidebar.ts b/docs/.vitepress/sidebar.ts index 59f337bc0e..5833648f07 100644 --- a/docs/.vitepress/sidebar.ts +++ b/docs/.vitepress/sidebar.ts @@ -46,6 +46,10 @@ const sidebar: UserConfig['themeConfig']['sidebar'] = { text: 'Filled icons', link: '/guide/advanced/filled-icons', }, + { + text: 'Aliased Names', + link: '/guide/advanced/aliased-names', + }, // { // text: 'Combining icons', // }, diff --git a/docs/guide/advanced/aliased-names.md b/docs/guide/advanced/aliased-names.md new file mode 100644 index 0000000000..148af8faf6 --- /dev/null +++ b/docs/guide/advanced/aliased-names.md @@ -0,0 +1,93 @@ +# Aliased Names + +Icons can have multiple names for the same icon. This is because we choose to rename some icons to make them more consistent with the rest of the icon set, or the name was not generic. For example, the `edit-2` icon is renamed to `pen` to make the name more generic, since it is just a pen icon. + +Beside aliases names lucide also includes prefixed and suffixed names to use within your project. This is to prevent import name collisions with other libraries or your own code. + +```tsx +// These are all the same icon +import { + Home, + HomeIcon, + LucideHome, +} from "lucide-react"; +``` + +## Choosing import name style + +To be consistent in your imports or want to change the autocompletion of Lucide icons in your IDE there an option to able the choose the import name style you want. + +This can be done by creating a custom module declaration file to override the lucide imports and turning off the autocomplete in your IDE. + +### Turn off autocomplete in your IDE + +```json [.vscode/settings.json] +{ + "typescript.preferences.autoImportFileExcludePatterns": [ + "lucide-react", // or + "lucide-preact", // or + "lucide-react-native", // or + "lucide-vue-next", + ] +} +``` + +### Create a custom module declaration file + +Only available for `lucide-react`, `lucide-preact`, `lucide-react-native`, `lucide-vue-next` package. +This will enable you to choose the import name style you want to use in your project. + +::: code-group + +```ts [React] +declare module "lucide-react" { + // Prefixed import names + export * from "lucide-react/dist/lucide-react.prefixed"; + // or + // Suffixed import names + export * from "lucide-react/dist/lucide-react.suffixed"; +} +``` + +```ts [Vue] +declare module "lucide-vue-next" { + // Prefixed import names + export * from "lucide-vue-next/dist/lucide-vue-next.prefixed"; + // or + // Suffixed import names + export * from "lucide-vue-next/dist/lucide-vue-next.suffixed"; +} +``` + +```ts [Preact] +declare module "lucide-preact" { + // Prefixed import names + export * from "lucide-preact/dist/lucide-preact.prefixed"; + // or + // Suffixed import names + export * from "lucide-preact/dist/lucide-preact.suffixed"; +} +``` + +```ts [React Native] +declare module "lucide-react-native" { + // Prefixed import names + export * from "lucide-react-native/dist/lucide-react-native.prefixed"; + // or + // Suffixed import names + export * from "lucide-react-native/dist/lucide-react-native.suffixed"; +} +``` + +::: + +Place this in your project root or in a folder where your tsconfig.json is located, or locate it in your defined type directory. +Easiest way is to create a `@types` folder in your project root and name the file `[package-name].d.ts`. + +### Import name styles + +| Import Style | Available imports | Declaration file import | +| ------------- | --------------------------- | ----------------------- | +| Default | Home, HomeIcon, LucideHome | | +| Prefixed | LucideHome | [package].prefixed | +| Suffixed | HomeIcon | [package].suffixed | diff --git a/icons/grid-2x2-plus.json b/icons/grid-2x2-plus.json index 71e9c8bdf5..c0fb6dddcf 100644 --- a/icons/grid-2x2-plus.json +++ b/icons/grid-2x2-plus.json @@ -29,5 +29,8 @@ "design", "shapes", "maths" + ], + "aliases": [ + "grid-2-x-2-plus" ] } diff --git a/package.json b/package.json index e098851118..154e540d56 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "postinstall": "husky install", "lint:es": "eslint .", "lint:format": "prettier \"**/*.{js,mjs,ts,jsx,tsx,html,css,scss,json,yml,yaml}\" --check", + "lint:format-fix": "prettier \"**/*.{js,mjs,ts,jsx,tsx,html,css,scss,json,yml,yaml}\" --write", "lint:json:icons": "ajv --spec=draft2020 -s icon.schema.json -d 'icons/*.json' > /dev/null", "lint:json:categories": "ajv --spec=draft2020 -s category.schema.json -d 'categories/*.json' > /dev/null", "lint:json": "pnpm run lint:json:icons && pnpm run lint:json:categories", diff --git a/packages/lucide-angular/package.json b/packages/lucide-angular/package.json index 7afdcb7803..565c5a6ebd 100644 --- a/packages/lucide-angular/package.json +++ b/packages/lucide-angular/package.json @@ -29,7 +29,7 @@ "build": "pnpm clean && pnpm copy:license && pnpm build:icons && pnpm build:ng", "copy:license": "cp ../../LICENSE ./LICENSE", "clean": "rm -rf dist && rm -rf ./src/icons/*.ts", - "build:icons": "build-icons --output=./src --templateSrc=./scripts/exportTemplate.mjs --renderUniqueKey --withAliases --aliasesFileExtension=.ts --iconFileExtension=.ts --exportFileName=lucide-icons.ts", + "build:icons": "build-icons --output=./src --templateSrc=./scripts/exportTemplate.mjs --renderUniqueKey --withAliases --aliasNamesOnly --aliasesFileExtension=.ts --iconFileExtension=.ts --exportFileName=lucide-icons.ts", "build:ng": "ng build --configuration production", "test": "ng test --no-watch --no-progress --browsers=ChromeHeadlessCI", "test:watch": "ng test", diff --git a/packages/lucide-angular/src/aliases/index.ts b/packages/lucide-angular/src/aliases/index.ts new file mode 100644 index 0000000000..26527c62ed --- /dev/null +++ b/packages/lucide-angular/src/aliases/index.ts @@ -0,0 +1 @@ +export * from './aliases'; diff --git a/packages/lucide-preact/rollup.config.mjs b/packages/lucide-preact/rollup.config.mjs index 2a6b6305fa..5675607053 100644 --- a/packages/lucide-preact/rollup.config.mjs +++ b/packages/lucide-preact/rollup.config.mjs @@ -69,5 +69,25 @@ export default [ ], plugins: [dts()], }, + { + input: `src/${outputFileName}.suffixed.ts`, + output: [ + { + file: `dist/${outputFileName}.suffixed.d.ts`, + format: 'es', + }, + ], + plugins: [dts()], + }, + { + input: `src/${outputFileName}.prefixed.ts`, + output: [ + { + file: `dist/${outputFileName}.prefixed.d.ts`, + format: 'es', + }, + ], + plugins: [dts()], + }, ...configs, ]; diff --git a/packages/lucide-preact/src/aliases/index.ts b/packages/lucide-preact/src/aliases/index.ts new file mode 100644 index 0000000000..bbe66d0a23 --- /dev/null +++ b/packages/lucide-preact/src/aliases/index.ts @@ -0,0 +1,3 @@ +export * from './aliases'; +export * from './prefixed'; +export * from './suffixed'; diff --git a/packages/lucide-preact/src/lucide-preact.prefixed.ts b/packages/lucide-preact/src/lucide-preact.prefixed.ts new file mode 100644 index 0000000000..408ad714b1 --- /dev/null +++ b/packages/lucide-preact/src/lucide-preact.prefixed.ts @@ -0,0 +1,7 @@ +export * from './icons'; +export * as icons from './icons'; +export * from './aliases/prefixed'; +export * from './types'; + +export { default as createLucideIcon } from './createLucideIcon'; +export { default as Icon } from './Icon'; diff --git a/packages/lucide-preact/src/lucide-preact.suffixed.ts b/packages/lucide-preact/src/lucide-preact.suffixed.ts new file mode 100644 index 0000000000..8993799d23 --- /dev/null +++ b/packages/lucide-preact/src/lucide-preact.suffixed.ts @@ -0,0 +1,7 @@ +export * from './icons'; +export * as icons from './icons'; +export * from './aliases/suffixed'; +export * from './types'; + +export { default as createLucideIcon } from './createLucideIcon'; +export { default as Icon } from './Icon'; diff --git a/packages/lucide-react-native/rollup.config.mjs b/packages/lucide-react-native/rollup.config.mjs index 5f786e0527..1474b3547f 100644 --- a/packages/lucide-react-native/rollup.config.mjs +++ b/packages/lucide-react-native/rollup.config.mjs @@ -60,5 +60,25 @@ export default [ ], plugins: [dts()], }, + { + input: `src/${outputFileName}.suffixed.ts`, + output: [ + { + file: `dist/${outputFileName}.suffixed.d.ts`, + format: 'es', + }, + ], + plugins: [dts()], + }, + { + input: `src/${outputFileName}.prefixed.ts`, + output: [ + { + file: `dist/${outputFileName}.prefixed.d.ts`, + format: 'es', + }, + ], + plugins: [dts()], + }, ...configs, ]; diff --git a/packages/lucide-react-native/src/aliases/index.ts b/packages/lucide-react-native/src/aliases/index.ts new file mode 100644 index 0000000000..bbe66d0a23 --- /dev/null +++ b/packages/lucide-react-native/src/aliases/index.ts @@ -0,0 +1,3 @@ +export * from './aliases'; +export * from './prefixed'; +export * from './suffixed'; diff --git a/packages/lucide-react-native/src/lucide-react-native.prefixed.ts b/packages/lucide-react-native/src/lucide-react-native.prefixed.ts new file mode 100644 index 0000000000..408ad714b1 --- /dev/null +++ b/packages/lucide-react-native/src/lucide-react-native.prefixed.ts @@ -0,0 +1,7 @@ +export * from './icons'; +export * as icons from './icons'; +export * from './aliases/prefixed'; +export * from './types'; + +export { default as createLucideIcon } from './createLucideIcon'; +export { default as Icon } from './Icon'; diff --git a/packages/lucide-react-native/src/lucide-react-native.suffixed.ts b/packages/lucide-react-native/src/lucide-react-native.suffixed.ts new file mode 100644 index 0000000000..8993799d23 --- /dev/null +++ b/packages/lucide-react-native/src/lucide-react-native.suffixed.ts @@ -0,0 +1,7 @@ +export * from './icons'; +export * as icons from './icons'; +export * from './aliases/suffixed'; +export * from './types'; + +export { default as createLucideIcon } from './createLucideIcon'; +export { default as Icon } from './Icon'; diff --git a/packages/lucide-react/rollup.config.mjs b/packages/lucide-react/rollup.config.mjs index c18c9571be..5f76f7e113 100644 --- a/packages/lucide-react/rollup.config.mjs +++ b/packages/lucide-react/rollup.config.mjs @@ -111,5 +111,25 @@ export default [ ], plugins: [dts()], }, + { + input: `src/${outputFileName}.suffixed.ts`, + output: [ + { + file: `dist/${outputFileName}.suffixed.d.ts`, + format: 'es', + }, + ], + plugins: [dts()], + }, + { + input: `src/${outputFileName}.prefixed.ts`, + output: [ + { + file: `dist/${outputFileName}.prefixed.d.ts`, + format: 'es', + }, + ], + plugins: [dts()], + }, ...configs, ]; diff --git a/packages/lucide-react/src/aliases/index.ts b/packages/lucide-react/src/aliases/index.ts new file mode 100644 index 0000000000..bbe66d0a23 --- /dev/null +++ b/packages/lucide-react/src/aliases/index.ts @@ -0,0 +1,3 @@ +export * from './aliases'; +export * from './prefixed'; +export * from './suffixed'; diff --git a/packages/lucide-react/src/lucide-react.prefixed.ts b/packages/lucide-react/src/lucide-react.prefixed.ts new file mode 100644 index 0000000000..a6eed90a35 --- /dev/null +++ b/packages/lucide-react/src/lucide-react.prefixed.ts @@ -0,0 +1,6 @@ +export * as icons from './icons'; +export * from './aliases/prefixed'; +export * from './types'; + +export { default as createLucideIcon } from './createLucideIcon'; +export { default as Icon } from './Icon'; diff --git a/packages/lucide-react/src/lucide-react.suffixed.ts b/packages/lucide-react/src/lucide-react.suffixed.ts new file mode 100644 index 0000000000..10d5d93d59 --- /dev/null +++ b/packages/lucide-react/src/lucide-react.suffixed.ts @@ -0,0 +1,6 @@ +export * as icons from './icons'; +export * from './aliases/suffixed'; +export * from './types'; + +export { default as createLucideIcon } from './createLucideIcon'; +export { default as Icon } from './Icon'; diff --git a/packages/lucide-solid/src/aliases/index.ts b/packages/lucide-solid/src/aliases/index.ts new file mode 100644 index 0000000000..bbe66d0a23 --- /dev/null +++ b/packages/lucide-solid/src/aliases/index.ts @@ -0,0 +1,3 @@ +export * from './aliases'; +export * from './prefixed'; +export * from './suffixed'; diff --git a/packages/lucide-static/src/aliases/index.ts b/packages/lucide-static/src/aliases/index.ts new file mode 100644 index 0000000000..26527c62ed --- /dev/null +++ b/packages/lucide-static/src/aliases/index.ts @@ -0,0 +1 @@ +export * from './aliases'; diff --git a/packages/lucide-svelte/src/aliases/index.ts b/packages/lucide-svelte/src/aliases/index.ts new file mode 100644 index 0000000000..bbe66d0a23 --- /dev/null +++ b/packages/lucide-svelte/src/aliases/index.ts @@ -0,0 +1,3 @@ +export * from './aliases'; +export * from './prefixed'; +export * from './suffixed'; diff --git a/packages/lucide-svelte/src/lucide-svelte.ts b/packages/lucide-svelte/src/lucide-svelte.ts index c1567a365b..d2a2ce4d04 100644 --- a/packages/lucide-svelte/src/lucide-svelte.ts +++ b/packages/lucide-svelte/src/lucide-svelte.ts @@ -1,6 +1,6 @@ -export * from './icons/index.js'; -export * as icons from './icons/index.js'; -export * from './aliases.js'; -export { default as defaultAttributes } from './defaultAttributes.js'; -export * from './types.js'; +export * from './icons/index'; +export * as icons from './icons/index'; +export * from './aliases'; +export { default as defaultAttributes } from './defaultAttributes'; +export * from './types'; export { default as Icon } from './Icon.svelte'; diff --git a/packages/lucide-vue-next/rollup.config.mjs b/packages/lucide-vue-next/rollup.config.mjs index 7326636ab8..56858b9351 100644 --- a/packages/lucide-vue-next/rollup.config.mjs +++ b/packages/lucide-vue-next/rollup.config.mjs @@ -75,5 +75,37 @@ export default [ }), ], }, + { + input: `src/${outputFileName}.suffixed.ts`, + output: [ + { + file: `dist/${outputFileName}.suffixed.d.ts`, + format: 'es', + }, + ], + plugins: [ + dts({ + compilerOptions: { + preserveSymlinks: false, + }, + }), + ], + }, + { + input: `src/${outputFileName}.prefixed.ts`, + output: [ + { + file: `dist/${outputFileName}.prefixed.d.ts`, + format: 'es', + }, + ], + plugins: [ + dts({ + compilerOptions: { + preserveSymlinks: false, + }, + }), + ], + }, ...configs, ]; diff --git a/packages/lucide-vue-next/src/Icon.ts b/packages/lucide-vue-next/src/Icon.ts index d37973b7b7..3b33bc1894 100644 --- a/packages/lucide-vue-next/src/Icon.ts +++ b/packages/lucide-vue-next/src/Icon.ts @@ -1,5 +1,5 @@ import { type FunctionalComponent, h } from 'vue'; -import { mergeClasses, toKebabCase } from '@lucide/shared'; +import { toKebabCase } from '@lucide/shared'; import defaultAttributes from './defaultAttributes'; import { IconNode, LucideProps } from './types'; diff --git a/packages/lucide-vue-next/src/aliases/index.ts b/packages/lucide-vue-next/src/aliases/index.ts new file mode 100644 index 0000000000..bbe66d0a23 --- /dev/null +++ b/packages/lucide-vue-next/src/aliases/index.ts @@ -0,0 +1,3 @@ +export * from './aliases'; +export * from './prefixed'; +export * from './suffixed'; diff --git a/packages/lucide-vue-next/src/lucide-vue-next.prefixed.ts b/packages/lucide-vue-next/src/lucide-vue-next.prefixed.ts new file mode 100644 index 0000000000..a6eed90a35 --- /dev/null +++ b/packages/lucide-vue-next/src/lucide-vue-next.prefixed.ts @@ -0,0 +1,6 @@ +export * as icons from './icons'; +export * from './aliases/prefixed'; +export * from './types'; + +export { default as createLucideIcon } from './createLucideIcon'; +export { default as Icon } from './Icon'; diff --git a/packages/lucide-vue-next/src/lucide-vue-next.suffixed.ts b/packages/lucide-vue-next/src/lucide-vue-next.suffixed.ts new file mode 100644 index 0000000000..10d5d93d59 --- /dev/null +++ b/packages/lucide-vue-next/src/lucide-vue-next.suffixed.ts @@ -0,0 +1,6 @@ +export * as icons from './icons'; +export * from './aliases/suffixed'; +export * from './types'; + +export { default as createLucideIcon } from './createLucideIcon'; +export { default as Icon } from './Icon'; diff --git a/packages/lucide-vue/src/aliases/index.ts b/packages/lucide-vue/src/aliases/index.ts new file mode 100644 index 0000000000..26527c62ed --- /dev/null +++ b/packages/lucide-vue/src/aliases/index.ts @@ -0,0 +1 @@ +export * from './aliases'; diff --git a/packages/lucide/src/aliases/index.ts b/packages/lucide/src/aliases/index.ts new file mode 100644 index 0000000000..26527c62ed --- /dev/null +++ b/packages/lucide/src/aliases/index.ts @@ -0,0 +1 @@ +export * from './aliases'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5a13b7e102..84a29d1c29 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -30,7 +30,7 @@ importers: version: 6.21.0(eslint@8.57.1)(typescript@5.3.3) ajv-cli: specifier: ^5.0.0 - version: 5.0.0(ts-node@10.9.2(@types/node@20.4.5)(typescript@5.3.3)) + version: 5.0.0(ts-node@10.9.2(@swc/core@1.7.23)(@types/node@20.4.5)(typescript@5.3.3)) eslint: specifier: ^8.57.1 version: 8.57.1 @@ -220,10 +220,10 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ~13.3.11 - version: 13.3.11(@angular/compiler-cli@13.3.12(@angular/compiler@13.3.12)(typescript@4.6.4))(@types/express@4.17.21)(chokidar@3.6.0)(karma@6.3.20)(ng-packagr@13.3.1(@angular/compiler-cli@13.3.12(@angular/compiler@13.3.12)(typescript@4.6.4))(@types/node@12.20.55)(tslib@2.6.3)(typescript@4.6.4))(typescript@4.6.4) + version: 13.3.11(@angular/compiler-cli@13.3.12(@angular/compiler@13.3.12)(typescript@4.6.4))(@swc/core@1.7.23)(@types/express@4.17.21)(chokidar@3.6.0)(karma@6.3.20)(ng-packagr@13.3.1(@angular/compiler-cli@13.3.12(@angular/compiler@13.3.12)(typescript@4.6.4))(@types/node@12.20.55)(tslib@2.6.3)(typescript@4.6.4))(typescript@4.6.4) '@angular-eslint/builder': specifier: ~13.0.0 - version: 13.0.1(eslint@8.57.0)(typescript@4.6.4) + version: 13.0.1(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23)(eslint@8.57.0)(typescript@4.6.4) '@angular-eslint/eslint-plugin': specifier: ~13.0.0 version: 13.0.1(eslint@8.57.0)(typescript@4.6.4) @@ -310,7 +310,7 @@ importers: version: 7.5.7 ts-node: specifier: ~10.9.1 - version: 10.9.2(@types/node@12.20.55)(typescript@4.6.4) + version: 10.9.2(@swc/core@1.7.23)(@types/node@12.20.55)(typescript@4.6.4) tslib: specifier: ^2.3.0 version: 2.6.3 @@ -1261,10 +1261,6 @@ packages: resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.24.8': - resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.25.9': resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} @@ -2540,6 +2536,15 @@ packages: search-insights: optional: true + '@emnapi/core@1.2.0': + resolution: {integrity: sha512-E7Vgw78I93we4ZWdYCb4DGAwRROGkMIXk7/y87UmANR+J6qsWusmC3gLt0H+O0KOt5e6O38U8oJamgbudrES/w==} + + '@emnapi/runtime@1.2.0': + resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} + + '@emnapi/wasi-threads@1.0.1': + resolution: {integrity: sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==} + '@esbuild/aix-ppc64@0.19.12': resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} engines: {node: '>=12'} @@ -3314,6 +3319,9 @@ packages: resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true + '@napi-rs/wasm-runtime@0.2.4': + resolution: {integrity: sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==} + '@netlify/functions@2.8.1': resolution: {integrity: sha512-+6wtYdoz0yE06dSa9XkP47tw5zm6g13QMeCwM3MmHx1vn8hzwFa51JtmfraprdkL7amvb7gaNM+OOhQU1h6T8A==} engines: {node: '>=14.0.0'} @@ -3523,6 +3531,61 @@ packages: '@open-draft/deferred-promise@2.2.0': resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==} + '@oxc-resolver/binding-darwin-arm64@1.11.0': + resolution: {integrity: sha512-jjhTgaTMhJ5lpE/OiqF5eX7Nhy5gPZBjZNqwmZstbHmqujfVs1MGiTEXHWgKUrcFdLnENWtuoIR3Kmdp3/vuqw==} + cpu: [arm64] + os: [darwin] + + '@oxc-resolver/binding-darwin-x64@1.11.0': + resolution: {integrity: sha512-w/svTRKnuRinojYAVsWRozVoPar7XUPlJhpfnsYlReRjls6A53/ziTzHfpmcKjdBrP/AXPcDVJDnM4pOSsvWvA==} + cpu: [x64] + os: [darwin] + + '@oxc-resolver/binding-freebsd-x64@1.11.0': + resolution: {integrity: sha512-thGp8g8maYUx7vYJqD0vSsuUO95vWNJwKS2AXchq212J5dQ0Dybq4gjt2O2N9iU+lxj1QzmIDXGw7q5HCagOiw==} + cpu: [x64] + os: [freebsd] + + '@oxc-resolver/binding-linux-arm-gnueabihf@1.11.0': + resolution: {integrity: sha512-8G99bs4cnwpJRjRK2cEJXiJVyLogzPJq4JgLlcMEKSGhdkoMV1Ia0dghLk9lAFog33U4lWIwKmPgqQzTO6JM8g==} + cpu: [arm] + os: [linux] + + '@oxc-resolver/binding-linux-arm64-gnu@1.11.0': + resolution: {integrity: sha512-hNcB/wbuCFbsspg4h9+Nz5gSL8PbRW7zG/eVvmEpzGhmVubzDFuNmlYtmaUaZ6b9jzOrrqTkYCt9t7Q2TDHnBA==} + cpu: [arm64] + os: [linux] + + '@oxc-resolver/binding-linux-arm64-musl@1.11.0': + resolution: {integrity: sha512-H9rjqCcNQT9aip1VLrtsiyj9So0DEKUoutMNu1oL9UuD3H5lWIaxhDlHTAFsobWeUHCnuaCbizhGb9wyLRHSuA==} + cpu: [arm64] + os: [linux] + + '@oxc-resolver/binding-linux-x64-gnu@1.11.0': + resolution: {integrity: sha512-6hdv/kmaGysK3/hUaGTYG07yX+nvk6hGoWombmOuc0vBnGLRtSjqvvgDBdAs9/iIcOSQI2YNUEiJvTyy6eb5GA==} + cpu: [x64] + os: [linux] + + '@oxc-resolver/binding-linux-x64-musl@1.11.0': + resolution: {integrity: sha512-AYUvI4VwQkBq0rcYI3Z7a9+BpllbllbxQCD30ZRgHghvqXvDECWfP8r98iynz7u0oKGO8ZPf15d/l9VrkRtiuQ==} + cpu: [x64] + os: [linux] + + '@oxc-resolver/binding-wasm32-wasi@1.11.0': + resolution: {integrity: sha512-vhXnOs34q8p7QhqQ04bIGy7ZzLEHBaBTsqh2wpAzSBCmjL7MmTpM8KWwXFPFB+Wj0P7/parjGDHzbZG20pEePg==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-resolver/binding-win32-arm64-msvc@1.11.0': + resolution: {integrity: sha512-5XMm8EELDkAVQoMGv4QKqi+SjWnhcU1aq5B9q59iqiXIBNAs72f0d3LAldLrqE2XomP2QweorpsoxuGuIk2Cnw==} + cpu: [arm64] + os: [win32] + + '@oxc-resolver/binding-win32-x64-msvc@1.11.0': + resolution: {integrity: sha512-rVKiZSTgao4SBWyqWvStxDhKmwbKEN/E8+H3CJzIP4FcsL7MQtWH2HT86bmoefkyRe1yO+m2/mG7j3TfADh/Fg==} + cpu: [x64] + os: [win32] + '@parcel/watcher-android-arm64@2.4.1': resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==} engines: {node: '>= 10.0.0'} @@ -4069,6 +4132,97 @@ packages: svelte: ^3.54.0 || ^4.0.0 vite: ^4.0.0 + '@swc-node/core@1.13.3': + resolution: {integrity: sha512-OGsvXIid2Go21kiNqeTIn79jcaX4l0G93X2rAnas4LFoDyA9wAwVK7xZdm+QsKoMn5Mus2yFLCc4OtX2dD/PWA==} + engines: {node: '>= 10'} + peerDependencies: + '@swc/core': '>= 1.4.13' + '@swc/types': '>= 0.1' + + '@swc-node/register@1.10.9': + resolution: {integrity: sha512-iXy2sjP0phPEpK2yivjRC3PAgoLaT4sjSk0LDWCTdcTBJmR4waEog0E6eJbvoOkLkOtWw37SB8vCkl/bbh4+8A==} + peerDependencies: + '@swc/core': '>= 1.4.13' + typescript: '>= 4.3' + + '@swc-node/sourcemap-support@0.5.1': + resolution: {integrity: sha512-JxIvIo/Hrpv0JCHSyRpetAdQ6lB27oFYhv0PKCNf1g2gUXOjpeR1exrXccRxLMuAV5WAmGFBwRnNOJqN38+qtg==} + + '@swc/core-darwin-arm64@1.7.23': + resolution: {integrity: sha512-yyOHPfti6yKlQulfVWMt7BVKst+SyEZYCWuQSGMn1KgmNCH/bYufRWfQXIhkGSj44ZkEepJmsJ8tDyIb4k5WyA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/core-darwin-x64@1.7.23': + resolution: {integrity: sha512-GzqHwQ0Y1VyjdI/bBKFX2GKm5HD3PIB6OhuAQtWZMTtEr2yIrlT0YK2T+XKh7oIg31JwxGBeQdBk3KTI7DARmQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/core-linux-arm-gnueabihf@1.7.23': + resolution: {integrity: sha512-qwX4gB41OS6/OZkHcpTqLFGsdmvoZyffnJIlgB/kZKwH3lfeJWzv6vx57zXtNpM/t7GoQEe0VZUVdmNjxSxBZw==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/core-linux-arm64-gnu@1.7.23': + resolution: {integrity: sha512-TsrbUZdMaUwzI7+g/8rHPLWbntMKYSu5Bn5IBSqVKPeyqaXxNnlIUnWXgXcUcRAc+T+Y8ADfr7EiFz9iz5DuSA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-arm64-musl@1.7.23': + resolution: {integrity: sha512-JEdtwdthazKq4PBz53KSubwwK8MvqODAihGSAzc8u3Unq4ojcvaS8b0CwLBeD+kTQ78HpxOXTt3DsFIxpgaCAA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-x64-gnu@1.7.23': + resolution: {integrity: sha512-V51gFPWaVAHbI1yg9ahsoya3aB4uawye3SZ5uQWgcP7wdCdiv60dw4F5nuPJf5Z1oXD3U/BslXuamv8Oh9vXqQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-linux-x64-musl@1.7.23': + resolution: {integrity: sha512-BBqQi4+UdeRqag3yM4IJjaHG4yc1o3l9ksENHToE0o/u2DT0FY5+K/DiYGZLC1JHbSFzNqRCYsa7DIzRtZ0A1A==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-win32-arm64-msvc@1.7.23': + resolution: {integrity: sha512-JPk6pvCKncL6bXG7p+NLZf8PWx4FakVvKNdwGeMrYunb+yk1IZf7qf9LJk8+GDGF5QviDXPs8opZrTrfsW80fA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/core-win32-ia32-msvc@1.7.23': + resolution: {integrity: sha512-2Whxi8d+bLQBzJcQ5qYPHlk02YYVGsMVav0fWk+FnX2z1QRREIu1L1xvrpi7gBpjXp6BIU40ya8GiKeekNT2bg==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/core-win32-x64-msvc@1.7.23': + resolution: {integrity: sha512-82fARk4/yJ40kwWKY/gdKDisPdtgJE9jgpl/vkNG3alyJxrCzuNM7+CtiKoYbXLeqM8GQTS3wlvCaJu9oQ8dag==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/core@1.7.23': + resolution: {integrity: sha512-VDNkpDvDlreGh2E3tlDj8B3piiuLhhQA/7rIVZpiLUvG1YpucAa6N7iDXA7Gc/+Hah8spaCg/qvEaBkCmcIYCQ==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '*' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/types@0.1.12': + resolution: {integrity: sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==} + '@tanstack/virtual-core@3.0.0': resolution: {integrity: sha512-SYXOBTjJb05rXa2vl55TTwO40A6wKu0R5i1qQwhJYNDIqaIGF7D0HsLw+pJAyi2OvntlEIVusx3xtbbgSUi6zg==} @@ -4176,6 +4330,9 @@ packages: '@tsconfig/svelte@5.0.0': resolution: {integrity: sha512-iu5BqFjU0+OcLTNQp7fHe6Bf6zdNeJ9IZjLZMqWLuGzVFm/xx+lm//Tf6koPyRmxo55/Snm6RRQ990n89cRKFw==} + '@tybys/wasm-util@0.9.0': + resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + '@types/aria-query@5.0.1': resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} @@ -9048,6 +9205,9 @@ packages: outvariant@1.4.0: resolution: {integrity: sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw==} + oxc-resolver@1.11.0: + resolution: {integrity: sha512-N3qMse2AM7uST8PaiUMXZkcACyGAMN073tomyvzHTICSzaOqKHvVS0IZ3vj/OqoE140QP4CyOiWmgC1Hw5Urmg==} + p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -10258,6 +10418,10 @@ packages: resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==} hasBin: true + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -11924,11 +12088,11 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-devkit/build-angular@13.3.11(@angular/compiler-cli@13.3.12(@angular/compiler@13.3.12)(typescript@4.6.4))(@types/express@4.17.21)(chokidar@3.6.0)(karma@6.3.20)(ng-packagr@13.3.1(@angular/compiler-cli@13.3.12(@angular/compiler@13.3.12)(typescript@4.6.4))(@types/node@12.20.55)(tslib@2.6.3)(typescript@4.6.4))(typescript@4.6.4)': + '@angular-devkit/build-angular@13.3.11(@angular/compiler-cli@13.3.12(@angular/compiler@13.3.12)(typescript@4.6.4))(@swc/core@1.7.23)(@types/express@4.17.21)(chokidar@3.6.0)(karma@6.3.20)(ng-packagr@13.3.1(@angular/compiler-cli@13.3.12(@angular/compiler@13.3.12)(typescript@4.6.4))(@types/node@12.20.55)(tslib@2.6.3)(typescript@4.6.4))(typescript@4.6.4)': dependencies: '@ampproject/remapping': 2.2.0 '@angular-devkit/architect': 0.1303.11(chokidar@3.6.0) - '@angular-devkit/build-webpack': 0.1303.11(chokidar@3.6.0)(webpack-dev-server@4.7.3(@types/express@4.17.21)(webpack@5.76.1))(webpack@5.76.1(esbuild@0.14.22)) + '@angular-devkit/build-webpack': 0.1303.11(chokidar@3.6.0)(webpack-dev-server@4.7.3(@types/express@4.17.21)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)))(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) '@angular-devkit/core': 13.3.11(chokidar@3.6.0) '@angular/compiler-cli': 13.3.12(@angular/compiler@13.3.12)(typescript@4.6.4) '@babel/core': 7.16.12 @@ -11941,17 +12105,17 @@ snapshots: '@babel/runtime': 7.16.7 '@babel/template': 7.16.7 '@discoveryjs/json-ext': 0.5.6 - '@ngtools/webpack': 13.3.11(@angular/compiler-cli@13.3.12(@angular/compiler@13.3.12)(typescript@4.6.4))(typescript@4.6.4)(webpack@5.76.1(esbuild@0.14.22)) + '@ngtools/webpack': 13.3.11(@angular/compiler-cli@13.3.12(@angular/compiler@13.3.12)(typescript@4.6.4))(typescript@4.6.4)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) ansi-colors: 4.1.1 - babel-loader: 8.2.5(@babel/core@7.16.12)(webpack@5.76.1(esbuild@0.14.22)) + babel-loader: 8.2.5(@babel/core@7.16.12)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) babel-plugin-istanbul: 6.1.1 browserslist: 4.23.3 cacache: 15.3.0 - circular-dependency-plugin: 5.2.2(webpack@5.76.1(esbuild@0.14.22)) - copy-webpack-plugin: 10.2.1(webpack@5.76.1(esbuild@0.14.22)) + circular-dependency-plugin: 5.2.2(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) + copy-webpack-plugin: 10.2.1(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) core-js: 3.20.3 critters: 0.0.16 - css-loader: 6.5.1(webpack@5.76.1(esbuild@0.14.22)) + css-loader: 6.5.1(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) esbuild-wasm: 0.14.22 glob: 7.2.0 https-proxy-agent: 5.0.0 @@ -11959,10 +12123,10 @@ snapshots: jsonc-parser: 3.0.0 karma-source-map-support: 1.4.0 less: 4.1.2 - less-loader: 10.2.0(less@4.1.2)(webpack@5.76.1(esbuild@0.14.22)) - license-webpack-plugin: 4.0.2(webpack@5.76.1(esbuild@0.14.22)) + less-loader: 10.2.0(less@4.1.2)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) + license-webpack-plugin: 4.0.2(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) loader-utils: 3.2.1 - mini-css-extract-plugin: 2.5.3(webpack@5.76.1(esbuild@0.14.22)) + mini-css-extract-plugin: 2.5.3(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) minimatch: 3.0.5 open: 8.4.0 ora: 5.4.1 @@ -11970,28 +12134,28 @@ snapshots: piscina: 3.2.0 postcss: 8.4.5 postcss-import: 14.0.2(postcss@8.4.5) - postcss-loader: 6.2.1(postcss@8.4.5)(webpack@5.76.1(esbuild@0.14.22)) + postcss-loader: 6.2.1(postcss@8.4.5)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) postcss-preset-env: 7.2.3(postcss@8.4.5) regenerator-runtime: 0.13.9 resolve-url-loader: 5.0.0 rxjs: 6.6.7 sass: 1.49.9 - sass-loader: 12.4.0(sass@1.49.9)(webpack@5.76.1(esbuild@0.14.22)) + sass-loader: 12.4.0(sass@1.49.9)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) semver: 7.3.5 - source-map-loader: 3.0.1(webpack@5.76.1(esbuild@0.14.22)) + source-map-loader: 3.0.1(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) source-map-support: 0.5.21 stylus: 0.56.0 - stylus-loader: 6.2.0(stylus@0.56.0)(webpack@5.76.1(esbuild@0.14.22)) + stylus-loader: 6.2.0(stylus@0.56.0)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) terser: 5.14.2 text-table: 0.2.0 tree-kill: 1.2.2 tslib: 2.3.1 typescript: 4.6.4 - webpack: 5.76.1(esbuild@0.14.22) - webpack-dev-middleware: 5.3.0(webpack@5.76.1) - webpack-dev-server: 4.7.3(@types/express@4.17.21)(webpack@5.76.1) + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) + webpack-dev-middleware: 5.3.0(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) + webpack-dev-server: 4.7.3(@types/express@4.17.21)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) webpack-merge: 5.8.0 - webpack-subresource-integrity: 5.1.0(webpack@5.76.1(esbuild@0.14.22)) + webpack-subresource-integrity: 5.1.0(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) optionalDependencies: esbuild: 0.14.22 karma: 6.3.20 @@ -12011,12 +12175,12 @@ snapshots: - utf-8-validate - webpack-cli - '@angular-devkit/build-webpack@0.1303.11(chokidar@3.6.0)(webpack-dev-server@4.7.3(@types/express@4.17.21)(webpack@5.76.1))(webpack@5.76.1(esbuild@0.14.22))': + '@angular-devkit/build-webpack@0.1303.11(chokidar@3.6.0)(webpack-dev-server@4.7.3(@types/express@4.17.21)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)))(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22))': dependencies: '@angular-devkit/architect': 0.1303.11(chokidar@3.6.0) rxjs: 6.6.7 - webpack: 5.76.1(esbuild@0.14.22) - webpack-dev-server: 4.7.3(@types/express@4.17.21)(webpack@5.76.1) + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) + webpack-dev-server: 4.7.3(@types/express@4.17.21)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) transitivePeerDependencies: - chokidar @@ -12041,9 +12205,9 @@ snapshots: transitivePeerDependencies: - chokidar - '@angular-eslint/builder@13.0.1(eslint@8.57.0)(typescript@4.6.4)': + '@angular-eslint/builder@13.0.1(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23)(eslint@8.57.0)(typescript@4.6.4)': dependencies: - '@nrwl/devkit': 13.1.3 + '@nrwl/devkit': 13.1.3(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23) eslint: 8.57.0 typescript: 4.6.4 transitivePeerDependencies: @@ -12281,7 +12445,7 @@ snapshots: '@babel/generator@7.25.5': dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.26.0 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 @@ -12300,7 +12464,7 @@ snapshots: '@babel/helper-annotate-as-pure@7.22.5': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.26.0 '@babel/helper-annotate-as-pure@7.24.7': dependencies: @@ -12312,7 +12476,7 @@ snapshots: '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15': dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.26.0 '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': dependencies: @@ -12456,7 +12620,7 @@ snapshots: dependencies: '@babel/core': 7.16.12 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 debug: 4.3.7 lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -12468,7 +12632,7 @@ snapshots: dependencies: '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.25.9 debug: 4.3.7 lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -12479,7 +12643,7 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.25.9 debug: 4.3.7 lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -12501,12 +12665,12 @@ snapshots: '@babel/helper-function-name@7.23.0': dependencies: - '@babel/template': 7.23.9 - '@babel/types': 7.23.9 + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 '@babel/helper-hoist-variables@7.22.5': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.26.0 '@babel/helper-member-expression-to-functions@7.23.0': dependencies: @@ -12528,7 +12692,7 @@ snapshots: '@babel/helper-module-imports@7.18.6': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.26.0 '@babel/helper-module-imports@7.22.15': dependencies: @@ -12537,7 +12701,7 @@ snapshots: '@babel/helper-module-imports@7.24.7': dependencies: '@babel/traverse': 7.25.4 - '@babel/types': 7.25.4 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color @@ -12571,7 +12735,7 @@ snapshots: '@babel/core': 7.16.12 '@babel/helper-module-imports': 7.24.7 '@babel/helper-simple-access': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-validator-identifier': 7.25.9 '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color @@ -12581,7 +12745,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.24.7 '@babel/helper-simple-access': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-validator-identifier': 7.25.9 '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color @@ -12688,7 +12852,7 @@ snapshots: '@babel/helper-simple-access@7.22.5': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.26.0 '@babel/helper-simple-access@7.24.7': dependencies: @@ -12699,7 +12863,7 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers@7.22.5': dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.26.0 '@babel/helper-skip-transparent-expression-wrappers@7.24.7': dependencies: @@ -12717,12 +12881,10 @@ snapshots: '@babel/helper-split-export-declaration@7.22.6': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.26.0 '@babel/helper-string-parser@7.23.4': {} - '@babel/helper-string-parser@7.24.8': {} - '@babel/helper-string-parser@7.25.9': {} '@babel/helper-validator-identifier@7.24.7': {} @@ -12765,12 +12927,12 @@ snapshots: '@babel/helpers@7.25.0': dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.4 + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 '@babel/highlight@7.23.4': dependencies: - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-validator-identifier': 7.25.9 chalk: 2.4.2 js-tokens: 4.0.0 @@ -12787,7 +12949,7 @@ snapshots: '@babel/parser@7.25.4': dependencies: - '@babel/types': 7.25.4 + '@babel/types': 7.26.0 '@babel/parser@7.26.1': dependencies: @@ -12806,7 +12968,7 @@ snapshots: '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.9)': dependencies: @@ -12825,7 +12987,7 @@ snapshots: '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.16.12) transitivePeerDependencies: @@ -12856,7 +13018,7 @@ snapshots: dependencies: '@babel/core': 7.16.12 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.16.12) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 transitivePeerDependencies: - supports-color @@ -12864,7 +13026,7 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 transitivePeerDependencies: - supports-color @@ -12872,7 +13034,7 @@ snapshots: dependencies: '@babel/core': 7.16.12 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.16.12) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.16.12) transitivePeerDependencies: - supports-color @@ -12880,7 +13042,7 @@ snapshots: '@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.16.12) '@babel/plugin-proposal-export-default-from@7.25.9(@babel/core@7.25.2)': @@ -12891,37 +13053,37 @@ snapshots: '@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.16.12) '@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.16.12) '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.16.12) '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.16.12) '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.16.12) '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.16.12)': @@ -12929,20 +13091,20 @@ snapshots: '@babel/compat-data': 7.25.4 '@babel/core': 7.16.12 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.16.12) '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.16.12) '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.16.12) '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.16.12) transitivePeerDependencies: @@ -12951,7 +13113,7 @@ snapshots: '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) transitivePeerDependencies: @@ -12961,7 +13123,7 @@ snapshots: dependencies: '@babel/core': 7.16.12 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.16.12) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 transitivePeerDependencies: - supports-color @@ -12978,7 +13140,7 @@ snapshots: '@babel/core': 7.16.12 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.16.12) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.16.12) transitivePeerDependencies: - supports-color @@ -12987,7 +13149,7 @@ snapshots: dependencies: '@babel/core': 7.16.12 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.16.12) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.16.12)': dependencies: @@ -13007,7 +13169,7 @@ snapshots: '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.16.12)': dependencies: @@ -13077,7 +13239,7 @@ snapshots: '@babel/plugin-syntax-flow@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-flow@7.26.0(@babel/core@7.25.2)': dependencies: @@ -13272,12 +13434,12 @@ snapshots: '@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.25.2)': dependencies: @@ -13309,12 +13471,12 @@ snapshots: '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.23.9)': dependencies: @@ -13368,7 +13530,7 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -13386,7 +13548,7 @@ snapshots: '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.9)': dependencies: @@ -13401,12 +13563,12 @@ snapshots: '@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.9)': dependencies: @@ -13471,7 +13633,7 @@ snapshots: '@babel/core': 7.16.12 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.16.12) '@babel/traverse': 7.25.4 globals: 11.12.0 @@ -13483,7 +13645,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) '@babel/traverse': 7.25.4 globals: 11.12.0 @@ -13505,14 +13667,14 @@ snapshots: '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/template': 7.25.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/template': 7.25.9 '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/template': 7.25.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/template': 7.25.9 '@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.9)': dependencies: @@ -13527,12 +13689,12 @@ snapshots: '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.9)': dependencies: @@ -13550,7 +13712,7 @@ snapshots: dependencies: '@babel/core': 7.16.12 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.16.12) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.9)': dependencies: @@ -13565,7 +13727,7 @@ snapshots: '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.9)': dependencies: @@ -13595,7 +13757,7 @@ snapshots: dependencies: '@babel/core': 7.16.12 '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 transitivePeerDependencies: - supports-color @@ -13614,7 +13776,7 @@ snapshots: '@babel/plugin-transform-flow-strip-types@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.25.2) '@babel/plugin-transform-flow-strip-types@7.25.9(@babel/core@7.25.2)': @@ -13638,7 +13800,7 @@ snapshots: '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color @@ -13646,7 +13808,7 @@ snapshots: '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color @@ -13669,7 +13831,7 @@ snapshots: dependencies: '@babel/core': 7.16.12 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color @@ -13678,7 +13840,7 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color @@ -13708,12 +13870,12 @@ snapshots: '@babel/plugin-transform-literals@7.25.2(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-literals@7.25.2(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.9)': dependencies: @@ -13745,7 +13907,7 @@ snapshots: '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.9)': dependencies: @@ -13763,7 +13925,7 @@ snapshots: dependencies: '@babel/core': 7.16.12 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.16.12) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 transitivePeerDependencies: - supports-color @@ -13785,7 +13947,7 @@ snapshots: dependencies: '@babel/core': 7.16.12 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.16.12) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color @@ -13794,7 +13956,7 @@ snapshots: dependencies: '@babel/core': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color @@ -13819,8 +13981,8 @@ snapshots: dependencies: '@babel/core': 7.16.12 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.16.12) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color @@ -13841,7 +14003,7 @@ snapshots: dependencies: '@babel/core': 7.16.12 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.16.12) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 transitivePeerDependencies: - supports-color @@ -13861,13 +14023,13 @@ snapshots: dependencies: '@babel/core': 7.16.12 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.16.12) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.9)': dependencies: @@ -13882,7 +14044,7 @@ snapshots: '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.9)': dependencies: @@ -13958,7 +14120,7 @@ snapshots: '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.16.12) transitivePeerDependencies: - supports-color @@ -13997,7 +14159,7 @@ snapshots: '@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.16.12) transitivePeerDependencies: @@ -14006,7 +14168,7 @@ snapshots: '@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) transitivePeerDependencies: @@ -14025,12 +14187,12 @@ snapshots: '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-parameters@7.25.9(@babel/core@7.25.2)': dependencies: @@ -14095,7 +14257,7 @@ snapshots: '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-react-display-name@7.25.9(@babel/core@7.25.2)': dependencies: @@ -14134,9 +14296,9 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.25.2) - '@babel/types': 7.25.4 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color @@ -14175,13 +14337,13 @@ snapshots: '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 regenerator-transform: 0.15.2 '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 regenerator-transform: 0.15.2 '@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.9)': @@ -14197,7 +14359,7 @@ snapshots: '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-runtime@7.16.10(@babel/core@7.16.12)': dependencies: @@ -14236,12 +14398,12 @@ snapshots: '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.9)': dependencies: @@ -14258,7 +14420,7 @@ snapshots: '@babel/plugin-transform-spread@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color @@ -14266,7 +14428,7 @@ snapshots: '@babel/plugin-transform-spread@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color @@ -14284,12 +14446,12 @@ snapshots: '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.9)': dependencies: @@ -14304,7 +14466,7 @@ snapshots: '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.9)': dependencies: @@ -14319,7 +14481,7 @@ snapshots: '@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.9)': dependencies: @@ -14361,7 +14523,7 @@ snapshots: '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.9)': dependencies: @@ -14391,13 +14553,13 @@ snapshots: dependencies: '@babel/core': 7.16.12 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.16.12) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.9)': dependencies: @@ -14666,17 +14828,17 @@ snapshots: '@babel/preset-flow@7.22.5(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/helper-validator-option': 7.24.8 '@babel/plugin-transform-flow-strip-types': 7.22.5(@babel/core@7.25.2) '@babel/preset-modules@0.1.6(@babel/core@7.16.12)': dependencies: '@babel/core': 7.16.12 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.25.9 '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.16.12) '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.16.12) - '@babel/types': 7.25.4 + '@babel/types': 7.26.0 esutils: 2.0.3 '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.9)': @@ -14761,9 +14923,9 @@ snapshots: '@babel/template@7.25.0': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.4 - '@babel/types': 7.25.4 + '@babel/code-frame': 7.26.0 + '@babel/parser': 7.26.1 + '@babel/types': 7.26.0 '@babel/template@7.25.9': dependencies: @@ -14788,11 +14950,11 @@ snapshots: '@babel/traverse@7.25.4': dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.26.0 '@babel/generator': 7.25.5 - '@babel/parser': 7.25.4 - '@babel/template': 7.25.0 - '@babel/types': 7.25.4 + '@babel/parser': 7.26.1 + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 debug: 4.3.7 globals: 11.12.0 transitivePeerDependencies: @@ -14818,8 +14980,8 @@ snapshots: '@babel/types@7.25.4': dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 to-fast-properties: 2.0.0 '@babel/types@7.26.0': @@ -15031,6 +15193,22 @@ snapshots: transitivePeerDependencies: - '@algolia/client-search' + '@emnapi/core@1.2.0': + dependencies: + '@emnapi/wasi-threads': 1.0.1 + tslib: 2.6.3 + optional: true + + '@emnapi/runtime@1.2.0': + dependencies: + tslib: 2.6.3 + optional: true + + '@emnapi/wasi-threads@1.0.1': + dependencies: + tslib: 2.6.3 + optional: true + '@esbuild/aix-ppc64@0.19.12': optional: true @@ -15713,6 +15891,13 @@ snapshots: - encoding - supports-color + '@napi-rs/wasm-runtime@0.2.4': + dependencies: + '@emnapi/core': 1.2.0 + '@emnapi/runtime': 1.2.0 + '@tybys/wasm-util': 0.9.0 + optional: true + '@netlify/functions@2.8.1': dependencies: '@netlify/serverless-functions-api': 1.19.1 @@ -15724,11 +15909,11 @@ snapshots: '@netlify/node-cookies': 0.1.0 urlpattern-polyfill: 8.0.2 - '@ngtools/webpack@13.3.11(@angular/compiler-cli@13.3.12(@angular/compiler@13.3.12)(typescript@4.6.4))(typescript@4.6.4)(webpack@5.76.1(esbuild@0.14.22))': + '@ngtools/webpack@13.3.11(@angular/compiler-cli@13.3.12(@angular/compiler@13.3.12)(typescript@4.6.4))(typescript@4.6.4)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22))': dependencies: '@angular/compiler-cli': 13.3.12(@angular/compiler@13.3.12)(typescript@4.6.4) typescript: 4.6.4 - webpack: 5.76.1(esbuild@0.14.22) + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) '@nodelib/fs.scandir@2.1.5': dependencies: @@ -15812,17 +15997,17 @@ snapshots: - bluebird - supports-color - '@nrwl/cli@15.9.3': + '@nrwl/cli@15.9.3(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23)': dependencies: - nx: 15.9.3 + nx: 15.9.3(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23) transitivePeerDependencies: - '@swc-node/register' - '@swc/core' - debug - '@nrwl/devkit@13.1.3': + '@nrwl/devkit@13.1.3(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23)': dependencies: - '@nrwl/tao': 13.1.3 + '@nrwl/tao': 13.1.3(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23) ejs: 3.1.10 ignore: 5.3.2 rxjs: 6.6.7 @@ -15860,13 +16045,13 @@ snapshots: '@nrwl/nx-win32-x64-msvc@15.9.3': optional: true - '@nrwl/tao@13.1.3': + '@nrwl/tao@13.1.3(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23)': dependencies: chalk: 4.1.0 enquirer: 2.3.6 fs-extra: 9.1.0 jsonc-parser: 3.0.0 - nx: 13.1.3 + nx: 13.1.3(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23) rxjs: 6.6.7 rxjs-for-await: 0.0.2(rxjs@6.6.7) semver: 7.3.4 @@ -15878,9 +16063,9 @@ snapshots: - '@swc/core' - debug - '@nrwl/tao@15.9.3': + '@nrwl/tao@15.9.3(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23)': dependencies: - nx: 15.9.3 + nx: 15.9.3(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23) transitivePeerDependencies: - '@swc-node/register' - '@swc/core' @@ -15971,6 +16156,41 @@ snapshots: '@open-draft/deferred-promise@2.2.0': {} + '@oxc-resolver/binding-darwin-arm64@1.11.0': + optional: true + + '@oxc-resolver/binding-darwin-x64@1.11.0': + optional: true + + '@oxc-resolver/binding-freebsd-x64@1.11.0': + optional: true + + '@oxc-resolver/binding-linux-arm-gnueabihf@1.11.0': + optional: true + + '@oxc-resolver/binding-linux-arm64-gnu@1.11.0': + optional: true + + '@oxc-resolver/binding-linux-arm64-musl@1.11.0': + optional: true + + '@oxc-resolver/binding-linux-x64-gnu@1.11.0': + optional: true + + '@oxc-resolver/binding-linux-x64-musl@1.11.0': + optional: true + + '@oxc-resolver/binding-wasm32-wasi@1.11.0': + dependencies: + '@napi-rs/wasm-runtime': 0.2.4 + optional: true + + '@oxc-resolver/binding-win32-arm64-msvc@1.11.0': + optional: true + + '@oxc-resolver/binding-win32-x64-msvc@1.11.0': + optional: true + '@parcel/watcher-android-arm64@2.4.1': optional: true @@ -16561,6 +16781,89 @@ snapshots: transitivePeerDependencies: - supports-color + '@swc-node/core@1.13.3(@swc/core@1.7.23)(@swc/types@0.1.12)': + dependencies: + '@swc/core': 1.7.23 + '@swc/types': 0.1.12 + optional: true + + '@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4)': + dependencies: + '@swc-node/core': 1.13.3(@swc/core@1.7.23)(@swc/types@0.1.12) + '@swc-node/sourcemap-support': 0.5.1 + '@swc/core': 1.7.23 + colorette: 2.0.20 + debug: 4.3.6 + oxc-resolver: 1.11.0 + pirates: 4.0.6 + tslib: 2.6.3 + typescript: 4.6.4 + transitivePeerDependencies: + - '@swc/types' + - supports-color + optional: true + + '@swc-node/sourcemap-support@0.5.1': + dependencies: + source-map-support: 0.5.21 + tslib: 2.6.3 + optional: true + + '@swc/core-darwin-arm64@1.7.23': + optional: true + + '@swc/core-darwin-x64@1.7.23': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.7.23': + optional: true + + '@swc/core-linux-arm64-gnu@1.7.23': + optional: true + + '@swc/core-linux-arm64-musl@1.7.23': + optional: true + + '@swc/core-linux-x64-gnu@1.7.23': + optional: true + + '@swc/core-linux-x64-musl@1.7.23': + optional: true + + '@swc/core-win32-arm64-msvc@1.7.23': + optional: true + + '@swc/core-win32-ia32-msvc@1.7.23': + optional: true + + '@swc/core-win32-x64-msvc@1.7.23': + optional: true + + '@swc/core@1.7.23': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.12 + optionalDependencies: + '@swc/core-darwin-arm64': 1.7.23 + '@swc/core-darwin-x64': 1.7.23 + '@swc/core-linux-arm-gnueabihf': 1.7.23 + '@swc/core-linux-arm64-gnu': 1.7.23 + '@swc/core-linux-arm64-musl': 1.7.23 + '@swc/core-linux-x64-gnu': 1.7.23 + '@swc/core-linux-x64-musl': 1.7.23 + '@swc/core-win32-arm64-msvc': 1.7.23 + '@swc/core-win32-ia32-msvc': 1.7.23 + '@swc/core-win32-x64-msvc': 1.7.23 + optional: true + + '@swc/counter@0.1.3': + optional: true + + '@swc/types@0.1.12': + dependencies: + '@swc/counter': 0.1.3 + optional: true + '@tanstack/virtual-core@3.0.0': {} '@tanstack/vue-virtual@3.0.4(vue@3.4.18(typescript@5.3.3))': @@ -16693,6 +16996,11 @@ snapshots: '@tsconfig/svelte@5.0.0': {} + '@tybys/wasm-util@0.9.0': + dependencies: + tslib: 2.6.3 + optional: true + '@types/aria-query@5.0.1': {} '@types/babel__core@7.20.5': @@ -16705,16 +17013,16 @@ snapshots: '@types/babel__generator@7.6.4': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.26.0 '@types/babel__template@7.4.1': dependencies: - '@babel/parser': 7.23.9 - '@babel/types': 7.23.9 + '@babel/parser': 7.26.1 + '@babel/types': 7.26.0 '@types/babel__traverse@7.20.1': dependencies: - '@babel/types': 7.23.9 + '@babel/types': 7.26.0 '@types/body-parser@1.19.5': dependencies: @@ -17317,7 +17625,7 @@ snapshots: '@vue/compiler-core@3.4.18': dependencies: - '@babel/parser': 7.25.4 + '@babel/parser': 7.26.1 '@vue/shared': 3.4.18 entities: 4.5.0 estree-walker: 2.0.2 @@ -17386,7 +17694,7 @@ snapshots: '@vue/compiler-sfc@3.4.38': dependencies: - '@babel/parser': 7.25.4 + '@babel/parser': 7.26.1 '@vue/compiler-core': 3.4.38 '@vue/compiler-dom': 3.4.38 '@vue/compiler-ssr': 3.4.38 @@ -17754,7 +18062,7 @@ snapshots: clean-stack: 2.2.0 indent-string: 4.0.0 - ajv-cli@5.0.0(ts-node@10.9.2(@types/node@20.4.5)(typescript@5.3.3)): + ajv-cli@5.0.0(ts-node@10.9.2(@swc/core@1.7.23)(@types/node@20.4.5)(typescript@5.3.3)): dependencies: ajv: 8.17.1 fast-json-patch: 2.2.1 @@ -17764,7 +18072,7 @@ snapshots: json5: 2.2.3 minimist: 1.2.8 optionalDependencies: - ts-node: 10.9.2(@types/node@20.4.5)(typescript@5.3.3) + ts-node: 10.9.2(@swc/core@1.7.23)(@types/node@20.4.5)(typescript@5.3.3) ajv-formats@2.1.1(ajv@8.17.1): optionalDependencies: @@ -18077,14 +18385,14 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@8.2.5(@babel/core@7.16.12)(webpack@5.76.1(esbuild@0.14.22)): + babel-loader@8.2.5(@babel/core@7.16.12)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)): dependencies: '@babel/core': 7.16.12 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.76.1(esbuild@0.14.22) + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) babel-plugin-istanbul@6.1.1: dependencies: @@ -18616,9 +18924,9 @@ snapshots: ci-info@3.8.0: {} - circular-dependency-plugin@5.2.2(webpack@5.76.1(esbuild@0.14.22)): + circular-dependency-plugin@5.2.2(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)): dependencies: - webpack: 5.76.1(esbuild@0.14.22) + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) citty@0.1.6: dependencies: @@ -18817,7 +19125,7 @@ snapshots: dependencies: is-what: 4.1.15 - copy-webpack-plugin@10.2.1(webpack@5.76.1(esbuild@0.14.22)): + copy-webpack-plugin@10.2.1(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)): dependencies: fast-glob: 3.3.2 glob-parent: 6.0.2 @@ -18825,7 +19133,7 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.76.1(esbuild@0.14.22) + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) core-js-compat@3.32.0: dependencies: @@ -18913,7 +19221,7 @@ snapshots: postcss: 8.4.5 postcss-selector-parser: 6.1.2 - css-loader@6.5.1(webpack@5.76.1(esbuild@0.14.22)): + css-loader@6.5.1(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)): dependencies: icss-utils: 5.1.0(postcss@8.4.41) postcss: 8.4.41 @@ -18922,8 +19230,8 @@ snapshots: postcss-modules-scope: 3.2.0(postcss@8.4.41) postcss-modules-values: 4.0.0(postcss@8.4.41) postcss-value-parser: 4.2.0 - semver: 7.3.5 - webpack: 5.76.1(esbuild@0.14.22) + semver: 7.6.3 + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) css-prefers-color-scheme@6.0.3(postcss@8.4.41): dependencies: @@ -21158,7 +21466,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.25.2 - '@babel/parser': 7.25.4 + '@babel/parser': 7.26.1 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -21335,7 +21643,7 @@ snapshots: jscodeshift@0.14.0(@babel/preset-env@7.23.9(@babel/core@7.25.2)): dependencies: '@babel/core': 7.25.2 - '@babel/parser': 7.25.4 + '@babel/parser': 7.26.1 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.25.2) '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.25.2) '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.25.2) @@ -21534,11 +21842,11 @@ snapshots: dependencies: readable-stream: 2.3.8 - less-loader@10.2.0(less@4.1.2)(webpack@5.76.1(esbuild@0.14.22)): + less-loader@10.2.0(less@4.1.2)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)): dependencies: klona: 2.0.6 less: 4.1.2 - webpack: 5.76.1(esbuild@0.14.22) + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) less@4.1.2: dependencies: @@ -21577,11 +21885,11 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - license-webpack-plugin@4.0.2(webpack@5.76.1(esbuild@0.14.22)): + license-webpack-plugin@4.0.2(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)): dependencies: webpack-sources: 3.2.3 optionalDependencies: - webpack: 5.76.1(esbuild@0.14.22) + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) lie@3.3.0: dependencies: @@ -22050,13 +22358,13 @@ snapshots: metro@0.81.0: dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.26.0 '@babel/core': 7.25.2 '@babel/generator': 7.25.5 - '@babel/parser': 7.25.4 - '@babel/template': 7.25.0 + '@babel/parser': 7.26.1 + '@babel/template': 7.25.9 '@babel/traverse': 7.25.4 - '@babel/types': 7.25.4 + '@babel/types': 7.26.0 accepts: 1.3.8 chalk: 4.1.2 ci-info: 2.0.0 @@ -22152,10 +22460,10 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.5.3(webpack@5.76.1(esbuild@0.14.22)): + mini-css-extract-plugin@2.5.3(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)): dependencies: schema-utils: 4.2.0 - webpack: 5.76.1(esbuild@0.14.22) + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) minimalistic-assert@1.0.1: {} @@ -22631,18 +22939,18 @@ snapshots: nwsapi@2.2.7: {} - nx@13.1.3: + nx@13.1.3(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23): dependencies: - '@nrwl/cli': 15.9.3 + '@nrwl/cli': 15.9.3(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23) transitivePeerDependencies: - '@swc-node/register' - '@swc/core' - debug - nx@15.9.3: + nx@15.9.3(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23): dependencies: - '@nrwl/cli': 15.9.3 - '@nrwl/tao': 15.9.3 + '@nrwl/cli': 15.9.3(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23) + '@nrwl/tao': 15.9.3(@swc-node/register@1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4))(@swc/core@1.7.23) '@parcel/watcher': 2.0.4 '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.2 @@ -22686,6 +22994,8 @@ snapshots: '@nrwl/nx-linux-x64-musl': 15.9.3 '@nrwl/nx-win32-arm64-msvc': 15.9.3 '@nrwl/nx-win32-x64-msvc': 15.9.3 + '@swc-node/register': 1.10.9(@swc/core@1.7.23)(@swc/types@0.1.12)(typescript@4.6.4) + '@swc/core': 1.7.23 transitivePeerDependencies: - debug @@ -22868,6 +23178,21 @@ snapshots: outvariant@1.4.0: {} + oxc-resolver@1.11.0: + optionalDependencies: + '@oxc-resolver/binding-darwin-arm64': 1.11.0 + '@oxc-resolver/binding-darwin-x64': 1.11.0 + '@oxc-resolver/binding-freebsd-x64': 1.11.0 + '@oxc-resolver/binding-linux-arm-gnueabihf': 1.11.0 + '@oxc-resolver/binding-linux-arm64-gnu': 1.11.0 + '@oxc-resolver/binding-linux-arm64-musl': 1.11.0 + '@oxc-resolver/binding-linux-x64-gnu': 1.11.0 + '@oxc-resolver/binding-linux-x64-musl': 1.11.0 + '@oxc-resolver/binding-wasm32-wasi': 1.11.0 + '@oxc-resolver/binding-win32-arm64-msvc': 1.11.0 + '@oxc-resolver/binding-win32-x64-msvc': 1.11.0 + optional: true + p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -23299,13 +23624,13 @@ snapshots: postcss: 8.4.5 postcss-value-parser: 4.2.0 - postcss-loader@6.2.1(postcss@8.4.5)(webpack@5.76.1(esbuild@0.14.22)): + postcss-loader@6.2.1(postcss@8.4.5)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 postcss: 8.4.5 - semver: 7.3.5 - webpack: 5.76.1(esbuild@0.14.22) + semver: 7.6.3 + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) postcss-logical@5.0.4(postcss@8.4.41): dependencies: @@ -24073,11 +24398,11 @@ snapshots: transitivePeerDependencies: - '@lezer/common' - sass-loader@12.4.0(sass@1.49.9)(webpack@5.76.1(esbuild@0.14.22)): + sass-loader@12.4.0(sass@1.49.9)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)): dependencies: klona: 2.0.6 neo-async: 2.6.2 - webpack: 5.76.1(esbuild@0.14.22) + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) optionalDependencies: sass: 1.49.9 @@ -24395,14 +24720,16 @@ snapshots: minimist: 1.2.8 sander: 0.5.1 + source-map-js@1.2.0: {} + source-map-js@1.2.1: {} - source-map-loader@3.0.1(webpack@5.76.1(esbuild@0.14.22)): + source-map-loader@3.0.1(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)): dependencies: abab: 2.0.6 iconv-lite: 0.6.3 - source-map-js: 1.2.1 - webpack: 5.76.1(esbuild@0.14.22) + source-map-js: 1.2.0 + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) source-map-resolve@0.6.0: dependencies: @@ -24511,7 +24838,7 @@ snapshots: dependencies: '@open-draft/deferred-promise': 2.2.0 dotenv: 16.4.5 - mime-db: 1.52.0 + mime-db: 1.53.0 outvariant: 1.4.0 statuses@1.5.0: {} @@ -24636,13 +24963,13 @@ snapshots: style-mod@4.1.0: {} - stylus-loader@6.2.0(stylus@0.56.0)(webpack@5.76.1(esbuild@0.14.22)): + stylus-loader@6.2.0(stylus@0.56.0)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)): dependencies: fast-glob: 3.3.2 klona: 2.0.6 normalize-path: 3.0.0 stylus: 0.56.0 - webpack: 5.76.1(esbuild@0.14.22) + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) stylus@0.56.0: dependencies: @@ -24881,15 +25208,16 @@ snapshots: dependencies: rimraf: 2.6.3 - terser-webpack-plugin@5.3.10(esbuild@0.14.22)(webpack@5.76.1): + terser-webpack-plugin@5.3.10(@swc/core@1.7.23)(esbuild@0.14.22)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.6 - webpack: 5.76.1(esbuild@0.14.22) + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) optionalDependencies: + '@swc/core': 1.7.23 esbuild: 0.14.22 terser@5.14.2: @@ -25011,7 +25339,7 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@12.20.55)(typescript@4.6.4): + ts-node@10.9.2(@swc/core@1.7.23)(@types/node@12.20.55)(typescript@4.6.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -25028,8 +25356,10 @@ snapshots: typescript: 4.6.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.7.23 - ts-node@10.9.2(@types/node@20.4.5)(typescript@5.3.3): + ts-node@10.9.2(@swc/core@1.7.23)(@types/node@20.4.5)(typescript@5.3.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -25037,7 +25367,7 @@ snapshots: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 '@types/node': 20.4.5 - acorn: 8.12.1 + acorn: 8.14.0 acorn-walk: 8.3.3 arg: 4.1.3 create-require: 1.1.1 @@ -25046,6 +25376,8 @@ snapshots: typescript: 5.3.3 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + optionalDependencies: + '@swc/core': 1.7.23 optional: true tsconfig-paths@3.15.0: @@ -25391,7 +25723,7 @@ snapshots: vite-node@1.2.2(@types/node@20.4.5)(less@4.2.0)(sass@1.77.8)(stylus@0.56.0)(terser@5.31.6): dependencies: cac: 6.7.14 - debug: 4.3.4 + debug: 4.3.5 pathe: 1.1.2 picocolors: 1.1.1 vite: 5.1.8(@types/node@20.4.5)(less@4.2.0)(sass@1.77.8)(stylus@0.56.0)(terser@5.31.6) @@ -25789,16 +26121,16 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@5.3.0(webpack@5.76.1): + webpack-dev-middleware@5.3.0(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)): dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.76.1(esbuild@0.14.22) + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) - webpack-dev-server@4.7.3(@types/express@4.17.21)(webpack@5.76.1): + webpack-dev-server@4.7.3(@types/express@4.17.21)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -25827,8 +26159,8 @@ snapshots: sockjs: 0.3.24 spdy: 4.0.2 strip-ansi: 7.1.0 - webpack: 5.76.1(esbuild@0.14.22) - webpack-dev-middleware: 5.3.0(webpack@5.76.1) + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) + webpack-dev-middleware: 5.3.0(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) ws: 8.18.0 transitivePeerDependencies: - '@types/express' @@ -25844,14 +26176,14 @@ snapshots: webpack-sources@3.2.3: {} - webpack-subresource-integrity@5.1.0(webpack@5.76.1(esbuild@0.14.22)): + webpack-subresource-integrity@5.1.0(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)): dependencies: typed-assert: 1.0.9 - webpack: 5.76.1(esbuild@0.14.22) + webpack: 5.76.1(@swc/core@1.7.23)(esbuild@0.14.22) webpack-virtual-modules@0.6.2: {} - webpack@5.76.1(esbuild@0.14.22): + webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 0.0.51 @@ -25874,7 +26206,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.14.22)(webpack@5.76.1) + terser-webpack-plugin: 5.3.10(@swc/core@1.7.23)(esbuild@0.14.22)(webpack@5.76.1(@swc/core@1.7.23)(esbuild@0.14.22)) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: diff --git a/tools/build-icons/.swcrc b/tools/build-icons/.swcrc new file mode 100644 index 0000000000..6a585013ce --- /dev/null +++ b/tools/build-icons/.swcrc @@ -0,0 +1,32 @@ +{ + "$schema": "https://swc.rs/schema.json", + + "jsc": { + "parser": { + "syntax": "ecmascript", + "jsx": true, + "dynamicImport": true + }, + "target": "esnext", + "loose": false, + "externalHelpers": false, + "keepClassNames": true + }, + "module": { + "type": "es6", + "strict": true, + "strictMode": true, + "lazy": false, + "noInterop": false + }, + "minify": false, + "sourceMaps": true, + "env": { + "targets": { + "node": "current" + }, + "mode": "entry", + "coreJs": "3" + } + +} diff --git a/tools/build-icons/building/generateAliasesFile.mjs b/tools/build-icons/building/aliases/generateAliasesFiles.mjs similarity index 53% rename from tools/build-icons/building/generateAliasesFile.mjs rename to tools/build-icons/building/aliases/generateAliasesFiles.mjs index 7555694911..52927e7a08 100644 --- a/tools/build-icons/building/generateAliasesFile.mjs +++ b/tools/build-icons/building/aliases/generateAliasesFiles.mjs @@ -2,23 +2,10 @@ import path from 'path'; import fs from 'fs'; // eslint-disable-next-line import/no-extraneous-dependencies import { toPascalCase, resetFile, appendFile } from '@lucide/helpers'; -import { deprecationReasonTemplate } from '../utils/deprecationReasonTemplate.mjs'; +import deprecationReasonTemplate from '../../utils/deprecationReasonTemplate.mjs'; +import getExportString from './getExportString.mjs'; -const getImportString = ( - componentName, - iconName, - aliasImportFileExtension, - deprecated, - deprecationReason = '', -) => - deprecated - ? `export {\n` + - ` /** @deprecated ${deprecationReason} */\n` + - ` default as ${componentName}\n` + - `} from './icons/${iconName}${aliasImportFileExtension}';\n` - : `export { default as ${componentName} } from './icons/${iconName}${aliasImportFileExtension}';\n`; - -export default async function generateAliasesFile({ +export default async function generateAliasesFiles({ iconNodes, outputDirectory, fileExtension, @@ -30,11 +17,25 @@ export default async function generateAliasesFile({ showLog = true, }) { const iconsDistDirectory = path.join(outputDirectory, `icons`); - const fileName = path.basename(`aliases${fileExtension}`); const icons = Object.keys(iconNodes); - // Reset file - resetFile(fileName, outputDirectory); + const destinationDirectory = path.join(outputDirectory, 'aliases'); + + const aliasFileName = path.basename(`aliases${fileExtension}`); + const aliasPrefixesFileName = path.basename(`prefixed${fileExtension}`); + const aliasSuffixFileName = path.basename(`suffixed${fileExtension}`); + + if (!fs.existsSync(destinationDirectory)) { + fs.mkdirSync(destinationDirectory); + } + + // Reset files + resetFile(aliasFileName, destinationDirectory); + + if (!aliasNamesOnly) { + resetFile(aliasPrefixesFileName, destinationDirectory); + resetFile(aliasSuffixFileName, destinationDirectory); + } // Generate Import for Icon VNodes await Promise.all( @@ -50,19 +51,32 @@ export default async function generateAliasesFile({ return alias; }); - let importString = ''; + let aliasFileContent = ''; + let aliasPrefixesFileContent = ''; + let aliasSuffixFileContent = ''; if ((iconAliases != null && Array.isArray(iconAliases)) || !aliasNamesOnly) { - if (index > 0) { - importString += '\n'; + if (index > 0 && aliasPrefixesFileContent !== '') { + aliasPrefixesFileContent += '\n'; } - importString += `// ${componentName} aliases\n`; + if (index > 0 && aliasSuffixFileContent !== '') { + aliasSuffixFileContent += '\n'; + } + + if (!aliasNamesOnly) { + aliasPrefixesFileContent += `// ${componentName} aliases\n`; + aliasSuffixFileContent += `// ${componentName} aliases\n`; + } } if (!aliasNamesOnly) { - importString += getImportString(`${componentName}Icon`, iconName, aliasImportFileExtension); - importString += getImportString( + aliasSuffixFileContent += getExportString( + `${componentName}Icon`, + iconName, + aliasImportFileExtension, + ); + aliasPrefixesFileContent += getExportString( `Lucide${componentName}`, iconName, aliasImportFileExtension, @@ -95,7 +109,12 @@ export default async function generateAliasesFile({ const exportFileIcon = separateAliasesFile ? alias.name : iconName; - importString += getImportString( + if (index > 0) { + aliasFileContent += '\n'; + } + + aliasFileContent += `// ${componentName} aliases\n`; + aliasFileContent += getExportString( componentNameAlias, exportFileIcon, aliasImportFileExtension, @@ -104,7 +123,7 @@ export default async function generateAliasesFile({ ); if (!aliasNamesOnly) { - importString += getImportString( + aliasSuffixFileContent += getExportString( `${componentNameAlias}Icon`, exportFileIcon, aliasImportFileExtension, @@ -112,7 +131,7 @@ export default async function generateAliasesFile({ deprecationReason, ); - importString += getImportString( + aliasPrefixesFileContent += getExportString( `Lucide${componentNameAlias}`, exportFileIcon, aliasImportFileExtension, @@ -124,13 +143,25 @@ export default async function generateAliasesFile({ ); } - appendFile(importString, fileName, outputDirectory); + appendFile(aliasFileContent, aliasFileName, destinationDirectory); + + if (!aliasNamesOnly) { + appendFile(aliasPrefixesFileContent, aliasPrefixesFileName, destinationDirectory); + appendFile(aliasSuffixFileContent, aliasSuffixFileName, destinationDirectory); + } }), ); - appendFile('\n', fileName, outputDirectory); + appendFile('\n', aliasFileName, destinationDirectory); + + if (!aliasNamesOnly) { + appendFile('\n', aliasPrefixesFileName, destinationDirectory); + appendFile('\n', aliasSuffixFileName, destinationDirectory); + } if (showLog) { - console.log(`Successfully generated ${fileName} file`); + console.log(`Successfully generated src/aliases/${aliasFileName} file`); + console.log(`Successfully generated src/aliases/${aliasPrefixesFileName} file`); + console.log(`Successfully generated src/aliases/${aliasSuffixFileName} file`); } } diff --git a/tools/build-icons/building/aliases/getExportString.mjs b/tools/build-icons/building/aliases/getExportString.mjs new file mode 100644 index 0000000000..a0bd33edce --- /dev/null +++ b/tools/build-icons/building/aliases/getExportString.mjs @@ -0,0 +1,15 @@ +const getExportString = ( + componentName, + iconName, + aliasImportFileExtension, + deprecated, + deprecationReason = '', +) => + deprecated + ? `export {\n` + + ` /** @deprecated ${deprecationReason} */\n` + + ` default as ${componentName}\n` + + `} from '../icons/${iconName}${aliasImportFileExtension}';\n` + : `export { default as ${componentName} } from '../icons/${iconName}${aliasImportFileExtension}';\n`; + +export default getExportString; diff --git a/tools/build-icons/building/generateIconFiles.mjs b/tools/build-icons/building/generateIconFiles.mjs index 63268548c6..0a8aadd4df 100644 --- a/tools/build-icons/building/generateIconFiles.mjs +++ b/tools/build-icons/building/generateIconFiles.mjs @@ -2,7 +2,7 @@ import fs from 'fs'; import path from 'path'; import prettier from 'prettier'; import { readSvg, toPascalCase } from '@lucide/helpers'; -import { deprecationReasonTemplate } from '../utils/deprecationReasonTemplate.mjs'; +import deprecationReasonTemplate from '../utils/deprecationReasonTemplate.mjs'; export default ({ iconNodes, diff --git a/tools/build-icons/cli.mjs b/tools/build-icons/cli.mjs index 3c1f60e376..31e4830155 100755 --- a/tools/build-icons/cli.mjs +++ b/tools/build-icons/cli.mjs @@ -8,7 +8,7 @@ import renderIconsObject from './render/renderIconsObject.mjs'; import generateIconFiles from './building/generateIconFiles.mjs'; import generateExportsFile from './building/generateExportsFile.mjs'; -import generateAliasesFile from './building/generateAliasesFile.mjs'; +import generateAliasesFiles from './building/aliases/generateAliasesFiles.mjs'; // eslint-disable-next-line import/no-named-as-default, import/no-named-as-default-member import getIconMetaData from './utils/getIconMetaData.mjs'; import generateDynamicImports from './building/generateDynamicImports.mjs'; @@ -65,7 +65,7 @@ async function buildIcons() { }); if (withAliases) { - await generateAliasesFile({ + await generateAliasesFiles({ iconNodes: icons, iconMetaData, aliasNamesOnly, @@ -99,7 +99,7 @@ async function buildIcons() { } try { - buildIcons(); + await buildIcons(); } catch (error) { console.error(error); } diff --git a/tools/build-icons/package.json b/tools/build-icons/package.json index be69c9e1c8..c835148042 100644 --- a/tools/build-icons/package.json +++ b/tools/build-icons/package.json @@ -11,7 +11,7 @@ "build-icons": "./cli.mjs" }, "engines": { - "node": ">= 16" + "node": ">= 20" }, "keywords": [], "author": "", diff --git a/tools/build-icons/tsconfig.json b/tools/build-icons/tsconfig.json new file mode 100644 index 0000000000..458019778c --- /dev/null +++ b/tools/build-icons/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "strict": false, + "declaration": true, + "noEmitOnError": true, + "noFallthroughCasesInSwitch": true, + "moduleResolution": "node", + "module": "ESNext", + "target": "ESNext", + "esModuleInterop": true, + "allowJs": true, + "lib": ["esnext"], + "resolveJsonModule": true, + "sourceMap": true, + "outDir": "./dist", + }, +} diff --git a/tools/build-icons/utils/deprecationReasonTemplate.mjs b/tools/build-icons/utils/deprecationReasonTemplate.mjs index a36ebbbebe..a044bb1edc 100644 --- a/tools/build-icons/utils/deprecationReasonTemplate.mjs +++ b/tools/build-icons/utils/deprecationReasonTemplate.mjs @@ -1,9 +1,11 @@ -export function deprecationReasonTemplate( +export default function deprecationReasonTemplate( deprecationReason, { componentName, iconName, toBeRemovedInVersion }, ) { const removalNotice = toBeRemovedInVersion - ? ` This ${deprecationReason.startsWith('icon') ? 'icon' : 'alias'} will be removed in ${toBeRemovedInVersion}` + ? ` This ${ + deprecationReason.startsWith('icon') ? 'icon' : 'alias' + } will be removed in ${toBeRemovedInVersion}` : ''; switch (deprecationReason) { @@ -13,5 +15,7 @@ export function deprecationReasonTemplate( return `The name of this icon was changed because it didn't meet our guidelines anymore, use {@link ${componentName}} instead.${removalNotice}`; case 'icon.brand': return `Brand icons have been deprecated and are due to be removed, please refer to https://github.com/lucide-icons/lucide/issues/670. We recommend using https://simpleicons.org/?q=${iconName} instead.${removalNotice}`; + default: + return ''; } } From f93beca5957187620e30ae771d220d88501be621 Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Fri, 8 Nov 2024 16:49:34 +0100 Subject: [PATCH 03/23] Updated icons/glass-water.svg (#2579) --- icons/glass-water.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/icons/glass-water.svg b/icons/glass-water.svg index 3db6743a56..18221fd85a 100644 --- a/icons/glass-water.svg +++ b/icons/glass-water.svg @@ -9,6 +9,6 @@ stroke-linecap="round" stroke-linejoin="round" > - + From 88c757f540a765d31049885486f27284e6654b3b Mon Sep 17 00:00:00 2001 From: Karsa Date: Mon, 11 Nov 2024 11:45:36 +0100 Subject: [PATCH 04/23] fix(icons): Fix rounding to hand-platter icon (#2326) * feat(icons): add rounding to hand-platter icon * Update hand-platter.svg --------- Co-authored-by: Eric Fennis Co-authored-by: Jakob Guddas --- icons/hand-platter.svg | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/icons/hand-platter.svg b/icons/hand-platter.svg index 2ec7245e39..2b93b39a39 100644 --- a/icons/hand-platter.svg +++ b/icons/hand-platter.svg @@ -10,9 +10,9 @@ stroke-linejoin="round" > - + + - - - + + From bc09d5f283a7fe2e96565baf811894319af4c731 Mon Sep 17 00:00:00 2001 From: Jamie Law Date: Fri, 15 Nov 2024 10:30:38 +0000 Subject: [PATCH 05/23] fix(icons): changed `bath` icon (#2512) * Update bath.svg Replaced `` elements with ``s and refined the curve of the shower head to use fewer path segments and have a larger radius * Update bath.json --------- Co-authored-by: Jakob Guddas --- icons/bath.json | 3 ++- icons/bath.svg | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/icons/bath.json b/icons/bath.json index 5059c9e62a..a82e427a6b 100644 --- a/icons/bath.json +++ b/icons/bath.json @@ -2,7 +2,8 @@ "$schema": "../icon.schema.json", "contributors": [ "karsa-mistmere", - "ericfennis" + "ericfennis", + "jamiemlaw" ], "tags": [ "amenities", diff --git a/icons/bath.svg b/icons/bath.svg index e917352690..a52407ecba 100644 --- a/icons/bath.svg +++ b/icons/bath.svg @@ -9,9 +9,9 @@ stroke-linecap="round" stroke-linejoin="round" > - - - - - + + + + + From 30077f913f92ae6a484be858ceebf674f5be516d Mon Sep 17 00:00:00 2001 From: Arthur Green <720jbjxi@duck.com> Date: Fri, 15 Nov 2024 14:31:15 +0400 Subject: [PATCH 06/23] docs: update lucide-svelte.md (#2609) --- docs/guide/packages/lucide-svelte.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/packages/lucide-svelte.md b/docs/guide/packages/lucide-svelte.md index 428fc4d4b4..77e07ea6b6 100644 --- a/docs/guide/packages/lucide-svelte.md +++ b/docs/guide/packages/lucide-svelte.md @@ -7,7 +7,7 @@ Implementation of the lucide icon library for svelte applications. ::: code-group ```sh [pnpm] -pnpm install lucide-svelte +pnpm add lucide-svelte ``` ```sh [yarn] From 870041826033dcb8bbfc0fd5916f6b04724771c1 Mon Sep 17 00:00:00 2001 From: Jamie Law Date: Fri, 15 Nov 2024 10:32:25 +0000 Subject: [PATCH 07/23] Optimise `puzzle` icon (#2603) Redraw some bezier curves as arcs --- icons/puzzle.json | 3 ++- icons/puzzle.svg | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/icons/puzzle.json b/icons/puzzle.json index 91536ef353..97d095abd4 100644 --- a/icons/puzzle.json +++ b/icons/puzzle.json @@ -2,7 +2,8 @@ "$schema": "../icon.schema.json", "contributors": [ "karsa-mistmere", - "ericfennis" + "ericfennis", + "jamiemlaw" ], "tags": [ "component", diff --git a/icons/puzzle.svg b/icons/puzzle.svg index 11822cf46e..bc7ea8e9e5 100644 --- a/icons/puzzle.svg +++ b/icons/puzzle.svg @@ -9,5 +9,5 @@ stroke-linecap="round" stroke-linejoin="round" > - + From d041d5c2d27a368a5da56aba828cc9e5941453b1 Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Fri, 15 Nov 2024 11:54:54 +0100 Subject: [PATCH 08/23] fix(icons): arcified `school` icon (#2598) * Updated icons/school.svg * Updated icons/school.json * Updated icons/school.svg --- icons/school.svg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/icons/school.svg b/icons/school.svg index 3347d8aa52..1b3d7099a8 100644 --- a/icons/school.svg +++ b/icons/school.svg @@ -10,9 +10,9 @@ stroke-linejoin="round" > - + - + From e2ee0c77e78aaaedb98d1becb6d720f583e8d25b Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Fri, 15 Nov 2024 11:56:14 +0100 Subject: [PATCH 09/23] fix(icons): changed `cross` icon (#2578) * Updated icons/cross.svg * Updated icons/cross.json * Updated icons/cross.json --- icons/cross.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/icons/cross.svg b/icons/cross.svg index c0eb3007f1..fddf3f2893 100644 --- a/icons/cross.svg +++ b/icons/cross.svg @@ -9,5 +9,5 @@ stroke-linecap="round" stroke-linejoin="round" > - + From 9f99ea510f49f13da33e8f9bee5766197b655b01 Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Fri, 15 Nov 2024 11:57:00 +0100 Subject: [PATCH 10/23] fix(icons): changed `hard-hat` icon (#2559) * Updated icons/hard-hat.svg * Updated icons/hard-hat.json * Updated icons/hard-hat.json --- icons/hard-hat.svg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/icons/hard-hat.svg b/icons/hard-hat.svg index 50056a6f23..106926d699 100644 --- a/icons/hard-hat.svg +++ b/icons/hard-hat.svg @@ -9,8 +9,8 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + From 855cb4985dcb1732d441bcc83d175e17a858c4df Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Fri, 15 Nov 2024 11:58:19 +0100 Subject: [PATCH 11/23] fix(icons): changed `heading-4` icon (#2546) * Updated icons/heading-4.svg * Updated icons/heading-4.json --- icons/heading-4.json | 3 ++- icons/heading-4.svg | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/icons/heading-4.json b/icons/heading-4.json index 6783030613..582870e190 100644 --- a/icons/heading-4.json +++ b/icons/heading-4.json @@ -1,7 +1,8 @@ { "$schema": "../icon.schema.json", "contributors": [ - "ericfennis" + "ericfennis", + "jguddas" ], "tags": [ "h4", diff --git a/icons/heading-4.svg b/icons/heading-4.svg index 2f6cc2b00d..ab9f59a287 100644 --- a/icons/heading-4.svg +++ b/icons/heading-4.svg @@ -9,9 +9,9 @@ stroke-linecap="round" stroke-linejoin="round" > - - - + + + From d6178fa47187b4e1230ad2a3d17145f628e15e02 Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Fri, 15 Nov 2024 11:59:27 +0100 Subject: [PATCH 12/23] Updated icons/vegan.svg (#2556) --- icons/vegan.svg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/icons/vegan.svg b/icons/vegan.svg index 113cbc23df..230803a3d1 100644 --- a/icons/vegan.svg +++ b/icons/vegan.svg @@ -9,7 +9,7 @@ stroke-linecap="round" stroke-linejoin="round" > + + - - From 30fe706dd637cdc1951059a53d67e4f2fbdff250 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Epif=C3=A2nio=20Francisco?= Date: Fri, 15 Nov 2024 12:20:37 +0100 Subject: [PATCH 13/23] fix: #2566 expand card beyond max-width limit by adjusting CSS (#2605) --- docs/.vitepress/theme/components/home/HomeIconCustomizer.vue | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/docs/.vitepress/theme/components/home/HomeIconCustomizer.vue b/docs/.vitepress/theme/components/home/HomeIconCustomizer.vue index 14dc775503..9765413663 100644 --- a/docs/.vitepress/theme/components/home/HomeIconCustomizer.vue +++ b/docs/.vitepress/theme/components/home/HomeIconCustomizer.vue @@ -171,16 +171,14 @@ watch(absoluteStrokeWidth, (enabled) => { margin-top: 32px; padding: 0; background: none; - max-width: 280px; } @media (min-width: 640px) { - .card { display: grid; grid-template-columns: 8fr 10fr; } -/* + /* .card-column { flex: 1; } */ From 4b0d17ad24aac478e7a78896230ce4a85ee79914 Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Fri, 15 Nov 2024 12:23:26 +0100 Subject: [PATCH 14/23] feat(icons): added `laptop-minimal-check` icon (#2563) * Added icons/laptop-minimal-check.svg * Added icons/laptop-minimal-check.json * Update laptop-minimal-check.json --------- Co-authored-by: Eric Fennis --- icons/laptop-minimal-check.json | 22 ++++++++++++++++++++++ icons/laptop-minimal-check.svg | 15 +++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 icons/laptop-minimal-check.json create mode 100644 icons/laptop-minimal-check.svg diff --git a/icons/laptop-minimal-check.json b/icons/laptop-minimal-check.json new file mode 100644 index 0000000000..4f8ab5f793 --- /dev/null +++ b/icons/laptop-minimal-check.json @@ -0,0 +1,22 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "ericfennis", + "jguddas" + ], + "tags": [ + "computer", + "screen", + "remote", + "success", + "done", + "todo", + "tick", + "complete", + "task" + ], + "categories": [ + "devices", + "notifications" + ] +} diff --git a/icons/laptop-minimal-check.svg b/icons/laptop-minimal-check.svg new file mode 100644 index 0000000000..8475d4eb8f --- /dev/null +++ b/icons/laptop-minimal-check.svg @@ -0,0 +1,15 @@ + + + + + From 0f3fd12f16a23bccf4e2304e9d8ba4b323c71249 Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Fri, 15 Nov 2024 12:45:41 +0100 Subject: [PATCH 15/23] fix(icons): update `drill` icon (#1919) * Updated icons/drill.svg * Updated icons/drill.svg * Updated icons/drill.json * Updated icons/drill.svg --------- Co-authored-by: Eric Fennis --- icons/drill.json | 3 ++- icons/drill.svg | 7 +++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/icons/drill.json b/icons/drill.json index e676bf3e6b..6669ad03a6 100644 --- a/icons/drill.json +++ b/icons/drill.json @@ -1,7 +1,8 @@ { "$schema": "../icon.schema.json", "contributors": [ - "danielbayley" + "danielbayley", + "jguddas" ], "tags": [ "power", diff --git a/icons/drill.svg b/icons/drill.svg index b20ba5dad3..330d2213a8 100644 --- a/icons/drill.svg +++ b/icons/drill.svg @@ -9,11 +9,10 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + + - - From 09cebe178ddd2ffa673e5cd6d82529d1524a4a6b Mon Sep 17 00:00:00 2001 From: Eric Fennis Date: Fri, 15 Nov 2024 13:51:58 +0100 Subject: [PATCH 16/23] feat(lucide-svelte): Aliased imports for direct imports (#2584) * Add way to import aliased icons directly * Format files * Fix tests * Format files --- packages/lucide-svelte/package.json | 5 +++-- packages/lucide-svelte/scripts/license.mjs | 2 +- packages/lucide/rollup.config.mjs | 2 +- .../building/aliases/generateAliasesFiles.mjs | 10 ++++++++-- tools/build-icons/building/generateIconFiles.mjs | 13 +++++++++++++ tools/build-icons/cli.mjs | 6 ++++++ tools/build-icons/utils/getAliases.mjs | 2 +- tools/build-icons/utils/getIconMetaData.mjs | 2 +- 8 files changed, 34 insertions(+), 8 deletions(-) diff --git a/packages/lucide-svelte/package.json b/packages/lucide-svelte/package.json index 6b4b4bcd4c..ee45d8d669 100644 --- a/packages/lucide-svelte/package.json +++ b/packages/lucide-svelte/package.json @@ -36,7 +36,8 @@ }, "./icons/*": { "types": "./dist/icons/*.svelte.d.ts", - "svelte": "./dist/icons/*.svelte" + "svelte": "./dist/icons/*.js", + "default": "./dist/icons/*.js" } }, "typings": "dist/lucide-svelte.d.ts", @@ -48,7 +49,7 @@ "build": "pnpm clean && pnpm copy:license && pnpm build:icons && pnpm build:package && pnpm build:license", "copy:license": "cp ../../LICENSE ./LICENSE", "clean": "rm -rf dist && rm -rf stats && rm -rf ./src/icons/*.svelte && rm -f index.js", - "build:icons": "build-icons --output=./src --templateSrc=./scripts/exportTemplate.mjs --exportFileName=index.ts --iconFileExtension=.svelte --importImportFileExtension=.svelte --withAliases --aliasesFileExtension=.ts --aliasImportFileExtension=.svelte --pretty=false", + "build:icons": "build-icons --output=./src --templateSrc=./scripts/exportTemplate.mjs --exportFileName=index.ts --iconFileExtension=.svelte --importImportFileExtension=.svelte --separateIconFileExport --separateIconFileExportExtension=.ts --withAliases --aliasesFileExtension=.ts --separateAliasesFile --separateAliasesFileExtension=.ts --aliasImportFileExtension=.ts --pretty=false", "build:package": "svelte-package --input ./src", "build:license": "node ./scripts/appendBlockComments.mjs", "test": "pnpm build:icons && vitest run", diff --git a/packages/lucide-svelte/scripts/license.mjs b/packages/lucide-svelte/scripts/license.mjs index 3c39a02b6f..3ef4f0306c 100644 --- a/packages/lucide-svelte/scripts/license.mjs +++ b/packages/lucide-svelte/scripts/license.mjs @@ -1,4 +1,4 @@ -import pkg from '../package.json' assert { type: 'json' }; +import pkg from '../package.json' with { type: 'json' }; export function getJSBanner() { return `/** diff --git a/packages/lucide/rollup.config.mjs b/packages/lucide/rollup.config.mjs index 3d64d9d0e5..a4840c024b 100644 --- a/packages/lucide/rollup.config.mjs +++ b/packages/lucide/rollup.config.mjs @@ -1,7 +1,7 @@ import plugins from '@lucide/rollup-plugins'; import replace from '@rollup/plugin-replace'; import dts from 'rollup-plugin-dts'; -import pkg from './package.json' assert { type: 'json' }; +import pkg from './package.json' with { type: 'json' }; const outputFileName = pkg.name; const outputDir = 'dist'; diff --git a/tools/build-icons/building/aliases/generateAliasesFiles.mjs b/tools/build-icons/building/aliases/generateAliasesFiles.mjs index 52927e7a08..043613475a 100644 --- a/tools/build-icons/building/aliases/generateAliasesFiles.mjs +++ b/tools/build-icons/building/aliases/generateAliasesFiles.mjs @@ -14,6 +14,7 @@ export default async function generateAliasesFiles({ aliasImportFileExtension, aliasNamesOnly = false, separateAliasesFile = false, + separateAliasesFileExtension, showLog = true, }) { const iconsDistDirectory = path.join(outputDirectory, `icons`); @@ -96,8 +97,13 @@ export default async function generateAliasesFiles({ : ''; if (separateAliasesFile) { - const output = `export { default } from "./${iconName}"`; - const location = path.join(iconsDistDirectory, `${alias.name}${iconFileExtension}`); + const output = `export { default } from "./${iconName}${ + separateAliasesFileExtension ? iconFileExtension : '' + }";\n`; + const location = path.join( + iconsDistDirectory, + `${alias.name}${separateAliasesFileExtension ?? iconFileExtension}`, + ); await fs.promises.writeFile(location, output, 'utf-8'); } diff --git a/tools/build-icons/building/generateIconFiles.mjs b/tools/build-icons/building/generateIconFiles.mjs index 0a8aadd4df..691729e591 100644 --- a/tools/build-icons/building/generateIconFiles.mjs +++ b/tools/build-icons/building/generateIconFiles.mjs @@ -10,6 +10,8 @@ export default ({ template, showLog = true, iconFileExtension = '.js', + separateIconFileExport = false, + separateIconFileExportExtension, pretty = true, iconsDir, iconMetaData, @@ -46,6 +48,7 @@ export default ({ deprecated, deprecationReason, }); + const output = pretty ? prettier.format(elementTemplate, { singleQuote: true, @@ -56,6 +59,16 @@ export default ({ : elementTemplate; await fs.promises.writeFile(location, output, 'utf-8'); + + if (separateIconFileExport) { + const output = `export { default } from "./${iconName}${iconFileExtension}";\n`; + const location = path.join( + iconsDistDirectory, + `${iconName}${separateIconFileExportExtension ?? iconFileExtension}`, + ); + + await fs.promises.writeFile(location, output, 'utf-8'); + } }); Promise.all(writeIconFiles) diff --git a/tools/build-icons/cli.mjs b/tools/build-icons/cli.mjs index 31e4830155..c710cf7076 100755 --- a/tools/build-icons/cli.mjs +++ b/tools/build-icons/cli.mjs @@ -34,6 +34,9 @@ const { aliasNamesOnly = false, withDynamicImports = false, separateAliasesFile = false, + separateAliasesFileExtension = undefined, + separateIconFileExport = false, + separateIconFileExportExtension = undefined, aliasesFileExtension = '.js', aliasImportFileExtension = '', pretty = true, @@ -59,6 +62,8 @@ async function buildIcons() { template: iconFileTemplate, showLog: !silent, iconFileExtension, + separateIconFileExport, + separateIconFileExportExtension, pretty: JSON.parse(pretty), iconsDir: ICONS_DIR, iconMetaData, @@ -75,6 +80,7 @@ async function buildIcons() { exportModuleNameCasing, aliasImportFileExtension, separateAliasesFile, + separateAliasesFileExtension, showLog: !silent, }); } diff --git a/tools/build-icons/utils/getAliases.mjs b/tools/build-icons/utils/getAliases.mjs index 342741acdd..1d469fc06b 100644 --- a/tools/build-icons/utils/getAliases.mjs +++ b/tools/build-icons/utils/getAliases.mjs @@ -5,7 +5,7 @@ async function getAliases(iconDirectory) { const iconJsons = readSvgDirectory(iconDirectory, '.json'); const aliasesEntries = await Promise.all( iconJsons.map(async (jsonFile) => { - const file = await import(path.join(iconDirectory, jsonFile), { assert: { type: 'json' } }); + const file = await import(path.join(iconDirectory, jsonFile), { with: { type: 'json' } }); return [path.basename(jsonFile, '.json'), file.default]; }), ); diff --git a/tools/build-icons/utils/getIconMetaData.mjs b/tools/build-icons/utils/getIconMetaData.mjs index 7c8c149cae..e03bdaa027 100644 --- a/tools/build-icons/utils/getIconMetaData.mjs +++ b/tools/build-icons/utils/getIconMetaData.mjs @@ -6,7 +6,7 @@ async function getIconMetaData(iconDirectory) { const aliasesEntries = await Promise.all( iconJsons.map(async (jsonFile) => { /** eslint-disable */ - const file = await import(path.join(iconDirectory, jsonFile), { assert: { type: 'json' } }); + const file = await import(path.join(iconDirectory, jsonFile), { with: { type: 'json' } }); return [path.basename(jsonFile, '.json'), file.default]; }), ); From cb60e311626e1d4820f8c71e780ca80fceb46599 Mon Sep 17 00:00:00 2001 From: Lennard Scheibel <44374653+lscheibel@users.noreply.github.com> Date: Fri, 15 Nov 2024 13:55:56 +0100 Subject: [PATCH 17/23] Add `cloud-alert` icon (#2611) --- icons/cloud-alert.json | 23 +++++++++++++++++++++++ icons/cloud-alert.svg | 15 +++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 icons/cloud-alert.json create mode 100644 icons/cloud-alert.svg diff --git a/icons/cloud-alert.json b/icons/cloud-alert.json new file mode 100644 index 0000000000..19b6c59312 --- /dev/null +++ b/icons/cloud-alert.json @@ -0,0 +1,23 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "csandman", + "ericfennis", + "karsa-mistmere", + "lscheibel" + ], + "tags": [ + "weather", + "danger", + "warning", + "alert", + "error", + "sync", + "network", + "exclamation" + ], + "categories": [ + "development" + ] +} diff --git a/icons/cloud-alert.svg b/icons/cloud-alert.svg new file mode 100644 index 0000000000..53fc4f4a72 --- /dev/null +++ b/icons/cloud-alert.svg @@ -0,0 +1,15 @@ + + + + + From 2c55c2ab936a94d73c214bb94c65265a575b99bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BD=8B=E8=97=A4=20=E6=81=B5=E4=BB=8B?= Date: Fri, 15 Nov 2024 21:57:25 +0900 Subject: [PATCH 18/23] feat(icons): added `equal-approximately` icon (#2594) * Added icons/equal-approximately.svg * Added icons/equal-approximately.json --- icons/equal-approximately.json | 15 +++++++++++++++ icons/equal-approximately.svg | 14 ++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 icons/equal-approximately.json create mode 100644 icons/equal-approximately.svg diff --git a/icons/equal-approximately.json b/icons/equal-approximately.json new file mode 100644 index 0000000000..e40a9d6219 --- /dev/null +++ b/icons/equal-approximately.json @@ -0,0 +1,15 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "ksk3110" + ], + "tags": [ + "about", + "calculate", + "maths", + "operater" + ], + "categories": [ + "maths" + ] +} diff --git a/icons/equal-approximately.svg b/icons/equal-approximately.svg new file mode 100644 index 0000000000..cedc57c64c --- /dev/null +++ b/icons/equal-approximately.svg @@ -0,0 +1,14 @@ + + + + From d939a7005d3632e3625ae8be0e2d4fca1140b44c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2024 13:59:22 +0100 Subject: [PATCH 19/23] build(deps): bump rollup from 2.79.1 to 3.29.5 (#2613) Bumps [rollup](https://github.com/rollup/rollup) from 2.79.1 to 3.29.5. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v2.79.1...v3.29.5) --- updated-dependencies: - dependency-name: rollup dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 84a29d1c29..935fabbf27 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5072,6 +5072,7 @@ packages: acorn-import-assertions@1.9.0: resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + deprecated: package has been renamed to acorn-import-attributes peerDependencies: acorn: ^8 @@ -16793,7 +16794,7 @@ snapshots: '@swc-node/sourcemap-support': 0.5.1 '@swc/core': 1.7.23 colorette: 2.0.20 - debug: 4.3.6 + debug: 4.3.7 oxc-resolver: 1.11.0 pirates: 4.0.6 tslib: 2.6.3 @@ -25367,7 +25368,7 @@ snapshots: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 '@types/node': 20.4.5 - acorn: 8.14.0 + acorn: 8.12.1 acorn-walk: 8.3.3 arg: 4.1.3 create-require: 1.1.1 From 4d91fbb588f2864941dcfb12288a8b6291afa503 Mon Sep 17 00:00:00 2001 From: Ethan Hazel <134425461+EthanHazel@users.noreply.github.com> Date: Fri, 15 Nov 2024 12:45:21 -0500 Subject: [PATCH 20/23] feat(icons): Add toilet icon (#2141) * Added tiolet icon * fixed typo lol * fixed formatting with SVG * fixed typo on tags for Toilet * Updated icon to add more arcs by jguddas * Updated toilet json to work with linter * revert teamData.json * fix(teamData): Reverted accidental changes from Prettier --------- Co-authored-by: Eric Fennis Co-authored-by: Karsa --- icons/toilet.json | 19 +++++++++++++++++++ icons/toilet.svg | 14 ++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 icons/toilet.json create mode 100644 icons/toilet.svg diff --git a/icons/toilet.json b/icons/toilet.json new file mode 100644 index 0000000000..e24f84357e --- /dev/null +++ b/icons/toilet.json @@ -0,0 +1,19 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "EthanHazel", + "staffanmowitz", + "karsa-mistmere", + "jguddas" + ], + "tags": [ + "toilet", + "potty", + "bathroom", + "washroom" + ], + "categories": [ + "devices", + "home" + ] +} diff --git a/icons/toilet.svg b/icons/toilet.svg new file mode 100644 index 0000000000..9ce94841fb --- /dev/null +++ b/icons/toilet.svg @@ -0,0 +1,14 @@ + + + + \ No newline at end of file From f238fe1b1858d4fbf6b24b1ef89d6822969712ea Mon Sep 17 00:00:00 2001 From: Eric Fennis Date: Sat, 16 Nov 2024 09:43:23 +0100 Subject: [PATCH 21/23] replace extension build config (#2615) --- packages/lucide-svelte/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/lucide-svelte/package.json b/packages/lucide-svelte/package.json index ee45d8d669..c7d7975383 100644 --- a/packages/lucide-svelte/package.json +++ b/packages/lucide-svelte/package.json @@ -49,7 +49,7 @@ "build": "pnpm clean && pnpm copy:license && pnpm build:icons && pnpm build:package && pnpm build:license", "copy:license": "cp ../../LICENSE ./LICENSE", "clean": "rm -rf dist && rm -rf stats && rm -rf ./src/icons/*.svelte && rm -f index.js", - "build:icons": "build-icons --output=./src --templateSrc=./scripts/exportTemplate.mjs --exportFileName=index.ts --iconFileExtension=.svelte --importImportFileExtension=.svelte --separateIconFileExport --separateIconFileExportExtension=.ts --withAliases --aliasesFileExtension=.ts --separateAliasesFile --separateAliasesFileExtension=.ts --aliasImportFileExtension=.ts --pretty=false", + "build:icons": "build-icons --output=./src --templateSrc=./scripts/exportTemplate.mjs --exportFileName=index.ts --iconFileExtension=.svelte --importImportFileExtension=.svelte --separateIconFileExport --separateIconFileExportExtension=.ts --withAliases --aliasesFileExtension=.ts --separateAliasesFile --separateAliasesFileExtension=.ts --aliasImportFileExtension=.js --pretty=false", "build:package": "svelte-package --input ./src", "build:license": "node ./scripts/appendBlockComments.mjs", "test": "pnpm build:icons && vitest run", From 392bc961aa793660a157b24f49db77d8659e5892 Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Sun, 17 Nov 2024 12:50:59 +0100 Subject: [PATCH 22/23] chore: add `bluesky` to brand filter (#2617) --- .github/workflows/close-issue-with-banned-phrases.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/close-issue-with-banned-phrases.yml b/.github/workflows/close-issue-with-banned-phrases.yml index 135b5c6c28..39bcf8aae4 100644 --- a/.github/workflows/close-issue-with-banned-phrases.yml +++ b/.github/workflows/close-issue-with-banned-phrases.yml @@ -16,7 +16,7 @@ jobs: - name: Check for blocked phrases in issue title run: | ISSUE_TITLE=$(jq -r '.issue.title' "$GITHUB_EVENT_PATH") - BLOCKED_PHRASES=("twitter" "whatsapp" "logo" "google" "tiktok" "facebook" "slack" "discord") + BLOCKED_PHRASES=("twitter" "whatsapp" "logo" "google" "tiktok" "facebook" "slack" "discord" "bluesky") # Check title and body for blocked phrases for PHRASE in "${BLOCKED_PHRASES[@]}" From ae43473aa6445495e583fe3eeff8499a61b256b4 Mon Sep 17 00:00:00 2001 From: Nicolas Boyer <52313840+boyer-nicolas@users.noreply.github.com> Date: Fri, 22 Nov 2024 10:07:48 +0100 Subject: [PATCH 23/23] Added documentation about Svelte 5 (#2621) Svelte 5 specifics including removing the "ComponentType" typescript type as components are now static. Also merged some imports into one-liners as we don't need to import each icon in a single line. --- docs/guide/packages/lucide-svelte.md | 181 +++++++++++++++++++++------ 1 file changed, 144 insertions(+), 37 deletions(-) diff --git a/docs/guide/packages/lucide-svelte.md b/docs/guide/packages/lucide-svelte.md index 77e07ea6b6..77877ea203 100644 --- a/docs/guide/packages/lucide-svelte.md +++ b/docs/guide/packages/lucide-svelte.md @@ -87,54 +87,95 @@ The package includes type definitions for all icons. This is useful if you want ### TypeScript Example +#### Svelte 4 + ```svelte {#each menuItems as item} - - - {item.name} - + + + {item.name} + +{/each} +``` + + +#### Svelte 5 +Some changes are required since Svelte 5 [deprecates](https://svelte.dev/docs/svelte/v5-migration-guide#Components-are-no-longer-classes-Component-typing-changes) the `ComponentType` typescript type. + +```svelte + + +{#each menuItems as item} + {@const Icon = item.icon} + + + {item.name} + {/each} ``` ### JSDoc Example +#### Svelte 4 + ```svelte + +{#each menuItems as item} + + + {item.name} + +{/each} +``` + + +#### Svelte 5 + +```svelte + + +{#each menuItems as item} + {@const Icon = item.icon} + + + {item.name} + +{/each} + ``` For more details about typing the `svelte:component` directive, see the [Svelte documentation](https://svelte.dev/docs/typescript#types-componenttype). @@ -197,13 +289,28 @@ The example below imports all ES Modules, so exercise caution when using it. Imp ### Icon Component Example +#### Svelte 4 + ```svelte - + +``` + +#### Svelte 5 + +```svelte + + + ``` #### Using the Icon Component