PromucFlow_constructor/app/client/jest.config.js
Abhinav Jha 7eadf893df
fix: Upgrade packages (#40935)
## Description
- Upgrades packages reported by Dependabot:
- `nanoid`
- `brace-expansion`
- `webpack-dev-server`
- `path-to-regexp`
- `vite`
- `http-proxy-middleware`


Fixes the following issues
- https://github.com/appsmithorg/appsmith/security/dependabot/416
- https://github.com/appsmithorg/appsmith/security/dependabot/406
- https://github.com/appsmithorg/appsmith/security/dependabot/408
- https://github.com/appsmithorg/appsmith/security/dependabot/332
- https://github.com/appsmithorg/appsmith/security/dependabot/361
- https://github.com/appsmithorg/appsmith/security/dependabot/415
- https://github.com/appsmithorg/appsmith/security/dependabot/414
- https://github.com/appsmithorg/appsmith/security/dependabot/413
- https://github.com/appsmithorg/appsmith/security/dependabot/418

## Automation

/ok-to-test tags="@tag.All"

### 🔍 Cypress test results
<!-- This is an auto-generated comment: Cypress test results  -->
> [!TIP]
> 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉
> Workflow run:
<https://github.com/appsmithorg/appsmith/actions/runs/15630439422>
> Commit: 2b6f4a45af4410f079b96c4c06606f33af5e7b99
> <a
href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=15630439422&attempt=2"
target="_blank">Cypress dashboard</a>.
> Tags: `@tag.All`
> Spec:
> <hr>Fri, 13 Jun 2025 10:49:32 UTC
<!-- end of auto-generated comment: Cypress test results  -->


## Communication
Should the DevRel and Marketing teams inform users about this change?
- [ ] Yes
- [x] No


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Improved development server configuration for enhanced compatibility
and middleware management.

- **Bug Fixes**
- Updated unique key generation to ensure consistency and reliability
across the application.

- **Chores**
- Upgraded and adjusted dependencies for better stability and security.
  - Refined package resolution to address version conflicts.

- **Style**
- Standardized string formatting and code styling in development
scripts.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-06-16 12:12:55 +05:30

119 lines
4.3 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

function parseConfig() {
return "";
}
const LOG_LEVELS = ["debug", "error"];
const CONFIG_LOG_LEVEL_INDEX = 1;
module.exports = {
setupFiles: [
"jest-canvas-mock",
"<rootDir>/test/__mocks__/reactMarkdown.tsx",
],
roots: ["<rootDir>/src"],
transform: {
"^.+\\.(png|js|ts|tsx)$": [
"ts-jest",
{
isolatedModules: true,
diagnostics: {
ignoreCodes: [1343],
},
astTransformers: {
before: [
{
path: "node_modules/ts-jest-mock-import-meta",
options: {
metaObjectReplacement: { url: "https://www.url.com" },
},
},
],
},
},
],
},
testEnvironment: "jsdom",
testTimeout: 9000,
setupFilesAfterEnv: ["<rootDir>/test/setup.ts"],
testRegex: "\\.(test|spec)\\.(tsx|ts|js)?$",
moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node", "css"],
moduleDirectories: ["node_modules", "src", "test"],
transformIgnorePatterns: [
"<rootDir>/node_modules/(?!codemirror|konva|react-dnd|dnd-core|@babel|(@blueprintjs)|@github|lodash-es|@draft-js-plugins|react-documents|linkedom|assert-never|axios|usehooks-ts|date-fns|nanoid)",
],
moduleNameMapper: {
"\\.(css|less)$": "<rootDir>/test/__mocks__/styleMock.js",
"\\.svg$": "<rootDir>/test/__mocks__/svgMock.js",
"\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga|txt)$":
"<rootDir>/test/__mocks__/fileMock.js",
"^worker-loader!": "<rootDir>/test/__mocks__/workerMock.js",
"^!!raw-loader!": "<rootDir>/test/__mocks__/derivedMock.js",
"test/(.*)": "<rootDir>/test/$1",
"@appsmith/ads-old": "<rootDir>/node_modules/@appsmith/ads-old",
"@design-system/widgets-old":
"<rootDir>/node_modules/@design-system/widgets-old",
"^proxy-memoize$": "<rootDir>/node_modules/proxy-memoize/dist/wrapper.cjs",
// @blueprintjs packages need to be resolved to the `esnext` directory. The default `esm` directory
// contains sources that are transpiled to ES5. As Jest does not transpile our sources to ES5,
// this results in mixing ES6 and ES5 code and causes errors like:
// Class constructor GlobalHotKeys cannot be invoked without 'new'
// Note: this isnt issue in the live app because we transpile *everything* down to ES5 there.
"^@blueprintjs/core$":
"<rootDir>/node_modules/@blueprintjs/core/lib/esnext",
"^@blueprintjs/datetime$":
"<rootDir>/node_modules/@blueprintjs/datetime/lib/esnext",
"^@blueprintjs/icons$":
"<rootDir>/node_modules/@blueprintjs/icons/lib/esnext",
"^@blueprintjs/popover2$":
"<rootDir>/node_modules/@blueprintjs/popover2/lib/esnext",
"^@blueprintjs/select$":
"<rootDir>/node_modules/@blueprintjs/select/lib/esnext",
"@appsmith/ads": "<rootDir>/node_modules/@appsmith/ads",
"^canvas$": "jest-canvas-mock",
"^entities/(.*)$": "<rootDir>/src/entities/$1", // Match 'entities/*'
},
globals: {
APPSMITH_FEATURE_CONFIGS: {
sentry: {
dsn: parseConfig("__APPSMITH_SENTRY_DSN__"),
release: parseConfig("__APPSMITH_SENTRY_RELEASE__"),
environment: parseConfig("__APPSMITH_SENTRY_ENVIRONMENT__"),
},
smartLook: {
id: parseConfig("__APPSMITH_SMART_LOOK_ID__"),
},
segment: {
apiKey: parseConfig("__APPSMITH_SEGMENT_KEY__"),
ceKey: parseConfig("__APPSMITH_SEGMENT_CE_KEY__"),
},
observability: {
deploymentName: "jest-run",
serviceInstanceId: "appsmith-0",
tracingUrl: "",
},
fusioncharts: {
licenseKey: parseConfig("__APPSMITH_FUSIONCHARTS_LICENSE_KEY__"),
},
mixpanel: {
enabled: parseConfig("__APPSMITH_SEGMENT_KEY__"),
apiKey: parseConfig("__APPSMITH_MIXPANEL_KEY__"),
},
logLevel:
CONFIG_LOG_LEVEL_INDEX > -1
? LOG_LEVELS[CONFIG_LOG_LEVEL_INDEX]
: LOG_LEVELS[1],
cloudHosting: "CLOUD_HOSTING",
appVersion: {
id: parseConfig("__APPSMITH_VERSION_ID__"),
sha: parseConfig("__APPSMITH_VERSION_SHA__"),
releaseDate: parseConfig("__APPSMITH_VERSION_RELEASE_DATE__"),
},
intercomAppID: "APP_ID",
mailEnabled: parseConfig("__APPSMITH_MAIL_ENABLED__"),
disableIframeWidgetSandbox: parseConfig(
"__APPSMITH_DISABLE_IFRAME_WIDGET_SANDBOX__",
),
},
},
};