* Ensure all packages remove a node_modules in their folder when cleaning * Upgrade typescript to 5.6.3 and move to root package.json Note that this currently fails to build the types package due to @types/node which I'm going to try to remove * Update @types/node to 20.11 to match .nvmrc * Upgrade zen-observable to 0.10.0 It looks like localforage-observable uses its own version of zen-observable because it hasn't been updated in years. This seems like something we probably should remove. * Update yargs to 17.7.2 * Update webpack-dev-server to 5.1.0 * Remove webpack-bundle-analyzer since we haven't used it in years * Update webpack to 5.95.0 * Update web-vitals to 4.2.4 * Update turndown to 7.2.0 * Update tinycolor2 to 1.6.0 * Update timezones.json to 1.7.0 * Update stylelint to 16.10.0, stylelint-config-recommended-scss to 14.1.0, and stylelint-scss to 6.8.1 * Update webpack-cli to 5.1.4 * Update style-loader to 4.0.0 * Change all Webpack scripts to be ES modules * Update strip-ansi to 7.1.0 This is a build script dependency * Update chalk to 5.3.0 This is a build script dependency * Update concurrently to 9.0.1 This is a build script dependency * Update smooth-scroll-into-view-if-needed to 2.0.2 * MM-48205 Update serialize-error to 11.0.3 We didn't update this before because it's an ES module which caused Jest to complain. We can fix that by making Jest transform the it * Update semver to 7.6.3 * Update types for semver, tinycolor2, turndown, and webpack * Fix type issues: change Props to a type * Fix type issues: invalid HTML attributes * Remove unneeded option from Webpack config
67 строки
2.5 KiB
JavaScript
67 строки
2.5 KiB
JavaScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
/** @type {import('jest').Config} */
|
|
|
|
const config = {
|
|
snapshotSerializers: ['enzyme-to-json/serializer'],
|
|
testPathIgnorePatterns: ['/node_modules/'],
|
|
clearMocks: true,
|
|
collectCoverageFrom: [
|
|
'actions/src/**/*.{js,jsx,ts,tsx}',
|
|
'client/src/**/*.{js,jsx,ts,tsx}',
|
|
'components/src/**/*.{jsx,tsx}',
|
|
'plugins/src/**/*.{js,jsx,ts,tsx}',
|
|
'reducers/src/**/*.{js,jsx,ts,tsx}',
|
|
'routes/src/**/*.{js,jsx,ts,tsx}',
|
|
'selectors/src/**/*.{js,jsx,ts,tsx}',
|
|
'stores/src/**/*.{js,jsx,ts,tsx}',
|
|
'utils/src/**/*.{js,jsx,ts,tsx}',
|
|
],
|
|
coverageReporters: ['lcov', 'text-summary'],
|
|
fakeTimers: {
|
|
doNotFake: ['performance'],
|
|
},
|
|
moduleNameMapper: {
|
|
'^@mattermost/(components)$': '<rootDir>/../platform/$1/src',
|
|
'^@mattermost/(client)$': '<rootDir>/../platform/$1/src',
|
|
'^@mattermost/(types)/(.*)$': '<rootDir>/../platform/$1/src/$2',
|
|
'^mattermost-redux/test/(.*)$':
|
|
'<rootDir>/src/packages/mattermost-redux/test/$1',
|
|
'^mattermost-redux/(.*)$': '<rootDir>/src/packages/mattermost-redux/src/$1',
|
|
'^.+\\.(jpg|jpeg|png|apng|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
|
|
'<rootDir>/src/tests/image_url_mock.json',
|
|
'^.+\\.(css|less|scss)$': 'identity-obj-proxy',
|
|
'^.*i18n.*\\.(json)$': '<rootDir>/src/tests/i18n_mock.json',
|
|
},
|
|
moduleDirectories: ['src', 'node_modules'],
|
|
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'],
|
|
reporters: [
|
|
'default',
|
|
['jest-junit', {outputDirectory: 'build', outputName: 'test-results.xml'}],
|
|
],
|
|
transformIgnorePatterns: [
|
|
'node_modules/(?!react-native|react-router|pdfjs-dist|p-queue|p-timeout|@mattermost/compass-components|@mattermost/compass-icons|cidr-regex|ip-regex|serialize-error)',
|
|
],
|
|
transform: {
|
|
'^.+\\.(js|jsx|ts|tsx|mjs)$': 'babel-jest',
|
|
},
|
|
setupFiles: ['jest-canvas-mock'],
|
|
setupFilesAfterEnv: ['<rootDir>/src/tests/setup_jest.ts'],
|
|
testEnvironment: 'jsdom',
|
|
testTimeout: 60000,
|
|
testEnvironmentOptions: {
|
|
url: 'http://localhost:8065',
|
|
},
|
|
watchPlugins: [
|
|
'jest-watch-typeahead/filename',
|
|
'jest-watch-typeahead/testname',
|
|
],
|
|
snapshotFormat: {
|
|
escapeString: true,
|
|
printBasicPrototype: true,
|
|
},
|
|
};
|
|
|
|
module.exports = config;
|