@maka/maka-cli 5.3.2 → 5.3.3
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.
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maka/maka-cli",
|
|
3
|
-
"version": "5.3.
|
|
3
|
+
"version": "5.3.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"summary": "A command line tool for scaffolding Meteor 2.x applications using either React.",
|
|
6
6
|
"description": "A command line tool for scaffolding Meteor 2.x applications using React.",
|
|
@@ -56,7 +56,6 @@
|
|
|
56
56
|
"http-proxy": "^1.18.1",
|
|
57
57
|
"humps": "^2.0.1",
|
|
58
58
|
"husky": "^9.1.6",
|
|
59
|
-
"jest": "^30.4.2",
|
|
60
59
|
"latest-version": "^9.0.0",
|
|
61
60
|
"minimist": "^1.2.8",
|
|
62
61
|
"node-forge": "^1.3.1",
|
|
@@ -91,6 +90,7 @@
|
|
|
91
90
|
"concurrently": "^10.0.5",
|
|
92
91
|
"esbuild": "^0.28.2",
|
|
93
92
|
"globals": "^17.11.0",
|
|
93
|
+
"jest": "^30.4.2",
|
|
94
94
|
"mkdirp": "^3.0.1",
|
|
95
95
|
"ts-jest": "^29.2.5",
|
|
96
96
|
"typescript": "^6.0.3",
|
|
@@ -1,7 +1,16 @@
|
|
|
1
1
|
import { Command } from '../../command.js';
|
|
2
2
|
import TestCommand from './test.command.js';
|
|
3
|
-
import {
|
|
3
|
+
import { spawn } from 'child_process';
|
|
4
4
|
import path from 'path';
|
|
5
|
+
function runLocalJest(appDirectory, args) {
|
|
6
|
+
return new Promise((resolve, reject) => {
|
|
7
|
+
const isWin = process.platform === 'win32';
|
|
8
|
+
const jestBin = path.join(appDirectory, 'node_modules', '.bin', isWin ? 'jest.cmd' : 'jest');
|
|
9
|
+
const child = spawn(jestBin, args, { cwd: appDirectory, stdio: 'inherit', shell: true });
|
|
10
|
+
child.on('close', (code) => resolve(code ?? 1));
|
|
11
|
+
child.on('error', (err) => reject(err));
|
|
12
|
+
});
|
|
13
|
+
}
|
|
5
14
|
Command.create({
|
|
6
15
|
name: 'jest',
|
|
7
16
|
usage: 'maka test:jest <file|directory> [--options]',
|
|
@@ -20,8 +29,13 @@ Command.create({
|
|
|
20
29
|
}, async function (args, opts) {
|
|
21
30
|
const appDirectory = this.fsi.findAppDirectory();
|
|
22
31
|
const projectDirectory = this.fsi.findProjectDirectory();
|
|
23
|
-
// Ensure
|
|
32
|
+
// Ensure Jest and its supporting packages are installed within the app context.
|
|
33
|
+
// Jest runs from the project's own node_modules, not bundled with maka-cli, so
|
|
34
|
+
// `maka test:jest` works the same way regardless of what version of Jest (or
|
|
35
|
+
// whether any) the project already has.
|
|
24
36
|
await this.pkg.checkNpmPackage([
|
|
37
|
+
'jest',
|
|
38
|
+
'babel-jest',
|
|
25
39
|
'@testing-library/react',
|
|
26
40
|
'@babel/plugin-syntax-jsx',
|
|
27
41
|
'jest-css-modules-transform',
|
|
@@ -42,11 +56,6 @@ Command.create({
|
|
|
42
56
|
saveDev: true
|
|
43
57
|
});
|
|
44
58
|
}
|
|
45
|
-
// Clear Jest cache if the --clearCache flag is set
|
|
46
|
-
if (opts.clearCache) {
|
|
47
|
-
await runCLI({ _: [], $0: 'jest', clearCache: true }, [appDirectory]);
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
59
|
const jestSetupPath = path.join(projectDirectory, 'config', 'jest.setup.js');
|
|
51
60
|
const hasJestSetupFile = this.fsi.isFile(jestSetupPath);
|
|
52
61
|
if (!hasJestSetupFile) {
|
|
@@ -77,42 +86,30 @@ Command.create({
|
|
|
77
86
|
context: { noRename: true }
|
|
78
87
|
});
|
|
79
88
|
}
|
|
80
|
-
const jestConfig = {
|
|
81
|
-
_: args,
|
|
82
|
-
$0: 'jest',
|
|
83
|
-
testEnvironment: "jsdom",
|
|
84
|
-
watch: opts.watch || false,
|
|
85
|
-
coverage: opts.coverage || false,
|
|
86
|
-
updateSnapshot: opts.updateSnapshot || false,
|
|
87
|
-
runInBand: opts.runInBand || false,
|
|
88
|
-
onlyFailures: opts.onlyFailures || false,
|
|
89
|
-
config: opts.config || undefined,
|
|
90
|
-
rootDir: appDirectory,
|
|
91
|
-
coverageDirectory: path.join(projectDirectory, 'coverage'),
|
|
92
|
-
testPathIgnorePatterns: [
|
|
93
|
-
'/node_modules',
|
|
94
|
-
'<rootDir>/packages',
|
|
95
|
-
'<rootDir>/public',
|
|
96
|
-
'<rootDir>/private'
|
|
97
|
-
],
|
|
98
|
-
testMatch: ['**/?(*.)+(app-tests).[tj]s?(x)'],
|
|
99
|
-
transform: {
|
|
100
|
-
'^.+\\.(js|jsx|ts|tsx)$': 'babel-jest',
|
|
101
|
-
".+\\.(css|styl|less|sass|scss)$": "jest-css-modules-transform"
|
|
102
|
-
},
|
|
103
|
-
transformIgnorePatterns: [
|
|
104
|
-
'/node_modules/',
|
|
105
|
-
'^.+\\.module\\.(css|sass|scss)$',
|
|
106
|
-
],
|
|
107
|
-
setupFiles: [jestSetupPath],
|
|
108
|
-
moduleNameMapper: {
|
|
109
|
-
"\\.(css|less|scss)$": "identity-obj-proxy",
|
|
110
|
-
'^/(.*)$': '<rootDir>/$1', // Map absolute paths to <rootDir>
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
89
|
try {
|
|
114
|
-
|
|
115
|
-
|
|
90
|
+
if (opts.clearCache) {
|
|
91
|
+
const clearCacheCode = await runLocalJest(appDirectory, ['--clearCache']);
|
|
92
|
+
if (clearCacheCode !== 0) {
|
|
93
|
+
process.exit(clearCacheCode);
|
|
94
|
+
}
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const jestArgs = [];
|
|
98
|
+
if (opts.watch)
|
|
99
|
+
jestArgs.push('--watch');
|
|
100
|
+
if (opts.coverage)
|
|
101
|
+
jestArgs.push('--coverage');
|
|
102
|
+
if (opts.updateSnapshot)
|
|
103
|
+
jestArgs.push('--updateSnapshot');
|
|
104
|
+
if (opts.runInBand)
|
|
105
|
+
jestArgs.push('--runInBand');
|
|
106
|
+
if (opts.onlyFailures)
|
|
107
|
+
jestArgs.push('--onlyFailures');
|
|
108
|
+
if (opts.config)
|
|
109
|
+
jestArgs.push('--config', opts.config);
|
|
110
|
+
jestArgs.push(...args);
|
|
111
|
+
const exitCode = await runLocalJest(appDirectory, jestArgs);
|
|
112
|
+
if (exitCode === 0) {
|
|
116
113
|
console.log('Tests completed successfully.');
|
|
117
114
|
if (opts.coverage) {
|
|
118
115
|
console.log('Coverage report generated in the "coverage" directory.');
|
|
@@ -120,7 +117,7 @@ Command.create({
|
|
|
120
117
|
}
|
|
121
118
|
else {
|
|
122
119
|
console.error('Some tests failed.');
|
|
123
|
-
process.exit(
|
|
120
|
+
process.exit(exitCode);
|
|
124
121
|
}
|
|
125
122
|
}
|
|
126
123
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jest.sub.cmd.js","sourceRoot":"","sources":["../../../../../src/commands/testCmd/jest.sub.cmd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"jest.sub.cmd.js","sourceRoot":"","sources":["../../../../../src/commands/testCmd/jest.sub.cmd.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
testEnvironment: 'jsdom',
|
|
3
|
+
coverageDirectory: '<rootDir>/../coverage',
|
|
4
|
+
testPathIgnorePatterns: [
|
|
5
|
+
'/node_modules',
|
|
6
|
+
'<rootDir>/packages',
|
|
7
|
+
'<rootDir>/public',
|
|
8
|
+
'<rootDir>/private'
|
|
9
|
+
],
|
|
10
|
+
testMatch: ['**/?(*.)+(app-tests).[tj]s?(x)'],
|
|
11
|
+
transform: {
|
|
12
|
+
'^.+\\.(js|jsx|ts|tsx)$': 'babel-jest',
|
|
13
|
+
'.+\\.(css|styl|less|sass|scss)$': 'jest-css-modules-transform'
|
|
14
|
+
},
|
|
15
|
+
transformIgnorePatterns: [
|
|
16
|
+
'/node_modules/',
|
|
17
|
+
'^.+\\.module\\.(css|sass|scss)$'
|
|
18
|
+
],
|
|
19
|
+
setupFiles: ['<rootDir>/../config/jest.setup.js'],
|
|
20
|
+
moduleNameMapper: {
|
|
21
|
+
'\\.(css|less|scss)$': 'identity-obj-proxy',
|
|
22
|
+
'^/(.*)$': '<rootDir>/$1' // Map absolute paths to <rootDir>
|
|
5
23
|
}
|
|
6
|
-
}
|
|
24
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maka/maka-cli",
|
|
3
|
-
"version": "5.3.
|
|
3
|
+
"version": "5.3.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"summary": "A command line tool for scaffolding Meteor 2.x applications using either React.",
|
|
6
6
|
"description": "A command line tool for scaffolding Meteor 2.x applications using React.",
|
|
@@ -56,7 +56,6 @@
|
|
|
56
56
|
"http-proxy": "^1.18.1",
|
|
57
57
|
"humps": "^2.0.1",
|
|
58
58
|
"husky": "^9.1.6",
|
|
59
|
-
"jest": "^30.4.2",
|
|
60
59
|
"latest-version": "^9.0.0",
|
|
61
60
|
"minimist": "^1.2.8",
|
|
62
61
|
"node-forge": "^1.3.1",
|
|
@@ -91,6 +90,7 @@
|
|
|
91
90
|
"concurrently": "^10.0.5",
|
|
92
91
|
"esbuild": "^0.28.2",
|
|
93
92
|
"globals": "^17.11.0",
|
|
93
|
+
"jest": "^30.4.2",
|
|
94
94
|
"mkdirp": "^3.0.1",
|
|
95
95
|
"ts-jest": "^29.2.5",
|
|
96
96
|
"typescript": "^6.0.3",
|