add all entrypoints and inserts module polyfill, plus loads Vite in dev mode

This commit is contained in:
ChaosExAnima 2025-04-15 12:52:02 +02:00
parent 653d8965c6
commit b68f93fc47
No known key found for this signature in database
GPG Key ID: 8F2B333100FB6117
7 changed files with 115 additions and 442 deletions

2
.gitignore vendored
View File

@ -24,7 +24,7 @@
/public/packs-test
.env
.env.production
/node_modules/
node_modules/
/build/
# Ignore Vagrant files

View File

@ -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

View File

@ -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() {

View File

@ -251,6 +251,12 @@ export default tseslint.config([
],
},
],
'import/no-unresolved': [
'error',
{
ignore: ['vite/modulepreload-polyfill'],
},
],
'react/jsx-filename-extension': [
'error',

View File

@ -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",
@ -119,7 +120,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",
@ -156,7 +156,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",

View File

@ -1,99 +1,114 @@
/// <reference types="vitest" />
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<string, string> = 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<string, string>,
);
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);

364
yarn.lock
View File

@ -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:
@ -479,17 +479,7 @@ __metadata:
languageName: node
linkType: hard
"@csstools/css-calc@npm:^2.1.1":
version: 2.1.3
resolution: "@csstools/css-calc@npm:2.1.3"
peerDependencies:
"@csstools/css-parser-algorithms": ^3.0.4
"@csstools/css-tokenizer": ^3.0.3
checksum: 10c0/85f5b4f96d60f395d5f0108056b0ddee037b22d6deba448d74324b50f1c554de284f84715ebfac7b2888b78e09d20d02a7cd213ee7bdaa71011ea9b4eee3a251
languageName: node
linkType: hard
"@csstools/css-calc@npm:^2.1.2":
"@csstools/css-calc@npm:^2.1.1, @csstools/css-calc@npm:^2.1.2":
version: 2.1.2
resolution: "@csstools/css-calc@npm:2.1.2"
peerDependencies:
@ -1681,38 +1671,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"
@ -1786,7 +1744,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"
@ -1877,7 +1834,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"
@ -2437,13 +2393,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"
@ -2804,41 +2753,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"
@ -3106,13 +3020,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"
@ -3150,22 +3057,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"
@ -3927,13 +3818,6 @@ __metadata:
languageName: node
linkType: hard
"async@npm:^3.2.3":
version: 3.2.4
resolution: "async@npm:3.2.4"
checksum: 10c0/b5d02fed64717edf49e35b2b156debd9cf524934ea670108fa5528e7615ed66a5e0bf6c65f832c9483b63aa7f0bffe3e588ebe8d58a539b833798d324516e1c9
languageName: node
linkType: hard
"asynckit@npm:^0.4.0":
version: 0.4.0
resolution: "asynckit@npm:0.4.0"
@ -4122,15 +4006,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"
@ -4269,7 +4144,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:
@ -4316,13 +4191,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"
@ -4883,13 +4751,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"
@ -4983,17 +4844,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"
@ -5379,13 +5229,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"
@ -5752,19 +5595,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"
@ -5838,7 +5668,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
@ -5912,15 +5742,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"
@ -6311,7 +6132,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
@ -7027,82 +6848,6 @@ __metadata:
languageName: node
linkType: hard
"jake@npm:^10.8.5":
version: 10.8.7
resolution: "jake@npm:10.8.7"
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/89326d01a8bc110d02d973729a66394c79a34b34461116f5c530a2a2dbc30265683fe6737928f75df9178e9d369ff1442f5753fb983d525e740eefdadc56a103
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"
@ -7430,13 +7175,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"
@ -7548,13 +7286,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"
@ -7723,15 +7454,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"
@ -8456,7 +8178,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
@ -9068,17 +8790,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"
@ -9313,7 +9024,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
@ -10420,15 +10131,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"
@ -11097,44 +10799,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"
@ -11189,13 +10853,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"
@ -12165,13 +11822,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"