mirror of
https://github.com/grafana/grafana.git
synced 2025-02-10 23:55:47 -06:00
* Move to the library * copy from library * move them in src * have additional files * add unmigrated/dulicated code and files * migrate from brendan's pr module.ts, query_hints.ts, tracking.ts, and remove plugin.json * migrate from brendan's pr metric_find_query.test.ts * migrate from brendan's pr language_utils.test.ts * migrate from brendan's pr index.ts in root and in configuration * migrate from brendan's pr datasource.test.ts * migrate from brendan's pr typings folder * migrate from brendan's pr querycache folder * migrate from brendan's pr monaco-query-field folder * migrate from brendan's pr components folder without monaco-query-field folder * migrate from brendan's pr configuration/overhaul folder * migrate from brendan's pr AlertingSettingsOverhaul.tsx * Remove azure related code * migrate from brendan's pr ConfigEditor.tsx, DataSourceHttpSettingsOverhaul.tsx, ExemplarSetting.tsx, configuration/mocks.ts, PromSettings.test.tsx, PromSettings.tsx * migrate from brendan's pr useFlag.ts * migrate from brendan's pr metrics-modal folder * migrate from brendan's pr files inside components folder * migrate from brendan's pr LabelFilters* files because they are now under components folder * migrate from brendan's pr files under querybuilder/shared folder * migrate from brendan's pr aggregations.ts, QueryPattern.tsx, QueryPatternsModal.tsx, state.ts, testUtils.ts under querybuilder folder * Apply Ivana's PR https://github.com/grafana/grafana/pull/81656 * Apply jack's suggestions in this PR https://github.com/grafana/grafana/pull/77762 * Apply Ivana's PR https://github.com/grafana/grafana/pull/81656 * Fix type import * add monaco-promql to transformIgnorePatterns to run prometheus frontend library tests * remove Loki specific tests because we removed Loki code to decouple Loki * add prometheus specific references * We are moving these betterer issues from core Prometheus to the Library and we promise to remove all issues in the future, thank you * include prometheus library in package.json * add yarn lock with prometheus frontend library * decouple final core import from metric_find_query.test.ts * run prettier * fix core imports in promqail * fix lint errors * run prettier * add grafana-ui to devdeps to fix lint errors * update yarn.lock * grafana-ui fix * trying to fix grafana-ui type errors with lerna drone check * trying to fix grafana-ui type errors with lerna drone check * trying to fix grafana-ui type errors with lerna drone check * trying to fix grafana-ui type errors with lerna drone check * try to pass typecheck --------- Co-authored-by: Brendan O'Handley <brendan.ohandley@grafana.com>
54 lines
2.1 KiB
JavaScript
54 lines
2.1 KiB
JavaScript
// We set this specifically for 2 reasons.
|
|
// 1. It makes sense for both CI tests and local tests to behave the same so issues are found earlier
|
|
// 2. Any wrong timezone handling could be hidden if we use UTC/GMT local time (which would happen in CI).
|
|
process.env.TZ = 'Pacific/Easter'; // UTC-06:00 or UTC-05:00 depending on daylight savings
|
|
|
|
const esModules = [
|
|
'@glideapps/glide-data-grid',
|
|
'ol',
|
|
'd3',
|
|
'd3-color',
|
|
'd3-interpolate',
|
|
'delaunator',
|
|
'internmap',
|
|
'robust-predicates',
|
|
'leven',
|
|
'nanoid',
|
|
'monaco-promql'
|
|
].join('|');
|
|
|
|
module.exports = {
|
|
verbose: false,
|
|
testEnvironment: 'jsdom',
|
|
transform: {
|
|
'^.+\\.(ts|tsx|js|jsx)$': [require.resolve('ts-jest'), { isolatedModules: true }],
|
|
},
|
|
transformIgnorePatterns: [
|
|
`/node_modules/(?!${esModules})`, // exclude es modules to prevent TS complaining
|
|
],
|
|
moduleDirectories: ['public', 'node_modules'],
|
|
roots: ['<rootDir>/public/app', '<rootDir>/public/test', '<rootDir>/packages'],
|
|
testRegex: '(\\.|/)(test)\\.(jsx?|tsx?)$',
|
|
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json'],
|
|
setupFiles: ['jest-canvas-mock', './public/test/jest-setup.ts'],
|
|
testTimeout: 30000,
|
|
resolver: `<rootDir>/public/test/jest-resolver.js`,
|
|
setupFilesAfterEnv: ['./public/test/setupTests.ts'],
|
|
globals: {
|
|
__webpack_public_path__: '', // empty string
|
|
},
|
|
moduleNameMapper: {
|
|
'\\.svg': '<rootDir>/public/test/mocks/svg.ts',
|
|
'\\.css': '<rootDir>/public/test/mocks/style.ts',
|
|
'react-inlinesvg': '<rootDir>/public/test/mocks/react-inlinesvg.tsx',
|
|
'monaco-editor/esm/vs/editor/editor.api': '<rootDir>/public/test/mocks/monaco.ts',
|
|
// near-membrane-dom won't work in a nodejs environment.
|
|
'@locker/near-membrane-dom': '<rootDir>/public/test/mocks/nearMembraneDom.ts',
|
|
'^@grafana/schema/dist/esm/(.*)$': '<rootDir>/packages/grafana-schema/src/$1',
|
|
// prevent systemjs amd extra from breaking tests.
|
|
'systemjs/dist/extras/amd': '<rootDir>/public/test/mocks/systemjsAMDExtra.ts',
|
|
},
|
|
// Log the test results with dynamic Loki tags. Drone CI only
|
|
reporters: ['default', ['<rootDir>/public/test/log-reporter.js', { enable: process.env.DRONE === 'true' }]],
|
|
};
|