@form8ion/javascript 15.8.2 → 16.0.0-beta.1
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/README.md +2 -2
- package/lib/index.js +77 -64
- package/lib/index.js.map +1 -1
- package/package.json +17 -17
- package/src/code-style/lifter.js +2 -2
- package/src/dependencies/installer.js +5 -5
- package/src/dependencies/installer.test.js +8 -22
- package/src/dependencies/processor.js +10 -8
- package/src/dependencies/processor.test.js +31 -18
- package/src/dependencies/remover.js +2 -3
- package/src/dependencies/remover.test.js +4 -2
- package/src/lifter.js +8 -5
- package/src/lifter.test.js +12 -11
- package/src/node-version/scaffolder.js +4 -5
- package/src/node-version/scaffolder.test.js +5 -4
- package/src/node-version/tasks.js +4 -6
- package/src/node-version/tasks.test.js +5 -8
- package/src/options/schemas.js +2 -1
- package/src/options/schemas.test.js +11 -5
- package/src/package/lifter.js +3 -4
- package/src/package/lifter.test.js +8 -4
- package/src/package/scaffolder.js +2 -3
- package/src/package/scaffolder.test.js +3 -1
- package/src/project-type/application/scaffolder.js +2 -3
- package/src/project-type/application/scaffolder.test.js +3 -5
- package/src/project-type/monorepo/scaffolder.js +2 -3
- package/src/project-type/monorepo/scaffolder.test.js +3 -6
- package/src/project-type/package/scaffolder.js +2 -3
- package/src/project-type/package/scaffolder.test.js +6 -5
- package/src/project-type/publishable/access-level.js +1 -1
- package/src/project-type/publishable/access-level.test.js +5 -3
- package/src/project-type/publishable/badges.js +2 -2
- package/src/project-type/publishable/badges.test.js +14 -5
- package/src/project-type/publishable/lifter.js +9 -4
- package/src/project-type/publishable/lifter.test.js +4 -4
- package/src/project-type/scaffolder.js +4 -4
- package/src/project-type/scaffolder.test.js +15 -16
- package/src/prompts/questions.js +3 -3
- package/src/prompts/questions.test.js +6 -5
- package/src/scaffolder.js +7 -8
- package/src/scaffolder.test.js +6 -5
- package/src/tester.js +2 -4
- package/src/tester.test.js +5 -8
package/src/scaffolder.test.js
CHANGED
|
@@ -62,6 +62,7 @@ describe('javascript project scaffolder', () => {
|
|
|
62
62
|
const mergedVcsIgnore = any.simpleObject();
|
|
63
63
|
const mergedNextSteps = any.listOf(any.simpleObject);
|
|
64
64
|
const mergedResults = {...any.simpleObject(), vcsIgnore: mergedVcsIgnore, nextSteps: mergedNextSteps};
|
|
65
|
+
const logger = {info: () => undefined};
|
|
65
66
|
|
|
66
67
|
beforeEach(() => {
|
|
67
68
|
const projectName = any.word();
|
|
@@ -121,7 +122,7 @@ describe('javascript project scaffolder', () => {
|
|
|
121
122
|
}
|
|
122
123
|
});
|
|
123
124
|
when(prompt)
|
|
124
|
-
.calledWith(ciServices, hosts, visibility, vcs, decisions, configs, pathWithinParent)
|
|
125
|
+
.calledWith(ciServices, hosts, visibility, vcs, decisions, configs, pathWithinParent, {logger})
|
|
125
126
|
.thenResolve({
|
|
126
127
|
packageManager,
|
|
127
128
|
dialect,
|
|
@@ -138,7 +139,7 @@ describe('javascript project scaffolder', () => {
|
|
|
138
139
|
when(scaffoldDocumentation).calledWith({packageManager, projectTypeResults}).thenReturn(documentation);
|
|
139
140
|
when(buildDocumentationCommand).calledWith(packageManager).thenReturn(documentationCommand);
|
|
140
141
|
when(scaffoldPackage)
|
|
141
|
-
.calledWith({projectRoot, projectName, scope, dialect, license, author, description})
|
|
142
|
+
.calledWith({projectRoot, projectName, scope, dialect, license, author, description}, {logger})
|
|
142
143
|
.thenResolve(packageResults);
|
|
143
144
|
when(scaffoldProjectType)
|
|
144
145
|
.calledWith({
|
|
@@ -159,7 +160,7 @@ describe('javascript project scaffolder', () => {
|
|
|
159
160
|
scope,
|
|
160
161
|
tests,
|
|
161
162
|
publishRegistry
|
|
162
|
-
})
|
|
163
|
+
}, {logger})
|
|
163
164
|
.thenResolve(projectTypeResults);
|
|
164
165
|
when(scaffoldVerification)
|
|
165
166
|
.calledWith({
|
|
@@ -175,7 +176,7 @@ describe('javascript project scaffolder', () => {
|
|
|
175
176
|
integrationTestFrameworks
|
|
176
177
|
})
|
|
177
178
|
.thenResolve(verificationResults);
|
|
178
|
-
when(scaffoldNodeVersion).calledWith({projectRoot, nodeVersionCategory}).thenResolve(nodeVersionResults);
|
|
179
|
+
when(scaffoldNodeVersion).calledWith({projectRoot, nodeVersionCategory}, {logger}).thenResolve(nodeVersionResults);
|
|
179
180
|
when(scaffoldDialect)
|
|
180
181
|
.calledWith({dialect, configs, projectRoot, projectType, testFilenamePattern})
|
|
181
182
|
.thenResolve(dialectResults);
|
|
@@ -235,7 +236,7 @@ describe('javascript project scaffolder', () => {
|
|
|
235
236
|
});
|
|
236
237
|
|
|
237
238
|
it('should scaffold the javascript details', async () => {
|
|
238
|
-
const results = await scaffold(options);
|
|
239
|
+
const results = await scaffold(options, {logger});
|
|
239
240
|
|
|
240
241
|
expect(scaffoldPackageManager).toHaveBeenCalledWith({projectRoot, packageManager});
|
|
241
242
|
expect(results).toEqual({
|
package/src/tester.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import {info} from '@travi/cli-messages';
|
|
2
|
-
|
|
3
1
|
import {test as nvmIsUsed} from './node-version/index.js';
|
|
4
2
|
import {test as jsPackageManagerIsUsed} from './package-managers/index.js';
|
|
5
3
|
|
|
6
|
-
export default async function projectUsesJavaScript({projectRoot}) {
|
|
4
|
+
export default async function projectUsesJavaScript({projectRoot}, {logger}) {
|
|
7
5
|
const [nvmFound, jsPackageManagerFound] = await Promise.all([
|
|
8
6
|
nvmIsUsed({projectRoot}),
|
|
9
7
|
jsPackageManagerIsUsed({projectRoot})
|
|
@@ -11,7 +9,7 @@ export default async function projectUsesJavaScript({projectRoot}) {
|
|
|
11
9
|
|
|
12
10
|
const jsProjectFound = nvmFound || jsPackageManagerFound;
|
|
13
11
|
|
|
14
|
-
if (jsProjectFound) info('JavaScript Project Detected');
|
|
12
|
+
if (jsProjectFound) logger.info('JavaScript Project Detected');
|
|
15
13
|
|
|
16
14
|
return jsProjectFound;
|
|
17
15
|
}
|
package/src/tester.test.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {describe, expect, it, vi} from 'vitest';
|
|
2
2
|
import any from '@travi/any';
|
|
3
3
|
import {when} from 'vitest-when';
|
|
4
4
|
|
|
@@ -11,27 +11,24 @@ vi.mock('./package-managers/index.js');
|
|
|
11
11
|
|
|
12
12
|
describe('javascript predicate', () => {
|
|
13
13
|
const projectRoot = any.string();
|
|
14
|
-
|
|
15
|
-
afterEach(() => {
|
|
16
|
-
vi.clearAllMocks();
|
|
17
|
-
});
|
|
14
|
+
const logger = {info: () => undefined};
|
|
18
15
|
|
|
19
16
|
it('should return `true` if nvm is detected', async () => {
|
|
20
17
|
when(nvmIsUsed).calledWith({projectRoot}).thenResolve(true);
|
|
21
18
|
|
|
22
|
-
expect(await testApplicability({projectRoot})).toBe(true);
|
|
19
|
+
expect(await testApplicability({projectRoot}, {logger})).toBe(true);
|
|
23
20
|
});
|
|
24
21
|
|
|
25
22
|
it('should return `true` if a javascript package manager is detected', async () => {
|
|
26
23
|
when(jsPackageManagerIsUsed).calledWith({projectRoot}).thenResolve(true);
|
|
27
24
|
|
|
28
|
-
expect(await testApplicability({projectRoot})).toBe(true);
|
|
25
|
+
expect(await testApplicability({projectRoot}, {logger})).toBe(true);
|
|
29
26
|
});
|
|
30
27
|
|
|
31
28
|
it('should return `false` if neither nvm nor a js package manager is found', async () => {
|
|
32
29
|
when(nvmIsUsed).calledWith({projectRoot}).thenResolve(false);
|
|
33
30
|
when(jsPackageManagerIsUsed).calledWith({projectRoot}).thenResolve(false);
|
|
34
31
|
|
|
35
|
-
expect(await testApplicability({projectRoot})).toBe(false);
|
|
32
|
+
expect(await testApplicability({projectRoot}, {logger})).toBe(false);
|
|
36
33
|
});
|
|
37
34
|
});
|