@cypress/vite-dev-server 2.1.0 → 2.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +11 -3
- package/dist/makeCypressPlugin.js +6 -6
- package/dist/startServer.d.ts +2 -2
- package/dist/startServer.js +16 -8
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,33 @@
|
|
|
1
|
+
# [@cypress/vite-dev-server-v2.2.2](https://github.com/cypress-io/cypress/compare/@cypress/vite-dev-server-v2.2.1...@cypress/vite-dev-server-v2.2.2) (2021-12-16)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* check the port is avail on all local hosts ([#19402](https://github.com/cypress-io/cypress/issues/19402)) ([4826175](https://github.com/cypress-io/cypress/commit/4826175040bfc024a36df47dc0c74f2871fa944f))
|
|
7
|
+
|
|
8
|
+
# [@cypress/vite-dev-server-v2.2.1](https://github.com/cypress-io/cypress/compare/@cypress/vite-dev-server-v2.2.0...@cypress/vite-dev-server-v2.2.1) (2021-11-19)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* compile npm packages for node 12 ([#18989](https://github.com/cypress-io/cypress/issues/18989)) ([30b3eb2](https://github.com/cypress-io/cypress/commit/30b3eb2376bc1ed69087ba96f60448687e8489e6))
|
|
14
|
+
|
|
15
|
+
# [@cypress/vite-dev-server-v2.2.0](https://github.com/cypress-io/cypress/compare/@cypress/vite-dev-server-v2.1.1...@cypress/vite-dev-server-v2.2.0) (2021-10-15)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Features
|
|
19
|
+
|
|
20
|
+
* normalized signatures webpack & vite servers ([#18379](https://github.com/cypress-io/cypress/issues/18379)) ([8f5308f](https://github.com/cypress-io/cypress/commit/8f5308f7068b80fb877da539ce34fb67ba497c4f))
|
|
21
|
+
|
|
22
|
+
# [@cypress/vite-dev-server-v2.1.1](https://github.com/cypress-io/cypress/compare/@cypress/vite-dev-server-v2.1.0...@cypress/vite-dev-server-v2.1.1) (2021-10-04)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* **vite-dev-server:** remove base and root from inlineVitConfig types ([#17180](https://github.com/cypress-io/cypress/issues/17180)) ([07e7d0e](https://github.com/cypress-io/cypress/commit/07e7d0ed252bf1a2bd3224f617e1fc2e64f19a06))
|
|
28
|
+
* **vite-dev-server:** replace UserConfig with InlineConfig to allow correct `configFile` types ([#18167](https://github.com/cypress-io/cypress/issues/18167)) ([6e0c2c1](https://github.com/cypress-io/cypress/commit/6e0c2c1af81be750a74bad0528d52de45746a453))
|
|
29
|
+
* **vite-dev-server:** windows `supportFile` + preserve optimize entries ([#18286](https://github.com/cypress-io/cypress/issues/18286)) ([ea2f6a4](https://github.com/cypress-io/cypress/commit/ea2f6a45c7057e51b2fc879ff70da75538fa1002))
|
|
30
|
+
|
|
1
31
|
# [@cypress/vite-dev-server-v2.1.0](https://github.com/cypress-io/cypress/compare/@cypress/vite-dev-server-v2.0.8...@cypress/vite-dev-server-v2.1.0) (2021-09-10)
|
|
2
32
|
|
|
3
33
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
/// <reference types="cypress" />
|
|
2
|
+
import { InlineConfig } from 'vite';
|
|
2
3
|
import { StartDevServerOptions } from './startServer';
|
|
3
4
|
export { StartDevServerOptions };
|
|
4
5
|
export declare function startDevServer(startDevServerArgs: StartDevServerOptions): Promise<Cypress.ResolvedDevServerConfig>;
|
|
6
|
+
export declare type CypressViteDevServerConfig = Omit<InlineConfig, 'base' | 'root'>;
|
|
7
|
+
export declare function devServer(cypressDevServerConfig: Cypress.DevServerConfig, devServerConfig?: CypressViteDevServerConfig): Promise<Cypress.ResolvedDevServerConfig>;
|
|
8
|
+
export declare function defineDevServerConfig(devServerConfig: CypressViteDevServerConfig): CypressViteDevServerConfig;
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.startDevServer = void 0;
|
|
3
|
+
exports.defineDevServerConfig = exports.devServer = exports.startDevServer = void 0;
|
|
4
4
|
const debug_1 = require("debug");
|
|
5
5
|
const startServer_1 = require("./startServer");
|
|
6
|
-
const debug = debug_1.debug('cypress:vite-dev-server:vite');
|
|
6
|
+
const debug = (0, debug_1.debug)('cypress:vite-dev-server:vite');
|
|
7
7
|
async function startDevServer(startDevServerArgs) {
|
|
8
|
-
const viteDevServer = await startServer_1.start(startDevServerArgs);
|
|
8
|
+
const viteDevServer = await (0, startServer_1.start)(startDevServerArgs);
|
|
9
9
|
const app = await viteDevServer.listen();
|
|
10
10
|
const port = app.config.server.port;
|
|
11
11
|
debug('Component testing vite server started on port', port);
|
|
12
12
|
return { port, close: app.httpServer.close };
|
|
13
13
|
}
|
|
14
14
|
exports.startDevServer = startDevServer;
|
|
15
|
+
function devServer(cypressDevServerConfig, devServerConfig) {
|
|
16
|
+
return startDevServer({ options: cypressDevServerConfig, viteConfig: devServerConfig });
|
|
17
|
+
}
|
|
18
|
+
exports.devServer = devServer;
|
|
19
|
+
function defineDevServerConfig(devServerConfig) {
|
|
20
|
+
return devServerConfig;
|
|
21
|
+
}
|
|
22
|
+
exports.defineDevServerConfig = defineDevServerConfig;
|
|
@@ -8,8 +8,8 @@ const path_1 = require("path");
|
|
|
8
8
|
const fs_1 = require("fs");
|
|
9
9
|
const util_1 = require("util");
|
|
10
10
|
const debug_1 = __importDefault(require("debug"));
|
|
11
|
-
const debug = debug_1.default('cypress:vite-dev-server:plugin');
|
|
12
|
-
const read = util_1.promisify(fs_1.readFile);
|
|
11
|
+
const debug = (0, debug_1.default)('cypress:vite-dev-server:plugin');
|
|
12
|
+
const read = (0, util_1.promisify)(fs_1.readFile);
|
|
13
13
|
const pluginName = 'cypress-transform-html';
|
|
14
14
|
const OSSepRE = new RegExp(`\\${path_1.sep}`, 'g');
|
|
15
15
|
function convertPathToPosix(path) {
|
|
@@ -17,7 +17,7 @@ function convertPathToPosix(path) {
|
|
|
17
17
|
? path
|
|
18
18
|
: path.replace(OSSepRE, '/');
|
|
19
19
|
}
|
|
20
|
-
const INIT_FILEPATH = path_1.resolve(__dirname, '../client/initCypressTests.js');
|
|
20
|
+
const INIT_FILEPATH = (0, path_1.resolve)(__dirname, '../client/initCypressTests.js');
|
|
21
21
|
const HMR_DEPENDENCY_LOOKUP_MAX_ITERATION = 50;
|
|
22
22
|
function getSpecsPathsSet(specs) {
|
|
23
23
|
return new Set(specs.map((spec) => spec.absolute));
|
|
@@ -28,7 +28,7 @@ const makeCypressPlugin = (projectRoot, supportFilePath, devServerEvents, specs)
|
|
|
28
28
|
devServerEvents.on('dev-server:specs:changed', (specs) => {
|
|
29
29
|
specsPathsSet = getSpecsPathsSet(specs);
|
|
30
30
|
});
|
|
31
|
-
const posixSupportFilePath = supportFilePath ? convertPathToPosix(path_1.resolve(projectRoot, supportFilePath)) : undefined;
|
|
31
|
+
const posixSupportFilePath = supportFilePath ? convertPathToPosix((0, path_1.resolve)(projectRoot, supportFilePath)) : undefined;
|
|
32
32
|
const normalizedSupportFilePath = posixSupportFilePath ? `${base}@fs/${posixSupportFilePath}` : undefined;
|
|
33
33
|
return {
|
|
34
34
|
name: pluginName,
|
|
@@ -60,7 +60,7 @@ const makeCypressPlugin = (projectRoot, supportFilePath, devServerEvents, specs)
|
|
|
60
60
|
];
|
|
61
61
|
},
|
|
62
62
|
configureServer: async (server) => {
|
|
63
|
-
const indexHtml = await read(path_1.resolve(__dirname, '..', 'index.html'), { encoding: 'utf8' });
|
|
63
|
+
const indexHtml = await read((0, path_1.resolve)(__dirname, '..', 'index.html'), { encoding: 'utf8' });
|
|
64
64
|
const transformedIndexHtml = await server.transformIndexHtml(base, indexHtml);
|
|
65
65
|
server.middlewares.use(`${base}index.html`, (req, res) => res.end(transformedIndexHtml));
|
|
66
66
|
},
|
|
@@ -71,7 +71,7 @@ const makeCypressPlugin = (projectRoot, supportFilePath, devServerEvents, specs)
|
|
|
71
71
|
let iterationNumber = 0;
|
|
72
72
|
const exploredFiles = new Set();
|
|
73
73
|
// until we reached a point where the current module is imported by no other
|
|
74
|
-
while (moduleImporters
|
|
74
|
+
while (moduleImporters === null || moduleImporters === void 0 ? void 0 : moduleImporters.size) {
|
|
75
75
|
if (iterationNumber > HMR_DEPENDENCY_LOOKUP_MAX_ITERATION) {
|
|
76
76
|
debug(`max hmr iteration reached: ${HMR_DEPENDENCY_LOOKUP_MAX_ITERATION}; Rerun will not happen on this file change.`);
|
|
77
77
|
return [];
|
package/dist/startServer.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="cypress" />
|
|
2
|
-
import { ViteDevServer,
|
|
2
|
+
import { ViteDevServer, InlineConfig } from 'vite';
|
|
3
3
|
export interface StartDevServerOptions {
|
|
4
4
|
/**
|
|
5
5
|
* the Cypress dev server configuration object
|
|
@@ -11,6 +11,6 @@ export interface StartDevServerOptions {
|
|
|
11
11
|
* to override some options, you can do so using this.
|
|
12
12
|
* @optional
|
|
13
13
|
*/
|
|
14
|
-
viteConfig?:
|
|
14
|
+
viteConfig?: Omit<InlineConfig, 'base' | 'root'>;
|
|
15
15
|
}
|
|
16
16
|
export declare function start(devServerOptions: StartDevServerOptions): Promise<ViteDevServer>;
|
package/dist/startServer.js
CHANGED
|
@@ -9,7 +9,7 @@ const vite_1 = require("vite");
|
|
|
9
9
|
const path_1 = require("path");
|
|
10
10
|
const get_port_1 = __importDefault(require("get-port"));
|
|
11
11
|
const makeCypressPlugin_1 = require("./makeCypressPlugin");
|
|
12
|
-
const debug = debug_1.default('cypress:vite-dev-server:start');
|
|
12
|
+
const debug = (0, debug_1.default)('cypress:vite-dev-server:start');
|
|
13
13
|
const resolveServerConfig = async ({ viteConfig, options }) => {
|
|
14
14
|
const { projectRoot, supportFile } = options.config;
|
|
15
15
|
const requiredOptions = {
|
|
@@ -17,7 +17,7 @@ const resolveServerConfig = async ({ viteConfig, options }) => {
|
|
|
17
17
|
root: projectRoot,
|
|
18
18
|
};
|
|
19
19
|
const finalConfig = { ...viteConfig, ...requiredOptions };
|
|
20
|
-
finalConfig.plugins = [...(finalConfig.plugins || []), makeCypressPlugin_1.makeCypressPlugin(projectRoot, supportFile, options.devServerEvents, options.specs)];
|
|
20
|
+
finalConfig.plugins = [...(finalConfig.plugins || []), (0, makeCypressPlugin_1.makeCypressPlugin)(projectRoot, supportFile, options.devServerEvents, options.specs)];
|
|
21
21
|
// This alias is necessary to avoid a "prefixIdentifiers" issue from slots mounting
|
|
22
22
|
// only cjs compiler-core accepts using prefixIdentifiers in slots which vue test utils use.
|
|
23
23
|
// Could we resolve this usage in test-utils?
|
|
@@ -25,22 +25,30 @@ const resolveServerConfig = async ({ viteConfig, options }) => {
|
|
|
25
25
|
finalConfig.resolve = finalConfig.resolve || {};
|
|
26
26
|
finalConfig.resolve.alias = {
|
|
27
27
|
...finalConfig.resolve.alias,
|
|
28
|
-
'@vue/compiler-core': path_1.resolve(path_1.dirname(require.resolve('@vue/compiler-core')), 'dist', 'compiler-core.cjs.js'),
|
|
28
|
+
'@vue/compiler-core': (0, path_1.resolve)((0, path_1.dirname)(require.resolve('@vue/compiler-core')), 'dist', 'compiler-core.cjs.js'),
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
catch (e) {
|
|
32
32
|
// Vue 3 is not installed
|
|
33
33
|
}
|
|
34
34
|
finalConfig.server = finalConfig.server || {};
|
|
35
|
-
finalConfig.server.port = await get_port_1.default({ port: finalConfig.server.port || 3000
|
|
35
|
+
finalConfig.server.port = await (0, get_port_1.default)({ port: finalConfig.server.port || 3000 }),
|
|
36
36
|
// Ask vite to pre-optimize all dependencies of the specs
|
|
37
37
|
finalConfig.optimizeDeps = finalConfig.optimizeDeps || {};
|
|
38
|
-
// pre-
|
|
38
|
+
// pre-optimize all the specs
|
|
39
39
|
if ((options.specs && options.specs.length)) {
|
|
40
|
-
|
|
40
|
+
// fix: we must preserve entries configured on target project
|
|
41
|
+
const existingOptimizeDepsEntries = finalConfig.optimizeDeps.entries;
|
|
42
|
+
if (existingOptimizeDepsEntries) {
|
|
43
|
+
finalConfig.optimizeDeps.entries = [...existingOptimizeDepsEntries, ...options.specs.map((spec) => spec.relative)];
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
finalConfig.optimizeDeps.entries = [...options.specs.map((spec) => spec.relative)];
|
|
47
|
+
}
|
|
41
48
|
// only optimize a supportFile is it is not false or undefined
|
|
42
49
|
if (supportFile) {
|
|
43
|
-
|
|
50
|
+
// fix: on windows we need to replace backslashes with slashes
|
|
51
|
+
finalConfig.optimizeDeps.entries.push(supportFile.replace(/\\/g, '/'));
|
|
44
52
|
}
|
|
45
53
|
}
|
|
46
54
|
debug(`the resolved server config is ${JSON.stringify(finalConfig, null, 2)}`);
|
|
@@ -53,6 +61,6 @@ async function start(devServerOptions) {
|
|
|
53
61
|
}
|
|
54
62
|
debug('starting vite dev server');
|
|
55
63
|
const resolvedConfig = await resolveServerConfig(devServerOptions);
|
|
56
|
-
return vite_1.createServer(resolvedConfig);
|
|
64
|
+
return (0, vite_1.createServer)(resolvedConfig);
|
|
57
65
|
}
|
|
58
66
|
exports.start = start;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cypress/vite-dev-server",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.2",
|
|
4
4
|
"description": "Launches Vite Dev Server for Component Testing",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
"build-prod": "tsc",
|
|
9
9
|
"cy:open": "node ../../scripts/cypress.js open-ct --project ${PWD}",
|
|
10
10
|
"cy:run": "node ../../scripts/cypress.js run-ct --project ${PWD}",
|
|
11
|
-
"
|
|
11
|
+
"cy:run-signature": "yarn cy:run --config=\"{\\\"pluginsFile\\\":\\\"cypress/new-signature/plugins.js\\\"}\"",
|
|
12
|
+
"test": "yarn cy:run && yarn cy:run-signature",
|
|
12
13
|
"watch": "tsc -w"
|
|
13
14
|
},
|
|
14
15
|
"dependencies": {
|