set up import maps aliases in tests

This commit is contained in:
Mads Rasmussen
2022-10-18 14:03:42 +02:00
parent aa3a03eca8
commit d6c9a050f3
5 changed files with 76 additions and 14 deletions

View File

@@ -42,6 +42,7 @@
"@typescript-eslint/eslint-plugin": "^5.40.0",
"@typescript-eslint/parser": "^5.39.0",
"@web/dev-server-esbuild": "^0.3.1",
"@web/dev-server-import-maps": "^0.0.7",
"@web/test-runner": "^0.14.0",
"@web/test-runner-playwright": "^0.8.10",
"babel-loader": "^8.2.5",
@@ -2151,6 +2152,12 @@
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
"dev": true
},
"node_modules/@import-maps/resolve": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@import-maps/resolve/-/resolve-1.0.1.tgz",
"integrity": "sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==",
"dev": true
},
"node_modules/@istanbuljs/load-nyc-config": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
@@ -7375,6 +7382,23 @@
"node": ">=10.0.0"
}
},
"node_modules/@web/dev-server-import-maps": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/@web/dev-server-import-maps/-/dev-server-import-maps-0.0.7.tgz",
"integrity": "sha512-uq8SFRkh3Zic71boDP/GeNwc7BtOWFWLDam3JJF3G0L9gMZVm7WteeDxxn9ppdbGxRhvlJtxqBlSOvf3pl75qw==",
"dev": true,
"dependencies": {
"@import-maps/resolve": "^1.0.1",
"@types/parse5": "^6.0.1",
"@web/dev-server-core": "^0.3.19",
"@web/parse5-utils": "^1.3.0",
"parse5": "^6.0.1",
"picomatch": "^2.2.2"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/@web/dev-server-rollup": {
"version": "0.3.19",
"resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.3.19.tgz",
@@ -29463,6 +29487,12 @@
"integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
"dev": true
},
"@import-maps/resolve": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/@import-maps/resolve/-/resolve-1.0.1.tgz",
"integrity": "sha512-tWZNBIS1CoekcwlMuyG2mr0a1Wo5lb5lEHwwWvZo+5GLgr3e9LLDTtmgtCWEwBpXMkxn9D+2W9j2FY6eZQq0tA==",
"dev": true
},
"@istanbuljs/load-nyc-config": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
@@ -33556,6 +33586,20 @@
"ua-parser-js": "^1.0.2"
}
},
"@web/dev-server-import-maps": {
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/@web/dev-server-import-maps/-/dev-server-import-maps-0.0.7.tgz",
"integrity": "sha512-uq8SFRkh3Zic71boDP/GeNwc7BtOWFWLDam3JJF3G0L9gMZVm7WteeDxxn9ppdbGxRhvlJtxqBlSOvf3pl75qw==",
"dev": true,
"requires": {
"@import-maps/resolve": "^1.0.1",
"@types/parse5": "^6.0.1",
"@web/dev-server-core": "^0.3.19",
"@web/parse5-utils": "^1.3.0",
"parse5": "^6.0.1",
"picomatch": "^2.2.2"
}
},
"@web/dev-server-rollup": {
"version": "0.3.19",
"resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.3.19.tgz",

View File

@@ -73,6 +73,7 @@
"@typescript-eslint/eslint-plugin": "^5.40.0",
"@typescript-eslint/parser": "^5.39.0",
"@web/dev-server-esbuild": "^0.3.1",
"@web/dev-server-import-maps": "^0.0.7",
"@web/test-runner": "^0.14.0",
"@web/test-runner-playwright": "^0.8.10",
"babel-loader": "^8.2.5",

View File

@@ -1,4 +1,4 @@
import '@umbraco-cms/css/custom-properties.css';
import './core/css/custom-properties.css';
import 'router-slot';
// TODO: remove these imports when they are part of UUI

View File

@@ -30,8 +30,7 @@
"@umbraco-cms/extensions-api": ["src/core/extensions-api"],
"@umbraco-cms/observable-api": ["src/core/observable-api"],
"@umbraco-cms/utils": ["src/core/utils"],
"@umbraco-cms/test-utils": ["src/core/test-utils"],
"@umbraco-cms/css/*": ["src/core/css/*"],
"@umbraco-cms/test-utils": ["src/core/test-utils"]
},
},
"include": [

View File

@@ -1,22 +1,40 @@
import { esbuildPlugin } from '@web/dev-server-esbuild';
import { playwrightLauncher } from '@web/test-runner-playwright';
import { importMapsPlugin } from '@web/dev-server-import-maps';
export default {
nodeResolve: true,
files: 'src/**/*.test.ts',
plugins: [esbuildPlugin({ ts: true, target: 'auto' })],
browsers: [
playwrightLauncher({ product: 'chromium' }),
playwrightLauncher({ product: 'firefox' }),
playwrightLauncher({ product: 'webkit' }),
],
nodeResolve: true,
files: 'src/**/*.test.ts',
plugins: [
esbuildPlugin({ ts: true, target: 'auto' }),
importMapsPlugin({
inject: {
importMap: {
imports: {
'@umbraco-cms/models': './src/core/models/index.ts',
'@umbraco-cms/backend-api': './src/core/backend-api/index.ts',
'@umbraco-cms/context-api': './src/core/context-api/index.ts',
'@umbraco-cms/extensions-api': './src/core/extensions-api/index.ts',
'@umbraco-cms/observable-api': './src/core/observable-api/index.ts',
'@umbraco-cms/utils': './src/core/utils/index.ts',
'@umbraco-cms/test-utils': './src/core/test-utils/index.ts',
},
},
},
}),
],
browsers: [
playwrightLauncher({ product: 'chromium' }),
playwrightLauncher({ product: 'firefox' }),
playwrightLauncher({ product: 'webkit' }),
],
coverageConfig: {
reporters: ['lcovonly', 'text-summary'],
},
testRunnerHtml: (testFramework) =>
`<html>
testRunnerHtml: (testFramework) =>
`<html>
<head>
<link rel="stylesheet" href="/src/css/custom-properties.css">
<link rel="stylesheet" href="/src/core/css/custom-properties.css">
</head>
<body>
<script type="module" src="${testFramework}"></script>