codekingpro/portable-devtools
114k
1const webpackShimAlias = require('./webpack.shim').resolveAlias;2 3const webpackAliasToJestModules = ()=>{4 const ret = {5 '\\.svg': '<rootDir>/regression/javascript/__mocks__/svg.js'6 };7 Object.keys(webpackShimAlias).forEach((an)=>{8 // eg - sources: ./pgadmin/static/js/ to '^sources/(.*)$': '<rootDir>/pgadmin/static/js/$1'9 let ap = webpackShimAlias[an].replace(__dirname, '<rootDir>');10 if(ap.endsWith('/') || ap.endsWith('\\')) {11 ret[`^${an}/(.*)$`] = ap + '$1';12 return;13 }14 ret[`^${an}$`] = ap;15 });16 17 // Overrides18 ret['^translations$'] = '<rootDir>/regression/javascript/fake_translations';19 ret['^pgadmin.browser.messages$'] = '<rootDir>/regression/javascript/fake_messages';20 ret['^pgadmin.browser.endpoints$'] = '<rootDir>/regression/javascript/fake_endpoints';21 ret['^pgadmin.browser.translations$'] = '<rootDir>/regression/javascript/fake_translations';22 ret['^pgadmin.user_management.current_user$'] = '<rootDir>/regression/javascript/fake_current_user';23 ret['^pgadmin.server.supported_servers$'] = '<rootDir>/regression/javascript/fake_supported_servers';24 25 const sources = ret['^sources/(.*)$'];26 delete ret['^sources/(.*)$'];27 28 ret['^sources/pgadmin$'] = '<rootDir>/regression/javascript/fake_pgadmin';29 ret['^sources/gettext$'] = '<rootDir>/regression/javascript/fake_gettext';30 ret['^sources/(.*)$'] = sources;31 32 // Only for tests33 ret['^pgadmin.schema.dir/(.*)$'] = '<rootDir>/pgadmin/browser/server_groups/servers/databases/schemas/static/js/$1';34 ret['^browser/(.*)$'] = '<rootDir>/pgadmin/browser/static/js/$1';35 36 return ret;37};38 39module.exports = {40 'roots': ['<rootDir>/pgadmin/', '<rootDir>/regression/javascript'],41 'moduleFileExtensions': ['js', 'jsx', 'ts', 'tsx'],42 'moduleNameMapper': webpackAliasToJestModules(),43 'transform': {44 '^.+\\.(js|jsx|mjs|cjs|ts|tsx)$': 'babel-jest',45 },46 'setupFilesAfterEnv': [47 '<rootDir>/regression/javascript/setup-jest.js',48 ],49 'testMatch': [50 '<rootDir>/regression/javascript/**/*{spec,test}.{js,jsx,ts,tsx}'51 ],52 'testEnvironment': 'jsdom',53 'transformIgnorePatterns': [54 '[/\\\\]node_modules[/\\\\](?!react-dnd|dnd-core|@react-dnd).+\\.(js|jsx|mjs|cjs|ts|tsx)$',55 '^.+\\.module\\.(css|sass|scss)$'56 ]57};58 