chore: move playwright gallery into a subfolder (#13695)
This commit is contained in:
parent
801dbe0699
commit
3d4caab153
|
|
@ -67,7 +67,7 @@ npm run test
|
|||
<style>@import '/src/assets/base.css';</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/tests.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<style>@import '/src/assets/base.css';</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/tests.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -28,13 +28,13 @@ const config: PlaywrightTestConfig = {
|
|||
['html', { open: 'on-failure' }]
|
||||
],
|
||||
webServer: {
|
||||
url: 'http://localhost:3101/playwright.html',
|
||||
url: 'http://localhost:3101/playwright/index.html',
|
||||
command: 'npm run playwright-dev',
|
||||
cwd: __dirname,
|
||||
reuseExistingServer: !process.env.CI,
|
||||
},
|
||||
use: {
|
||||
baseURL: 'http://localhost:3101/playwright.html',
|
||||
baseURL: 'http://localhost:3101/playwright/index.html',
|
||||
trace: 'on-first-retry',
|
||||
},
|
||||
projects: [ ],
|
||||
|
|
|
|||
|
|
@ -16,16 +16,14 @@
|
|||
|
||||
import { defineConfig } from 'vite';
|
||||
import react from '@vitejs/plugin-react';
|
||||
import playwrightPlugin from '@playwright/experimental-ct-react/vitePlugin';
|
||||
import playwright from '@playwright/experimental-ct-react/vitePlugin';
|
||||
import path from 'path';
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
react(),
|
||||
playwrightPlugin({
|
||||
imports: ['./src/theme.css']
|
||||
}),
|
||||
playwright(),
|
||||
],
|
||||
resolve: {
|
||||
alias: {
|
||||
|
|
|
|||
|
|
@ -24,6 +24,6 @@
|
|||
</head>
|
||||
<body>
|
||||
<div id='root'></div>
|
||||
<script type='module' src='/playwright.app.ts'></script>
|
||||
<script type='module' src='/playwright/index.ts'></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -14,4 +14,4 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// Playwright's Vite plugin is dynamically populating this file with the components.
|
||||
import '../src/theme.css';
|
||||
|
|
@ -14,4 +14,4 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export default function(options?: { include?: string, imports?: string[] }): any;
|
||||
export default function(options?: { include?: string }): any;
|
||||
|
|
|
|||
|
|
@ -41,11 +41,11 @@ const playwrightMount = component => {
|
|||
throw new Error(`Unregistered component: ${component.type}. Following components are registered: ${[...registry.keys()]}`);
|
||||
|
||||
const wrapper = new componentCtor({
|
||||
target: document.getElementById('app'),
|
||||
target: document.getElementById('root'),
|
||||
props: component.options?.props,
|
||||
});
|
||||
|
||||
for (const [key, listener] of Object.entries(component.options?.on || {}))
|
||||
wrapper.$on(key, event => listener(event.detail));
|
||||
return '#app > *';
|
||||
return '#root > *';
|
||||
};
|
||||
|
|
|
|||
|
|
@ -14,4 +14,4 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export default function(options?: { include?: string, imports?: string[] }): any;
|
||||
export default function(options?: { include?: string }): any;
|
||||
|
|
|
|||
|
|
@ -129,6 +129,6 @@ window.playwrightMount = async component => {
|
|||
render: () => render(component)
|
||||
});
|
||||
instance.setDevtoolsHook(createDevTools(), {});
|
||||
app.mount('#app');
|
||||
return '#app > *';
|
||||
app.mount('#root');
|
||||
return '#root > *';
|
||||
};
|
||||
|
|
|
|||
|
|
@ -14,4 +14,4 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
export default function(options?: { include?: string, imports?: string[] }): any;
|
||||
export default function(options?: { include?: string }): any;
|
||||
|
|
|
|||
|
|
@ -23,20 +23,18 @@ import { componentInfo, collectComponentUsages } from './tsxTransform';
|
|||
import type { ComponentInfo } from './tsxTransform';
|
||||
|
||||
const imports: Map<string, ComponentInfo> = new Map();
|
||||
let configDir: string;
|
||||
|
||||
export function createVitePlugin(registerFunction: string) {
|
||||
return (options?: { include: string, imports?: string[] }) => {
|
||||
return (options?: { include: string }) => {
|
||||
return vitePlugin({ ...(options || {}), registerFunction });
|
||||
};
|
||||
}
|
||||
|
||||
function vitePlugin(options: { include?: string, imports?: string[], registerFunction: string }): Plugin {
|
||||
function vitePlugin(options: { include?: string, registerFunction: string }): Plugin {
|
||||
return {
|
||||
name: 'playwright-gallery',
|
||||
|
||||
configResolved: async config => {
|
||||
configDir = path.dirname(config.configFile || '');
|
||||
const files = await new Promise<string[]>((f, r) => {
|
||||
glob(options.include || config.root + '/**/*.{test,spec}.[tj]s{x,}', {}, function(err, files) {
|
||||
if (err)
|
||||
|
|
@ -72,12 +70,12 @@ function vitePlugin(options: { include?: string, imports?: string[], registerFun
|
|||
}
|
||||
},
|
||||
|
||||
transform: async (_, id) => {
|
||||
if (!id.includes('playwright.app.ts') && !id.includes('playwright.app.js'))
|
||||
transform: async (content, id) => {
|
||||
if (!id.endsWith('playwright/index.ts') && !id.endsWith('playwright/index.tsx') && !id.endsWith('playwright/index.js'))
|
||||
return;
|
||||
|
||||
const folder = path.dirname(id);
|
||||
const lines = [];
|
||||
const lines = [content, ''];
|
||||
lines.push(`import register from '${options.registerFunction}';`);
|
||||
|
||||
for (const [alias, value] of imports) {
|
||||
|
|
@ -88,11 +86,6 @@ function vitePlugin(options: { include?: string, imports?: string[], registerFun
|
|||
lines.push(`import ${alias} from '${importPath}';`);
|
||||
}
|
||||
|
||||
for (const i of options.imports || []) {
|
||||
const importPath = configDir && i.startsWith('.') ? './' + path.relative(folder, path.resolve(configDir, i)).replace(/\\/g, '/') : i;
|
||||
lines.push(`import '${importPath}';`);
|
||||
}
|
||||
|
||||
lines.push(`register({ ${[...imports.keys()].join(',\n ')} });`);
|
||||
return lines.join('\n');
|
||||
},
|
||||
|
|
|
|||
|
|
@ -27,13 +27,13 @@ const config: PlaywrightTestConfig = {
|
|||
['html', { open: 'on-failure' }]
|
||||
],
|
||||
webServer: {
|
||||
url: 'http://localhost:3102/playwright.html',
|
||||
url: 'http://localhost:3102/playwright/index.html',
|
||||
command: 'npx vite --config playwright.vite.config.ts dev',
|
||||
cwd: __dirname,
|
||||
reuseExistingServer: !process.env.CI,
|
||||
},
|
||||
use: {
|
||||
baseURL: 'http://localhost:3102/playwright.html',
|
||||
baseURL: 'http://localhost:3102/playwright/index.html',
|
||||
trace: 'on-first-retry',
|
||||
},
|
||||
projects: [
|
||||
|
|
|
|||
|
|
@ -16,19 +16,13 @@
|
|||
|
||||
import { defineConfig } from 'vite';
|
||||
import react from '@vitejs/plugin-react';
|
||||
import playwrightPlugin from '@playwright/experimental-ct-react/vitePlugin';
|
||||
import playwright from '@playwright/experimental-ct-react/vitePlugin';
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
react(),
|
||||
playwrightPlugin({
|
||||
imports: [
|
||||
'./src/common.css',
|
||||
'./src/theme.ts',
|
||||
'./src/third_party/vscode/codicon.css',
|
||||
],
|
||||
}),
|
||||
playwright(),
|
||||
],
|
||||
server: {
|
||||
port: 3102,
|
||||
|
|
|
|||
|
|
@ -24,6 +24,6 @@
|
|||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/playwright.app.ts"></script>
|
||||
<script type="module" src="/playwright/index.ts"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -14,4 +14,6 @@
|
|||
* limitations under the License.
|
||||
*/
|
||||
|
||||
// Playwright's Vite plugin is dynamically populating this file with the components.
|
||||
import '../src/common.css';
|
||||
import '../src/theme.ts';
|
||||
import '../src/third_party/vscode/codicon.css';
|
||||
|
|
@ -1 +0,0 @@
|
|||
// Playwright's Vite plugin is dynamically populating this file with the components.
|
||||
|
|
@ -26,12 +26,12 @@ const config: PlaywrightTestConfig = {
|
|||
['html', { open: 'on-failure' }]
|
||||
],
|
||||
webServer: {
|
||||
url: 'http://localhost:3000/playwright.html',
|
||||
url: 'http://localhost:3000/playwright/index.html',
|
||||
command: 'npm run playwright-dev',
|
||||
reuseExistingServer: !process.env.CI,
|
||||
},
|
||||
use: {
|
||||
baseURL: 'http://localhost:3000/playwright.html',
|
||||
baseURL: 'http://localhost:3000/playwright/index.html',
|
||||
trace: 'on-first-retry',
|
||||
},
|
||||
projects: [
|
||||
|
|
|
|||
|
|
@ -1,13 +1,11 @@
|
|||
import { defineConfig } from 'vite';
|
||||
import react from '@vitejs/plugin-react';
|
||||
import playwrightPlugin from '@playwright/experimental-ct-react/vitePlugin';
|
||||
import playwright from '@playwright/experimental-ct-react/vitePlugin';
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
react(),
|
||||
playwrightPlugin({
|
||||
imports: ['./src/index.css']
|
||||
}),
|
||||
playwright(),
|
||||
]
|
||||
});
|
||||
|
|
|
|||
|
|
@ -8,6 +8,6 @@
|
|||
</head>
|
||||
<body>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/playwright.app.ts"></script>
|
||||
<script type="module" src="/playwright/index.ts"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1 @@
|
|||
import '../src/index.css';
|
||||
|
|
@ -12,4 +12,4 @@ onMount(async () => {
|
|||
});
|
||||
</script>
|
||||
|
||||
<div id="app"></div>
|
||||
<div id="root"></div>
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
// Playwright's Vite plugin is dynamically populating this file with the components.
|
||||
|
|
@ -27,12 +27,12 @@ const config: PlaywrightTestConfig = {
|
|||
['html', { open: 'on-failure' }]
|
||||
],
|
||||
webServer: {
|
||||
url: 'http://localhost:3000/playwright.html',
|
||||
url: 'http://localhost:3000/playwright/index.html',
|
||||
command: 'npm run playwright-dev',
|
||||
reuseExistingServer: !process.env.CI,
|
||||
},
|
||||
use: {
|
||||
baseURL: 'http://localhost:3000/playwright.html',
|
||||
baseURL: 'http://localhost:3000/playwright/index.html',
|
||||
trace: 'on-first-retry',
|
||||
},
|
||||
projects: [
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import { defineConfig } from 'vite'
|
||||
import { svelte } from '@sveltejs/vite-plugin-svelte'
|
||||
import playwrightPlugin from '@playwright/experimental-ct-svelte/vitePlugin';
|
||||
import playwright from '@playwright/experimental-ct-svelte/vitePlugin';
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
svelte(),
|
||||
playwrightPlugin(),
|
||||
playwright(),
|
||||
]
|
||||
})
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
<title>Svelte + TS + Vite App</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/playwright.app.ts"></script>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/playwright/index.ts"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -14,6 +14,6 @@
|
|||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<div id="root"></div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<div id="root"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
// Playwright's Vite plugin is dynamically populating this file with the components.
|
||||
|
|
@ -26,12 +26,12 @@ const config: PlaywrightTestConfig = {
|
|||
['html', { open: 'on-failure' }]
|
||||
],
|
||||
webServer: {
|
||||
url: 'http://localhost:3000/playwright.html',
|
||||
url: 'http://localhost:3000/playwright/index.html',
|
||||
command: 'npm run playwright-dev',
|
||||
reuseExistingServer: !process.env.CI,
|
||||
},
|
||||
use: {
|
||||
baseURL: 'http://localhost:3000/playwright.html',
|
||||
baseURL: 'http://localhost:3000/playwright/index.html',
|
||||
trace: 'on-first-retry',
|
||||
},
|
||||
projects: [
|
||||
|
|
|
|||
|
|
@ -1,18 +1,11 @@
|
|||
import { fileURLToPath, URL } from 'url'
|
||||
|
||||
import { defineConfig } from 'vite'
|
||||
import vue from '@vitejs/plugin-vue'
|
||||
import playwrightPlugin from '@playwright/experimental-ct-vue/vitePlugin';
|
||||
import playwright from '@playwright/experimental-ct-vue/vitePlugin';
|
||||
|
||||
// https://vitejs.dev/config/
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
vue(),
|
||||
playwrightPlugin(),
|
||||
],
|
||||
resolve: {
|
||||
alias: {
|
||||
'@': fileURLToPath(new URL('./src', import.meta.url))
|
||||
}
|
||||
},
|
||||
playwright(),
|
||||
]
|
||||
})
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
<title>Vite App</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/playwright.app.js"></script>
|
||||
<div id="root"></div>
|
||||
<script type="module" src="/playwright/index.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue