diff --git a/.gitignore b/.gitignore index 61bcbeb67b..0a2c11c534 100644 --- a/.gitignore +++ b/.gitignore @@ -24,7 +24,7 @@ /public/packs-test .env .env.production -/node_modules/ +node_modules/ /build/ # Ignore Vagrant files diff --git a/Procfile.dev b/Procfile.dev index 4b8e238c0e..99de0616c5 100644 --- a/Procfile.dev +++ b/Procfile.dev @@ -1,4 +1,4 @@ web: env PORT=3000 RAILS_ENV=development bundle exec puma -C config/puma.rb sidekiq: env PORT=3000 RAILS_ENV=development bundle exec sidekiq stream: env PORT=4000 yarn workspace @mastodon/streaming start -vite: bin/vite dev +vite: yarn dev diff --git a/app/javascript/mastodon/polyfills/index.ts b/app/javascript/mastodon/polyfills/index.ts index 9f0ce04e50..c001421c36 100644 --- a/app/javascript/mastodon/polyfills/index.ts +++ b/app/javascript/mastodon/polyfills/index.ts @@ -2,6 +2,9 @@ // If there are no polyfills, then this is just Promise.resolve() which means // it will execute in the same tick of the event loop (i.e. near-instant). +// eslint-disable-next-line import/extensions -- This file is virtual so it thinks it has an extension +import 'vite/modulepreload-polyfill'; + import { loadIntlPolyfills } from './intl'; function importExtraPolyfills() { diff --git a/eslint.config.mjs b/eslint.config.mjs index f08cb1f4c9..7f9652a5ee 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -251,6 +251,12 @@ export default tseslint.config([ ], }, ], + 'import/no-unresolved': [ + 'error', + { + ignore: ['vite/modulepreload-polyfill'], + }, + ], 'react/jsx-filename-extension': [ 'error', diff --git a/package.json b/package.json index d8339e2b41..c311caa01d 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "streaming" ], "scripts": { + "dev": "vite dev", "build:development": "cross-env RAILS_ENV=development NODE_ENV=development ./bin/vite build", "build:production": "cross-env RAILS_ENV=production NODE_ENV=production ./bin/vite build", "fix:js": "eslint . --cache --fix", @@ -120,7 +121,6 @@ "@types/hoist-non-react-statics": "^3.3.1", "@types/http-link-header": "^1.0.3", "@types/intl": "^1.2.0", - "@types/jest": "^29.5.14", "@types/js-yaml": "^4.0.5", "@types/lodash": "^4.14.195", "@types/object-assign": "^4.0.30", @@ -157,7 +157,6 @@ "stylelint": "^16.11.0", "stylelint-config-prettier-scss": "^1.0.0", "stylelint-config-standard-scss": "^14.0.0", - "ts-jest": "^29.3.2", "typescript": "~5.7.3", "typescript-eslint": "^8.29.1", "vite-plugin-rails": "^0.5.0", diff --git a/vite.config.mts b/vite.config.mts index 9a5ae5c874..ab83a7f1d7 100644 --- a/vite.config.mts +++ b/vite.config.mts @@ -1,99 +1,114 @@ /// -import path from 'path'; +import path from 'node:path'; +import fs from 'node:fs/promises'; import react from '@vitejs/plugin-react'; import svgr from 'vite-plugin-svgr'; -import { defineConfig, configDefaults } from 'vitest/config'; +import { + defineConfig, + configDefaults, + UserConfigFnPromise, +} from 'vitest/config'; import postcssPresetEnv from 'postcss-preset-env'; import { manifestSRI } from './config/vite/plugin-manifest-sri'; -export default defineConfig({ - root: './app/javascript/entrypoints', - css: { - postcss: { - plugins: [ - postcssPresetEnv({ - features: { - 'logical-properties-and-values': false, - }, - }), - ], +const entrypointRoot = path.resolve(__dirname, 'app/javascript/entrypoints'); + +const config: UserConfigFnPromise = async () => { + const entrypointFiles = await fs.readdir(entrypointRoot); + const entrypoints: Record = entrypointFiles.reduce( + (acc, file) => { + const name = path.basename(file).replace(/\.tsx?$/, ''); + acc[name] = path.resolve(entrypointRoot, file); + return acc; }, - }, - resolve: { - alias: { - mastodon: path.resolve(__dirname, 'app/javascript/mastodon'), - '@': path.resolve(__dirname, 'app/javascript'), - }, - }, - build: { - commonjsOptions: { transformMixedEsModules: true }, - outDir: path.resolve(__dirname, '.dist'), - emptyOutDir: true, - manifest: 'manifest.json', - rollupOptions: { - input: { - admin: path.resolve(__dirname, 'app/javascript/entrypoints/admin.tsx'), - application: path.resolve( - __dirname, - 'app/javascript/entrypoints/application.ts', - ), - twoFactor: path.resolve( - __dirname, - 'app/javascript/entrypoints/two_factor_authentication.ts', - ), + {} as Record, + ); + return { + root: path.resolve(__dirname, 'app/javascript'), + css: { + postcss: { + plugins: [ + postcssPresetEnv({ + features: { + 'logical-properties-and-values': false, + }, + }), + ], }, - output: { - chunkFileNames(chunkInfo) { - if ( - /mastodon\/locales\/[a-zA-Z-]+\.json/.exec(chunkInfo.facadeModuleId) - ) { - // put all locale files in `intl/` - return `intl/[name]-[hash].js`; - } else if ( - /node_modules\/@formatjs\//.exec(chunkInfo.facadeModuleId) - ) { - // use a custom name for formatjs polyfill files - const name = /node_modules\/@formatjs\/([^/]+)\//.exec( - chunkInfo.facadeModuleId, - ); - - if (name?.[1]) { - return `intl/[name]-${name[1]}-[hash].js`; + }, + resolve: { + alias: { + mastodon: path.resolve(__dirname, 'app/javascript/mastodon'), + '@': path.resolve(__dirname, 'app/javascript'), + }, + }, + build: { + commonjsOptions: { transformMixedEsModules: true }, + outDir: path.resolve(__dirname, '.dist'), + emptyOutDir: true, + manifest: 'manifest.json', + rollupOptions: { + input: entrypoints, + output: { + chunkFileNames(chunkInfo) { + if (!chunkInfo.facadeModuleId) { + return '[name]-[hash].js'; } - } else if (chunkInfo.name === 'index' && chunkInfo.facadeModuleId) { - // Use a custom name for chunks, to avoid having too many of them called "index" - const parts = chunkInfo.facadeModuleId.split('/'); + if ( + /mastodon\/locales\/[a-zA-Z-]+\.json/.exec( + chunkInfo.facadeModuleId, + ) + ) { + // put all locale files in `intl/` + return `intl/[name]-[hash].js`; + } else if ( + /node_modules\/@formatjs\//.exec(chunkInfo.facadeModuleId) + ) { + // use a custom name for formatjs polyfill files + const name = /node_modules\/@formatjs\/([^/]+)\//.exec( + chunkInfo.facadeModuleId, + ); - const parent = parts.at(-2); + if (name?.[1]) { + return `intl/[name]-${name[1]}-[hash].js`; + } + } else if (chunkInfo.name === 'index' && chunkInfo.facadeModuleId) { + // Use a custom name for chunks, to avoid having too many of them called "index" + const parts = chunkInfo.facadeModuleId.split('/'); - if (parent) { - return `${parent}-[name]-[hash].js`; + const parent = parts.at(-2); + + if (parent) { + return `${parent}-[name]-[hash].js`; + } } - } - return `[name]-[hash].js`; + return `[name]-[hash].js`; + }, }, }, }, - }, - plugins: [react(), svgr(), manifestSRI()], - test: { - environment: 'jsdom', - include: [ - ...configDefaults.include, - '**/__tests__/**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}', - ], - exclude: [ - ...configDefaults.exclude, - '**/node_modules/**', - 'vendor/**', - 'config/**', - 'log/**', - 'public/**', - 'tmp/**', - ], - globals: true, - }, -}); + plugins: [react(), svgr(), manifestSRI()], + test: { + environment: 'jsdom', + include: [ + ...configDefaults.include, + '**/__tests__/**/*.{js,mjs,cjs,ts,mts,cts,jsx,tsx}', + ], + exclude: [ + ...configDefaults.exclude, + '**/node_modules/**', + 'vendor/**', + 'config/**', + 'log/**', + 'public/**', + 'tmp/**', + ], + globals: true, + }, + }; +}; + +export default defineConfig(config); diff --git a/yarn.lock b/yarn.lock index 6007d5081b..f66f9479ed 100644 --- a/yarn.lock +++ b/yarn.lock @@ -52,7 +52,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.26.2": +"@babel/code-frame@npm:^7.26.2": version: 7.26.2 resolution: "@babel/code-frame@npm:7.26.2" dependencies: @@ -1678,38 +1678,6 @@ __metadata: languageName: node linkType: hard -"@jest/expect-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "@jest/expect-utils@npm:29.7.0" - dependencies: - jest-get-type: "npm:^29.6.3" - checksum: 10c0/60b79d23a5358dc50d9510d726443316253ecda3a7fb8072e1526b3e0d3b14f066ee112db95699b7a43ad3f0b61b750c72e28a5a1cac361d7a2bb34747fa938a - languageName: node - linkType: hard - -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" - dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be - languageName: node - linkType: hard - -"@jest/types@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/types@npm:29.6.3" - dependencies: - "@jest/schemas": "npm:^29.6.3" - "@types/istanbul-lib-coverage": "npm:^2.0.0" - "@types/istanbul-reports": "npm:^3.0.0" - "@types/node": "npm:*" - "@types/yargs": "npm:^17.0.8" - chalk: "npm:^4.0.0" - checksum: 10c0/ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 - languageName: node - linkType: hard - "@jridgewell/gen-mapping@npm:^0.3.0, @jridgewell/gen-mapping@npm:^0.3.5": version: 0.3.5 resolution: "@jridgewell/gen-mapping@npm:0.3.5" @@ -1784,7 +1752,6 @@ __metadata: "@types/hoist-non-react-statics": "npm:^3.3.1" "@types/http-link-header": "npm:^1.0.3" "@types/intl": "npm:^1.2.0" - "@types/jest": "npm:^29.5.14" "@types/js-yaml": "npm:^4.0.5" "@types/lodash": "npm:^4.14.195" "@types/object-assign": "npm:^4.0.30" @@ -1875,7 +1842,6 @@ __metadata: substring-trie: "npm:^1.0.2" tesseract.js: "npm:^6.0.0" tiny-queue: "npm:^0.2.1" - ts-jest: "npm:^29.3.2" twitter-text: "npm:3.1.0" typescript: "npm:~5.7.3" typescript-eslint: "npm:^8.29.1" @@ -2435,13 +2401,6 @@ __metadata: languageName: node linkType: hard -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e - languageName: node - linkType: hard - "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0": version: 8.0.0 resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:8.0.0" @@ -2802,41 +2761,6 @@ __metadata: languageName: node linkType: hard -"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0": - version: 2.0.5 - resolution: "@types/istanbul-lib-coverage@npm:2.0.5" - checksum: 10c0/e15cfc01a7ac60062f771314c959011bae7de7ceaef8e294f13427a11f21741cbfac98ad8cd9ecbf0e3d72ab7ddc327bacb3fab32c6b26ab19dbbbc1a69a9d3b - languageName: node - linkType: hard - -"@types/istanbul-lib-report@npm:*": - version: 3.0.2 - resolution: "@types/istanbul-lib-report@npm:3.0.2" - dependencies: - "@types/istanbul-lib-coverage": "npm:*" - checksum: 10c0/c168e425c95c167d83c7cbd65ff6b620cc53c5ef199a58428758586bbc28faf5c51291667e4455777b47ada12381e53fce7b92e32f431f85d8ac8025074d1908 - languageName: node - linkType: hard - -"@types/istanbul-reports@npm:^3.0.0": - version: 3.0.3 - resolution: "@types/istanbul-reports@npm:3.0.3" - dependencies: - "@types/istanbul-lib-report": "npm:*" - checksum: 10c0/dcd8291370d9192aa980bf849309a7ca27e1d030ccc5e7edeef47d6612c2d57d611855543b9ffeb982d162a5ab2a44d8b40baa4dc93c1d7aa6fbcaeb16e69e78 - languageName: node - linkType: hard - -"@types/jest@npm:^29.5.14": - version: 29.5.14 - resolution: "@types/jest@npm:29.5.14" - dependencies: - expect: "npm:^29.0.0" - pretty-format: "npm:^29.0.0" - checksum: 10c0/18e0712d818890db8a8dab3d91e9ea9f7f19e3f83c2e50b312f557017dc81466207a71f3ed79cf4428e813ba939954fa26ffa0a9a7f153181ba174581b1c2aed - languageName: node - linkType: hard - "@types/js-yaml@npm:^4.0.5": version: 4.0.9 resolution: "@types/js-yaml@npm:4.0.9" @@ -3104,13 +3028,6 @@ __metadata: languageName: node linkType: hard -"@types/stack-utils@npm:^2.0.0": - version: 2.0.2 - resolution: "@types/stack-utils@npm:2.0.2" - checksum: 10c0/c2bf0de59ee0a1e2b2031e8a6225f412976377868c42a66537e284a020e9eb4068ed9b9da69d14c1727ab56e605532e877777c7d1bbfd3e9a42ae17bcef7d213 - languageName: node - linkType: hard - "@types/trusted-types@npm:^2.0.2": version: 2.0.3 resolution: "@types/trusted-types@npm:2.0.3" @@ -3148,22 +3065,6 @@ __metadata: languageName: node linkType: hard -"@types/yargs-parser@npm:*": - version: 21.0.2 - resolution: "@types/yargs-parser@npm:21.0.2" - checksum: 10c0/422b8c59e21d9594e5a94afa45a3692d96c14f8fc7554bb1c1c390276815f09996ce0f8ed11893b6f8b2efc4ced686231dca5be6d76a4c4ceb56534474e95aca - languageName: node - linkType: hard - -"@types/yargs@npm:^17.0.8": - version: 17.0.32 - resolution: "@types/yargs@npm:17.0.32" - dependencies: - "@types/yargs-parser": "npm:*" - checksum: 10c0/2095e8aad8a4e66b86147415364266b8d607a3b95b4239623423efd7e29df93ba81bb862784a6e08664f645cc1981b25fd598f532019174cd3e5e1e689e1cccf - languageName: node - linkType: hard - "@typescript-eslint/eslint-plugin@npm:8.28.0": version: 8.28.0 resolution: "@typescript-eslint/eslint-plugin@npm:8.28.0" @@ -3925,13 +3826,6 @@ __metadata: languageName: node linkType: hard -"async@npm:^3.2.3": - version: 3.2.6 - resolution: "async@npm:3.2.6" - checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70 - languageName: node - linkType: hard - "asynckit@npm:^0.4.0": version: 0.4.0 resolution: "asynckit@npm:0.4.0" @@ -4120,15 +4014,6 @@ __metadata: languageName: node linkType: hard -"bs-logger@npm:^0.2.6": - version: 0.2.6 - resolution: "bs-logger@npm:0.2.6" - dependencies: - fast-json-stable-stringify: "npm:2.x" - checksum: 10c0/80e89aaaed4b68e3374ce936f2eb097456a0dddbf11f75238dbd53140b1e39259f0d248a5089ed456f1158984f22191c3658d54a713982f676709fbe1a6fa5a0 - languageName: node - linkType: hard - "bufferutil@npm:^4.0.7": version: 4.0.9 resolution: "bufferutil@npm:4.0.9" @@ -4267,7 +4152,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.2": +"chalk@npm:^4.0.0, chalk@npm:^4.1.0, chalk@npm:^4.1.2": version: 4.1.2 resolution: "chalk@npm:4.1.2" dependencies: @@ -4314,13 +4199,6 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.2.0": - version: 3.9.0 - resolution: "ci-info@npm:3.9.0" - checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a - languageName: node - linkType: hard - "classnames@npm:^2.2.5, classnames@npm:^2.3.2": version: 2.5.1 resolution: "classnames@npm:2.5.1" @@ -4881,13 +4759,6 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 - languageName: node - linkType: hard - "dir-glob@npm:^3.0.1": version: 3.0.1 resolution: "dir-glob@npm:3.0.1" @@ -4981,17 +4852,6 @@ __metadata: languageName: node linkType: hard -"ejs@npm:^3.1.10": - version: 3.1.10 - resolution: "ejs@npm:3.1.10" - dependencies: - jake: "npm:^10.8.5" - bin: - ejs: bin/cli.js - checksum: 10c0/52eade9e68416ed04f7f92c492183340582a36482836b11eab97b159fcdcfdedc62233a1bf0bf5e5e1851c501f2dca0e2e9afd111db2599e4e7f53ee29429ae1 - languageName: node - linkType: hard - "electron-to-chromium@npm:^1.4.668": version: 1.4.681 resolution: "electron-to-chromium@npm:1.4.681" @@ -5377,13 +5237,6 @@ __metadata: languageName: node linkType: hard -"escape-string-regexp@npm:^2.0.0": - version: 2.0.0 - resolution: "escape-string-regexp@npm:2.0.0" - checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 - languageName: node - linkType: hard - "escape-string-regexp@npm:^4.0.0": version: 4.0.0 resolution: "escape-string-regexp@npm:4.0.0" @@ -5750,19 +5603,6 @@ __metadata: languageName: node linkType: hard -"expect@npm:^29.0.0": - version: 29.7.0 - resolution: "expect@npm:29.7.0" - dependencies: - "@jest/expect-utils": "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - jest-matcher-utils: "npm:^29.7.0" - jest-message-util: "npm:^29.7.0" - jest-util: "npm:^29.7.0" - checksum: 10c0/2eddeace66e68b8d8ee5f7be57f3014b19770caaf6815c7a08d131821da527fb8c8cb7b3dcd7c883d2d3d8d184206a4268984618032d1e4b16dc8d6596475d41 - languageName: node - linkType: hard - "exponential-backoff@npm:^3.1.1": version: 3.1.1 resolution: "exponential-backoff@npm:3.1.1" @@ -5836,7 +5676,7 @@ __metadata: languageName: node linkType: hard -"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0, fast-json-stable-stringify@npm:^2.1.0": +"fast-json-stable-stringify@npm:^2.0.0": version: 2.1.0 resolution: "fast-json-stable-stringify@npm:2.1.0" checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b @@ -5910,15 +5750,6 @@ __metadata: languageName: node linkType: hard -"filelist@npm:^1.0.4": - version: 1.0.4 - resolution: "filelist@npm:1.0.4" - dependencies: - minimatch: "npm:^5.0.1" - checksum: 10c0/426b1de3944a3d153b053f1c0ebfd02dccd0308a4f9e832ad220707a6d1f1b3c9784d6cadf6b2f68f09a57565f63ebc7bcdc913ccf8012d834f472c46e596f41 - languageName: node - linkType: hard - "fill-range@npm:^7.1.1": version: 7.1.1 resolution: "fill-range@npm:7.1.1" @@ -6309,7 +6140,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": +"graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -7025,82 +6856,6 @@ __metadata: languageName: node linkType: hard -"jake@npm:^10.8.5": - version: 10.9.2 - resolution: "jake@npm:10.9.2" - dependencies: - async: "npm:^3.2.3" - chalk: "npm:^4.0.2" - filelist: "npm:^1.0.4" - minimatch: "npm:^3.1.2" - bin: - jake: bin/cli.js - checksum: 10c0/c4597b5ed9b6a908252feab296485a4f87cba9e26d6c20e0ca144fb69e0c40203d34a2efddb33b3d297b8bd59605e6c1f44f6221ca1e10e69175ecbf3ff5fe31 - languageName: node - linkType: hard - -"jest-diff@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-diff@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - diff-sequences: "npm:^29.6.3" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 - languageName: node - linkType: hard - -"jest-get-type@npm:^29.6.3": - version: 29.6.3 - resolution: "jest-get-type@npm:29.6.3" - checksum: 10c0/552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b - languageName: node - linkType: hard - -"jest-matcher-utils@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-matcher-utils@npm:29.7.0" - dependencies: - chalk: "npm:^4.0.0" - jest-diff: "npm:^29.7.0" - jest-get-type: "npm:^29.6.3" - pretty-format: "npm:^29.7.0" - checksum: 10c0/0d0e70b28fa5c7d4dce701dc1f46ae0922102aadc24ed45d594dd9b7ae0a8a6ef8b216718d1ab79e451291217e05d4d49a82666e1a3cc2b428b75cd9c933244e - languageName: node - linkType: hard - -"jest-message-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-message-util@npm:29.7.0" - dependencies: - "@babel/code-frame": "npm:^7.12.13" - "@jest/types": "npm:^29.6.3" - "@types/stack-utils": "npm:^2.0.0" - chalk: "npm:^4.0.0" - graceful-fs: "npm:^4.2.9" - micromatch: "npm:^4.0.4" - pretty-format: "npm:^29.7.0" - slash: "npm:^3.0.0" - stack-utils: "npm:^2.0.3" - checksum: 10c0/850ae35477f59f3e6f27efac5215f706296e2104af39232bb14e5403e067992afb5c015e87a9243ec4d9df38525ef1ca663af9f2f4766aa116f127247008bd22 - languageName: node - linkType: hard - -"jest-util@npm:^29.0.0, jest-util@npm:^29.7.0": - version: 29.7.0 - resolution: "jest-util@npm:29.7.0" - dependencies: - "@jest/types": "npm:^29.6.3" - "@types/node": "npm:*" - chalk: "npm:^4.0.0" - ci-info: "npm:^3.2.0" - graceful-fs: "npm:^4.2.9" - picomatch: "npm:^2.2.3" - checksum: 10c0/bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 - languageName: node - linkType: hard - "joycon@npm:^3.1.1": version: 3.1.1 resolution: "joycon@npm:3.1.1" @@ -7428,13 +7183,6 @@ __metadata: languageName: node linkType: hard -"lodash.memoize@npm:^4.1.2": - version: 4.1.2 - resolution: "lodash.memoize@npm:4.1.2" - checksum: 10c0/c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8 - languageName: node - linkType: hard - "lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" @@ -7546,13 +7294,6 @@ __metadata: languageName: node linkType: hard -"make-error@npm:^1.3.6": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f - languageName: node - linkType: hard - "make-fetch-happen@npm:^13.0.0": version: 13.0.0 resolution: "make-fetch-happen@npm:13.0.0" @@ -7721,15 +7462,6 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^5.0.1": - version: 5.1.6 - resolution: "minimatch@npm:5.1.6" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 - languageName: node - linkType: hard - "minimatch@npm:^9.0.4": version: 9.0.4 resolution: "minimatch@npm:9.0.4" @@ -8454,7 +8186,7 @@ __metadata: languageName: node linkType: hard -"picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": +"picomatch@npm:^2.3.1": version: 2.3.1 resolution: "picomatch@npm:2.3.1" checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be @@ -9066,17 +8798,6 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": - version: 29.7.0 - resolution: "pretty-format@npm:29.7.0" - dependencies: - "@jest/schemas": "npm:^29.6.3" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^18.0.0" - checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f - languageName: node - linkType: hard - "proc-log@npm:^3.0.0": version: 3.0.0 resolution: "proc-log@npm:3.0.0" @@ -9311,7 +9032,7 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.12.0 || ^17.0.0 || ^18.0.0, react-is@npm:^18.0.0, react-is@npm:^18.3.1": +"react-is@npm:^16.12.0 || ^17.0.0 || ^18.0.0, react-is@npm:^18.3.1": version: 18.3.1 resolution: "react-is@npm:18.3.1" checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 @@ -10418,15 +10139,6 @@ __metadata: languageName: node linkType: hard -"stack-utils@npm:^2.0.3": - version: 2.0.6 - resolution: "stack-utils@npm:2.0.6" - dependencies: - escape-string-regexp: "npm:^2.0.0" - checksum: 10c0/651c9f87667e077584bbe848acaecc6049bc71979f1e9a46c7b920cad4431c388df0f51b8ad7cfd6eed3db97a2878d0fc8b3122979439ea8bac29c61c95eec8a - languageName: node - linkType: hard - "stackback@npm:0.0.2": version: 0.0.2 resolution: "stackback@npm:0.0.2" @@ -11095,44 +10807,6 @@ __metadata: languageName: node linkType: hard -"ts-jest@npm:^29.3.2": - version: 29.3.2 - resolution: "ts-jest@npm:29.3.2" - dependencies: - bs-logger: "npm:^0.2.6" - ejs: "npm:^3.1.10" - fast-json-stable-stringify: "npm:^2.1.0" - jest-util: "npm:^29.0.0" - json5: "npm:^2.2.3" - lodash.memoize: "npm:^4.1.2" - make-error: "npm:^1.3.6" - semver: "npm:^7.7.1" - type-fest: "npm:^4.39.1" - yargs-parser: "npm:^21.1.1" - peerDependencies: - "@babel/core": ">=7.0.0-beta.0 <8" - "@jest/transform": ^29.0.0 - "@jest/types": ^29.0.0 - babel-jest: ^29.0.0 - jest: ^29.0.0 - typescript: ">=4.3 <6" - peerDependenciesMeta: - "@babel/core": - optional: true - "@jest/transform": - optional: true - "@jest/types": - optional: true - babel-jest: - optional: true - esbuild: - optional: true - bin: - ts-jest: cli.js - checksum: 10c0/84762720dbef45c1644348d67d0dcb8b7ad6369a16628c4752aceeb47f0ccdad63ae14485048b641c20ce096337a160ab816881361ef5517325bac6a5b3756e0 - languageName: node - linkType: hard - "tsconfig-paths@npm:^3.15.0": version: 3.15.0 resolution: "tsconfig-paths@npm:3.15.0" @@ -11187,13 +10861,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^4.39.1": - version: 4.39.1 - resolution: "type-fest@npm:4.39.1" - checksum: 10c0/f5bf302eb2e2f70658be1757aa578f4a09da3f65699b0b12b7ae5502ccea76e5124521a6e6b69540f442c3dc924c394202a2ab58718d0582725c7ac23c072594 - languageName: node - linkType: hard - "type-is@npm:~1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" @@ -12163,13 +11830,6 @@ __metadata: languageName: node linkType: hard -"yargs-parser@npm:^21.1.1": - version: 21.1.1 - resolution: "yargs-parser@npm:21.1.1" - checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 - languageName: node - linkType: hard - "yocto-queue@npm:^0.1.0": version: 0.1.0 resolution: "yocto-queue@npm:0.1.0"