From a10ce39750ab07743affc07c0420b06618bfa1f0 Mon Sep 17 00:00:00 2001 From: Jan Amann Date: Wed, 3 Jan 2024 13:00:41 +0100 Subject: [PATCH 1/2] fix: Fix ESM output of `use-intl` --- packages/use-intl/rollup.config.js | 6 +++++- packages/use-intl/src/core/IntlConfig.tsx | 3 ++- scripts/getBuildConfig.js | 12 ++++++------ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/use-intl/rollup.config.js b/packages/use-intl/rollup.config.js index 032c94884..2bfdf871f 100644 --- a/packages/use-intl/rollup.config.js +++ b/packages/use-intl/rollup.config.js @@ -11,6 +11,10 @@ const input = { module.exports = [ getBuildConfig({input, env: 'development'}), - getBuildConfig({input, env: 'esm'}), + getBuildConfig({ + input, + env: 'esm', + output: {format: 'es'} + }), getBuildConfig({input, env: 'production'}) ]; diff --git a/packages/use-intl/src/core/IntlConfig.tsx b/packages/use-intl/src/core/IntlConfig.tsx index e7109b5a3..9b27d695f 100644 --- a/packages/use-intl/src/core/IntlConfig.tsx +++ b/packages/use-intl/src/core/IntlConfig.tsx @@ -1,7 +1,8 @@ +import type AbstractIntlMessages from './AbstractIntlMessages'; import Formats from './Formats'; import IntlError from './IntlError'; import TimeZone from './TimeZone'; -import {AbstractIntlMessages, RichTranslationValues} from '.'; +import type {RichTranslationValues} from './TranslationValues'; /** * Should be used for entry points that configure the library. diff --git a/scripts/getBuildConfig.js b/scripts/getBuildConfig.js index 693913e97..ae809ff7f 100644 --- a/scripts/getBuildConfig.js +++ b/scripts/getBuildConfig.js @@ -55,7 +55,7 @@ module.exports = function getConfig({ freeze: false, esModule: true, exports: 'named', - ...output, + ...output }, treeshake: { moduleSideEffects: false, @@ -77,11 +77,11 @@ module.exports = function getConfig({ targets: { // Same as https://nextjs.org/docs/architecture/supported-browsers#browserslist browsers: [ - "chrome 64", - "edge 79", - "firefox 67", - "opera 51", - "safari 12" + 'chrome 64', + 'edge 79', + 'firefox 67', + 'opera 51', + 'safari 12' ] } } From 52fb5a709348ab4a9e986de48207e205aee941db Mon Sep 17 00:00:00 2001 From: Jan Amann Date: Wed, 3 Jan 2024 13:08:39 +0100 Subject: [PATCH 2/2] Enable package linting --- packages/next-intl/package.json | 6 +- packages/use-intl/package.json | 6 +- pnpm-lock.yaml | 250 ++++++++++++++++++++++++++++++-- 3 files changed, 250 insertions(+), 12 deletions(-) diff --git a/packages/next-intl/package.json b/packages/next-intl/package.json index 352af49da..b9ba262e5 100644 --- a/packages/next-intl/package.json +++ b/packages/next-intl/package.json @@ -19,7 +19,9 @@ "scripts": { "build": "rm -rf dist && rollup -c", "test": "TZ=Europe/Berlin vitest", - "lint": "eslint src test && tsc --noEmit", + "lint": "pnpm run lint:source && pnpm run lint:package", + "lint:source": "eslint src test && tsc --noEmit", + "lint:package": "publint && attw --pack", "prepublishOnly": "CI=true turbo test && turbo lint && turbo build && cp ../../README.md .", "postpublish": "git checkout . && rm ./README.md", "size": "size-limit" @@ -87,6 +89,7 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0" }, "devDependencies": { + "@arethetypeswrong/cli": "^0.13.5", "@edge-runtime/vm": "^3.1.3", "@size-limit/preset-big-lib": "^8.2.6", "@testing-library/react": "^13.0.0", @@ -99,6 +102,7 @@ "eslint-plugin-deprecation": "^1.4.1", "next": "^14.0.4", "path-to-regexp": "^6.2.1", + "publint": "^0.2.7", "react": "^18.2.0", "react-dom": "^18.2.0", "rollup": "^3.28.1", diff --git a/packages/use-intl/package.json b/packages/use-intl/package.json index d4153313c..f595de605 100644 --- a/packages/use-intl/package.json +++ b/packages/use-intl/package.json @@ -13,7 +13,9 @@ "scripts": { "build": "rm -rf dist && rollup -c", "test": "TZ=Europe/Berlin vitest", - "lint": "eslint src test && tsc --noEmit", + "lint": "pnpm run lint:source && pnpm run lint:package", + "lint:source": "eslint src test && tsc --noEmit", + "lint:package": "publint && attw --pack", "prepublishOnly": "CI=true turbo test && turbo lint && turbo build", "size": "size-limit" }, @@ -68,6 +70,7 @@ "react": "^16.8.0 || ^17.0.0 || ^18.0.0" }, "devDependencies": { + "@arethetypeswrong/cli": "^0.13.5", "@size-limit/preset-big-lib": "^8.2.6", "@testing-library/react": "^13.0.0", "@types/node": "^20.1.2", @@ -76,6 +79,7 @@ "date-fns": "^2.16.1", "eslint": "^8.54.0", "eslint-config-molindo": "^7.0.0", + "publint": "^0.2.7", "react": "^18.2.0", "react-dom": "^18.2.0", "rollup": "^3.28.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1de46e0fa..51be791f9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.1' +lockfileVersion: '6.0' settings: autoInstallPeers: true @@ -101,7 +101,7 @@ importers: version: 8.54.0 eslint-config-molindo: specifier: ^7.0.0 - version: 7.0.0(eslint@8.54.0)(jest@29.5.0)(tailwindcss@3.3.7)(typescript@5.2.2) + version: 7.0.0(eslint@8.54.0)(tailwindcss@3.3.2)(typescript@5.2.2) eslint-config-next: specifier: ^14.0.3 version: 14.0.3(eslint@8.54.0)(typescript@5.2.2) @@ -516,6 +516,9 @@ importers: specifier: ^3.4.0 version: link:../use-intl devDependencies: + '@arethetypeswrong/cli': + specifier: ^0.13.5 + version: 0.13.5 '@edge-runtime/vm': specifier: ^3.1.3 version: 3.1.3 @@ -552,6 +555,9 @@ importers: path-to-regexp: specifier: ^6.2.1 version: 6.2.1 + publint: + specifier: ^0.2.7 + version: 0.2.7 react: specifier: ^18.2.0 version: 18.2.0 @@ -583,6 +589,9 @@ importers: specifier: ^9.3.18 version: 9.3.18 devDependencies: + '@arethetypeswrong/cli': + specifier: ^0.13.5 + version: 0.13.5 '@size-limit/preset-big-lib': specifier: ^8.2.6 version: 8.2.6(esbuild@0.18.20)(size-limit@8.2.6) @@ -607,6 +616,9 @@ importers: eslint-config-molindo: specifier: ^7.0.0 version: 7.0.0(eslint@8.54.0)(jest@29.5.0)(tailwindcss@3.3.7)(typescript@5.2.2) + publint: + specifier: ^0.2.7 + version: 0.2.7 react: specifier: ^18.2.0 version: 18.2.0 @@ -644,6 +656,36 @@ packages: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 + /@andrewbranch/untar.js@1.0.3: + resolution: {integrity: sha512-Jh15/qVmrLGhkKJBdXlK1+9tY4lZruYjsgkDFj08ZmDiWVBLJcqkok7Z0/R0In+i1rScBpJlSvrTS2Lm41Pbnw==} + dev: true + + /@arethetypeswrong/cli@0.13.5: + resolution: {integrity: sha512-S5vPcInsCwt6QJlPi1CxxkVfemVrapeeySv5a1jeodwUzfkG/rLjZTYd1uhwgqDMCgQK4sR8z+W9GZITdqLIew==} + engines: {node: '>=18'} + hasBin: true + dependencies: + '@arethetypeswrong/core': 0.13.5 + chalk: 4.1.2 + cli-table3: 0.6.3 + commander: 10.0.1 + marked: 9.1.6 + marked-terminal: 6.2.0(marked@9.1.6) + semver: 7.5.4 + dev: true + + /@arethetypeswrong/core@0.13.5: + resolution: {integrity: sha512-Ahk+vBUK9RBBx4zle2Y1imrbl68GCtLEl0/UBxsJeDd2j5HkbWcgGtgE2tEPMy4qAgWxj2JEptDPl6Jucbov2w==} + engines: {node: '>=18'} + dependencies: + '@andrewbranch/untar.js': 1.0.3 + fflate: 0.7.4 + semver: 7.5.4 + ts-expose-internals-conditionally: 1.0.0-empty.0 + typescript: 5.3.3 + validate-npm-package-name: 5.0.0 + dev: true + /@babel/code-frame@7.10.4: resolution: {integrity: sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==} dependencies: @@ -4539,6 +4581,13 @@ packages: resolution: {integrity: sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==} dev: false + /@colors/colors@1.5.0: + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + requiresBuild: true + dev: true + optional: true + /@corex/deepmerge@4.0.43: resolution: {integrity: sha512-N8uEMrMPL0cu/bdboEWpQYb/0i2K5Qn8eCsxzOmxSggJbbQte7ljMRoXm917AbntqTGOzdTu+vP3KOOzoC70HQ==} dev: true @@ -9173,6 +9222,13 @@ packages: dependencies: type-fest: 0.21.3 + /ansi-escapes@6.2.0: + resolution: {integrity: sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==} + engines: {node: '>=14.16'} + dependencies: + type-fest: 3.13.1 + dev: true + /ansi-fragments@0.2.1: resolution: {integrity: sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==} dependencies: @@ -9231,6 +9287,10 @@ packages: engines: {node: '>=12'} dev: true + /ansicolors@0.3.2: + resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + dev: true + /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -10681,6 +10741,14 @@ packages: /caniuse-lite@1.0.30001570: resolution: {integrity: sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw==} + /cardinal@2.1.1: + resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} + hasBin: true + dependencies: + ansicolors: 0.3.2 + redeyed: 2.1.1 + dev: true + /ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} dev: false @@ -10730,6 +10798,11 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + /char-regex@1.0.2: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} @@ -10897,6 +10970,15 @@ packages: resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} engines: {node: '>=6'} + /cli-table3@0.6.3: + resolution: {integrity: sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==} + engines: {node: 10.* || >= 12.*} + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + dev: true + /cli-width@3.0.0: resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} engines: {node: '>= 10'} @@ -11084,6 +11166,11 @@ packages: resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} dev: false + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + dev: true + /commander@2.13.0: resolution: {integrity: sha512-MVuS359B+YzaWqjCL/c+22gfryv+mCBPHAv3zyVI2GN8EY6IRP8VwtasXn8jyyhvvq84R4ImN1OKRtcbIasjYA==} dev: false @@ -12626,6 +12713,10 @@ packages: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true + /emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + dev: true + /emojis-list@3.0.0: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} @@ -13100,6 +13191,38 @@ packages: - typescript dev: true + /eslint-config-molindo@7.0.0(eslint@8.54.0)(tailwindcss@3.3.2)(typescript@5.2.2): + resolution: {integrity: sha512-jsy+1xutRhBYOD8EyyOlQRPK9n23yxixfXWEl6ttzTNhV/B8893e09sZDGRc+VK7z4yGW6Pe6cQM9oZkJuEu3Q==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^8.0.0 + dependencies: + '@typescript-eslint/eslint-plugin': 6.4.1(@typescript-eslint/parser@6.4.1)(eslint@8.54.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.4.1(eslint@8.54.0)(typescript@5.2.2) + confusing-browser-globals: 1.0.11 + eslint: 8.54.0 + eslint-plugin-css-modules: 2.11.0(eslint@8.54.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@6.4.1)(eslint@8.54.0) + eslint-plugin-jest: 27.2.3(@typescript-eslint/eslint-plugin@6.4.1)(eslint@8.54.0)(jest@29.5.0)(typescript@5.2.2) + eslint-plugin-jsx-a11y: 6.7.1(eslint@8.54.0) + eslint-plugin-prettier: 5.0.0(eslint@8.54.0)(prettier@3.1.0) + eslint-plugin-react: 7.33.2(eslint@8.54.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.54.0) + eslint-plugin-sort-destructure-keys: 1.5.0(eslint@8.54.0) + eslint-plugin-tailwindcss: 3.13.0(tailwindcss@3.3.2) + eslint-plugin-unicorn: 48.0.1(eslint@8.54.0) + prettier: 3.1.0 + transitivePeerDependencies: + - '@types/eslint' + - eslint-config-prettier + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - jest + - supports-color + - tailwindcss + - typescript + dev: true + /eslint-config-next@14.0.3(eslint@8.54.0)(typescript@5.2.2): resolution: {integrity: sha512-IKPhpLdpSUyKofmsXUfrvBC49JMUTdeaD8ZIH4v9Vk0sC1X6URTuTJCLtA0Vwuj7V/CQh0oISuSTvNn5//Buew==} peerDependencies: @@ -13273,7 +13396,7 @@ packages: doctrine: 2.1.0 eslint: 8.54.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.5)(eslint@8.54.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.54.0) has: 1.0.3 is-core-module: 2.12.0 is-glob: 4.0.3 @@ -13434,6 +13557,17 @@ packages: natural-compare-lite: 1.4.0 dev: true + /eslint-plugin-tailwindcss@3.13.0(tailwindcss@3.3.2): + resolution: {integrity: sha512-Fcep4KDRLWaK3KmkQbdyKHG0P4GdXFmXdDaweTIPcgOP60OOuWFbh1++dufRT28Q4zpKTKaHwTsXPJ4O/EjU2Q==} + engines: {node: '>=12.13.0'} + peerDependencies: + tailwindcss: ^3.3.2 + dependencies: + fast-glob: 3.2.12 + postcss: 8.4.31 + tailwindcss: 3.3.2 + dev: true + /eslint-plugin-tailwindcss@3.13.0(tailwindcss@3.3.3): resolution: {integrity: sha512-Fcep4KDRLWaK3KmkQbdyKHG0P4GdXFmXdDaweTIPcgOP60OOuWFbh1++dufRT28Q4zpKTKaHwTsXPJ4O/EjU2Q==} engines: {node: '>=12.13.0'} @@ -14202,6 +14336,10 @@ packages: resolution: {integrity: sha512-e6eB7zN6UBSwGVwrbWVH+gdLnkW9WwHhmq2YDK1Sh30pzx1onRVGBvogTlUeWxwTa+L86NYdo4hFkh7O8ZjSnA==} dev: false + /fflate@0.7.4: + resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==} + dev: true + /figgy-pudding@3.5.2: resolution: {integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==} dev: false @@ -17932,6 +18070,27 @@ packages: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} dev: false + /marked-terminal@6.2.0(marked@9.1.6): + resolution: {integrity: sha512-ubWhwcBFHnXsjYNsu+Wndpg0zhY4CahSpPlA70PlO0rR9r2sZpkyU+rkCsOWH+KMEkx847UpALON+HWgxowFtw==} + engines: {node: '>=16.0.0'} + peerDependencies: + marked: '>=1 <12' + dependencies: + ansi-escapes: 6.2.0 + cardinal: 2.1.1 + chalk: 5.3.0 + cli-table3: 0.6.3 + marked: 9.1.6 + node-emoji: 2.1.3 + supports-hyperlinks: 3.0.0 + dev: true + + /marked@9.1.6: + resolution: {integrity: sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==} + engines: {node: '>= 16'} + hasBin: true + dev: true + /match-sorter@6.3.1: resolution: {integrity: sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==} dependencies: @@ -19766,6 +19925,16 @@ packages: minimatch: 3.1.2 dev: false + /node-emoji@2.1.3: + resolution: {integrity: sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==} + engines: {node: '>=18'} + dependencies: + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 + dev: true + /node-fetch@2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} engines: {node: 4.x || >=6.0.0} @@ -19975,6 +20144,13 @@ packages: npm-normalize-package-bin: 1.0.1 dev: true + /npm-bundled@2.0.1: + resolution: {integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + npm-normalize-package-bin: 2.0.0 + dev: true + /npm-bundled@3.0.0: resolution: {integrity: sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -19993,6 +20169,11 @@ packages: resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} dev: true + /npm-normalize-package-bin@2.0.0: + resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dev: true + /npm-normalize-package-bin@3.0.1: resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -20047,6 +20228,17 @@ packages: npm-normalize-package-bin: 1.0.1 dev: true + /npm-packlist@5.1.3: + resolution: {integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + hasBin: true + dependencies: + glob: 8.1.0 + ignore-walk: 5.0.1 + npm-bundled: 2.0.1 + npm-normalize-package-bin: 2.0.0 + dev: true + /npm-packlist@7.0.4: resolution: {integrity: sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -21204,7 +21396,6 @@ packages: postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.2 - dev: false /postcss-import@15.1.0(postcss@8.4.31): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} @@ -21237,7 +21428,6 @@ packages: dependencies: camelcase-css: 2.0.1 postcss: 8.4.24 - dev: false /postcss-js@4.0.1(postcss@8.4.31): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} @@ -21273,7 +21463,6 @@ packages: lilconfig: 2.1.0 postcss: 8.4.24 yaml: 2.2.2 - dev: false /postcss-load-config@4.0.1(postcss@8.4.31): resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} @@ -21467,7 +21656,6 @@ packages: dependencies: postcss: 8.4.24 postcss-selector-parser: 6.0.12 - dev: false /postcss-nested@6.0.1(postcss@8.4.31): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} @@ -21677,7 +21865,6 @@ packages: nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 - dev: false /postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} @@ -22035,6 +22222,16 @@ packages: safe-buffer: 5.2.1 dev: false + /publint@0.2.7: + resolution: {integrity: sha512-tLU4ee3110BxWfAmCZggJmCUnYWgPTr0QLnx08sqpLYa8JHRiOudd+CgzdpfU5x5eOaW2WMkpmOrFshRFYK7Mw==} + engines: {node: '>=16'} + hasBin: true + dependencies: + npm-packlist: 5.1.3 + picocolors: 1.0.0 + sade: 1.8.1 + dev: true + /pump@2.0.1: resolution: {integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==} dependencies: @@ -22613,6 +22810,12 @@ packages: strip-indent: 3.0.0 dev: true + /redeyed@2.1.1: + resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} + dependencies: + esprima: 4.0.1 + dev: true + /reflect.getprototypeof@1.0.3: resolution: {integrity: sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==} engines: {node: '>= 0.4'} @@ -23563,6 +23766,13 @@ packages: picocolors: 1.0.0 dev: true + /skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + dependencies: + unicode-emoji-modifier-base: 1.0.0 + dev: true + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -24306,6 +24516,14 @@ packages: supports-color: 7.2.0 dev: false + /supports-hyperlinks@3.0.0: + resolution: {integrity: sha512-QBDPHyPQDRTy9ku4URNGY5Lah8PAaXs6tAAwp55sL5WCsSW7GIfdf6W5ixfziW+t7wh3GVvHyHHyQ1ESsoRvaA==} + engines: {node: '>=14.18'} + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + dev: true + /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -24373,7 +24591,6 @@ packages: sucrase: 3.32.0 transitivePeerDependencies: - ts-node - dev: false /tailwindcss@3.3.3: resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==} @@ -24877,6 +25094,10 @@ packages: engines: {node: '>=6.10'} dev: false + /ts-expose-internals-conditionally@1.0.0-empty.0: + resolution: {integrity: sha512-F8m9NOF6ZhdOClDVdlM8gj3fDCav4ZIFSs/EI3ksQbAAXVSCN/Jh5OCJDDZWBuBy9psFc6jULGDlPwjMYMhJDw==} + dev: true + /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -25119,6 +25340,11 @@ packages: engines: {node: '>=10'} dev: false + /type-fest@3.13.1: + resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} + engines: {node: '>=14.16'} + dev: true + /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -25179,7 +25405,6 @@ packages: resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} engines: {node: '>=14.17'} hasBin: true - dev: false /ua-parser-js@0.7.35: resolution: {integrity: sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==} @@ -25230,6 +25455,11 @@ packages: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} + /unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + dev: true + /unicode-match-property-ecmascript@2.0.0: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'}