Skip to content

Commit eff7f1a

Browse files
committed
feat(dependencies): define dependencies in the new format
BREAKING CHANGE: dependencies are now defined under dependencies.javascript
1 parent 16a62f6 commit eff7f1a

File tree

4 files changed

+24
-13
lines changed

4 files changed

+24
-13
lines changed

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
"access": "public"
5050
},
5151
"dependencies": {
52-
"@form8ion/cucumber-scaffolder": "^4.0.0",
52+
"@form8ion/cucumber-scaffolder": "^5.0.0-beta.1",
5353
"camelcase": "^8.0.0",
5454
"deepmerge": "^4.2.2",
5555
"make-dir": "^4.0.0",

src/testing.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import mkdir from 'make-dir';
88
import {scaffold as scaffoldCucumber} from '@form8ion/cucumber-scaffolder';
99

1010
const __dirname = dirname(fileURLToPath(import.meta.url)); // eslint-disable-line no-underscore-dangle
11+
1112
export default async function ({projectRoot, projectName, packageName, tests}) {
1213
if (tests.integration) {
1314
const [stepDefinitionsDirectory, cucumberResults] = await Promise.all([
@@ -24,7 +25,10 @@ export default async function ({projectRoot, projectName, packageName, tests}) {
2425
);
2526

2627
return deepmerge(
27-
{devDependencies: ['remark', 'package-preview'], scripts: {'pretest:integration:base': 'preview'}},
28+
{
29+
dependencies: {javascript: {development: ['remark', 'package-preview']}},
30+
scripts: {'pretest:integration:base': 'preview'}
31+
},
2832
cucumberResults
2933
);
3034
}

src/testing.test.js

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {promises as fs} from 'node:fs';
22
import {resolve} from 'node:path';
33
import mustache from 'mustache';
4+
import deepmerge from 'deepmerge';
45
import * as mkdir from 'make-dir';
56
import * as camelcase from 'camelcase';
67
import * as cucumberScaffolder from '@form8ion/cucumber-scaffolder';
@@ -15,6 +16,7 @@ vi.mock('node:fs');
1516
vi.mock('mustache');
1617
vi.mock('make-dir');
1718
vi.mock('camelcase');
19+
vi.mock('deepmerge');
1820
vi.mock('@form8ion/cucumber-scaffolder');
1921

2022
describe('testing', () => {
@@ -29,8 +31,8 @@ describe('testing', () => {
2931
});
3032

3133
it('should create a canary cucumber test when the project will be integration tested', async () => {
32-
const cucumberDevDependencies = any.listOf(any.word);
33-
const cucumberResults = {...any.simpleObject(), devDependencies: cucumberDevDependencies};
34+
const cucumberResults = any.simpleObject();
35+
const mergedResults = any.simpleObject();
3436
const renderedContent = any.string();
3537
const templateContent = any.string();
3638
when(mkdir.default)
@@ -44,13 +46,18 @@ describe('testing', () => {
4446
when(mustache.render)
4547
.calledWith(templateContent, {projectName: camelizedProjectName, packageName})
4648
.mockReturnValue(renderedContent);
49+
when(deepmerge)
50+
.calledWith(
51+
{
52+
dependencies: {javascript: {development: ['remark', 'package-preview']}},
53+
scripts: {'pretest:integration:base': 'preview'}
54+
},
55+
cucumberResults
56+
)
57+
.mockReturnValue(mergedResults);
4758

4859
expect(await scaffoldTesting({projectRoot, projectName, packageName, tests: {integration: true}}))
49-
.toEqual({
50-
...cucumberResults,
51-
devDependencies: ['remark', 'package-preview', ...cucumberDevDependencies],
52-
scripts: {'pretest:integration:base': 'preview'}
53-
});
60+
.toEqual(mergedResults);
5461
expect(fs.writeFile).toHaveBeenCalledWith(`${pathToCreatedDirectory}/common-steps.js`, renderedContent);
5562
});
5663

0 commit comments

Comments
 (0)