--- /dev/null
+const { createServer, resolveConfig } = require('vite')
+const viteConfig = require('./vite.config')
+const config = viteConfig({ prod: false })
+
+/** @type {import('vite').ViteDevServer} */
+let server = null
+
+;(async () => {
+ const app = await createServer({
+ configFile: false,
+ ...config,
+ })
+ server = await app.listen(process.env.PORT || 3000)
+ internalResolve(server)
+})()
+
+let internalResolve = () => {}
+
+module.exports = function getServer() {
+ return new Promise((resolve, reject) => {
+ if (server) {
+ resolve(server)
+ } else {
+ internalResolve = resolve
+ }
+ })
+}
// note this works because nighwatch doesn't use this option
const isLocal = args.indexOf('--local') > -1
-try {
- require.main.filename = path.resolve(
- __dirname,
- '../../../node_modules/.bin/nightwatch'
- )
+const getServer =
+ args.indexOf('--dev') > -1
+ ? null
+ : // : process.env.CI || args.indexOf('--ci') > -1
+ // ? require('./staticServer')
+ require('./devServer')
- // Code to start browserstack local before start of test
- console.log('Connecting local')
+;(async () => {
+ const server = await getServer()
- /** @type {import('browserstack-local').Local} */
- let bs_local
- if (isLocal) {
- bs_local = new browserstack.Local()
- Nightwatch.bs_local = bs_local
+ try {
+ require.main.filename = path.resolve(
+ __dirname,
+ '../../../node_modules/.bin/nightwatch'
+ )
- bs_local.start(
- { key: process.env.BROWSERSTACK_ACCESS_KEY },
- async error => {
- if (error) throw error
+ /** @type {import('browserstack-local').Local} */
+ let bs_local
+ if (isLocal) {
+ // Code to start browserstack local before start of test
+ console.log('Connecting local')
+ bs_local = new browserstack.Local()
+ Nightwatch.bs_local = bs_local
- console.log('Connected. Now testing...')
- await runNighwatchCli().finally(() => {
- // Code to stop browserstack local after end of single test
- bs_local.stop(() => {})
- })
- }
- )
- } else {
- runNighwatchCli()
+ bs_local.start(
+ { key: process.env.BROWSERSTACK_ACCESS_KEY },
+ async error => {
+ if (error) throw error
+
+ console.log('Connected. Now testing...')
+ await runNighwatchCli().finally(() => {
+ // Code to stop browserstack local after end of single test
+ bs_local.stop(() => {
+ server.close()
+ })
+ })
+ }
+ )
+ } else {
+ await runNighwatchCli()
+ server.close()
+ }
+ } catch (ex) {
+ console.log('There was an error while starting the test runner:\n\n')
+ process.stderr.write(ex.stack + '\n')
+ server.close()
+ process.exit(2)
}
-} catch (ex) {
- console.log('There was an error while starting the test runner:\n\n')
- process.stderr.write(ex.stack + '\n')
- process.exit(2)
-}
+})()
function runNighwatchCli() {
return new Promise((resolve, reject) => {
-import fs from 'fs'
-import { resolve, join } from 'path'
-import { defineConfig } from 'vite'
-import vue from '@vitejs/plugin-vue'
-import history from 'connect-history-api-fallback'
+const fs = require('fs')
+const { resolve, join } = require('path')
+const { defineConfig } = require('vite')
+const vue = require('@vitejs/plugin-vue')
+const history = require('connect-history-api-fallback')
-const examples: string[] = []
+/** @type {string[]} */
+const examples = []
fs.readdirSync(__dirname).forEach(dir => {
const fullDir = join(__dirname, dir)
const entry = join(fullDir, 'index.ts')
})
// https://vitejs.dev/config/
-const config = (env: Record<string, string> = {}) => {
+/**
+ *
+ * @param {Record<string, string>} env
+ * @returns
+ */
+const config = env => {
return defineConfig({
root: resolve(__dirname),
resolve: {
entries[name] = resolve(__dirname, name, 'index.html')
return entries
},
- { index: resolve(__dirname, 'index.html') } as Record<string, string>
+ /** @type {Record<string, string>} */
+ { index: resolve(__dirname, 'index.html') }
),
},
},
// w3c:false tells Chromedriver to run using the legacy JSONWire protocol (not required in Chrome 78)
w3c: true,
args: [
- //'--no-sandbox',
+ // needed for ci
+ '--no-sandbox',
//'--ignore-certificate-errors',
- //'--allow-insecure-localhost',
+ '--allow-insecure-localhost',
//'--headless'
],
},
+++ /dev/null
-const { createServer } = require('vite')
-const viteConfig = require('./vite.config')
-const config = viteConfig({ prod: false })
-
-let server = null
-
-;(async () => {
- const app = await createServer({
- configFile: false,
- ...config,
- })
- const port = process.env.PORT || 3000
- server = await app.listen(port)
-})()
-
-module.exports = server
"build:playground": "vue-tsc --noEmit && vite build --config playground/vite.config.js",
"build:e2e": "vue-tsc --noEmit && vite build --config e2e/vite.config.js",
"build:size": "pnpm run build && rollup -c size-checks/rollup.config.js",
- "dev:e2e": "vite --config e2e/vite.config.ts",
+ "dev:e2e": "vite --config e2e/vite.config.js",
"docs": "vitepress dev docs",
"docs:build": "vitepress build docs",
"lint": "pnpm run lint:script && pnpm run lint:html",