From d6c9a050f337381df4e1c40a7270991eb2a9a0c2 Mon Sep 17 00:00:00 2001 From: Mads Rasmussen Date: Tue, 18 Oct 2022 14:03:42 +0200 Subject: [PATCH] set up import maps aliases in tests --- src/Umbraco.Web.UI.Client/package-lock.json | 44 +++++++++++++++++++ src/Umbraco.Web.UI.Client/package.json | 1 + src/Umbraco.Web.UI.Client/src/app.ts | 2 +- src/Umbraco.Web.UI.Client/tsconfig.json | 3 +- .../web-test-runner.config.mjs | 40 ++++++++++++----- 5 files changed, 76 insertions(+), 14 deletions(-) diff --git a/src/Umbraco.Web.UI.Client/package-lock.json b/src/Umbraco.Web.UI.Client/package-lock.json index 793abdf454..15972b0883 100644 --- a/src/Umbraco.Web.UI.Client/package-lock.json +++ b/src/Umbraco.Web.UI.Client/package-lock.json @@ -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", diff --git a/src/Umbraco.Web.UI.Client/package.json b/src/Umbraco.Web.UI.Client/package.json index 03c86aeef8..0ffe427622 100644 --- a/src/Umbraco.Web.UI.Client/package.json +++ b/src/Umbraco.Web.UI.Client/package.json @@ -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", diff --git a/src/Umbraco.Web.UI.Client/src/app.ts b/src/Umbraco.Web.UI.Client/src/app.ts index 465225c88d..765e71c826 100644 --- a/src/Umbraco.Web.UI.Client/src/app.ts +++ b/src/Umbraco.Web.UI.Client/src/app.ts @@ -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 diff --git a/src/Umbraco.Web.UI.Client/tsconfig.json b/src/Umbraco.Web.UI.Client/tsconfig.json index 30632b206d..db849d78f4 100644 --- a/src/Umbraco.Web.UI.Client/tsconfig.json +++ b/src/Umbraco.Web.UI.Client/tsconfig.json @@ -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": [ diff --git a/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs b/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs index ab18a2910a..9ab51e3df4 100644 --- a/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs +++ b/src/Umbraco.Web.UI.Client/web-test-runner.config.mjs @@ -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) => - ` + testRunnerHtml: (testFramework) => + ` - +