Skip to content

Commit

Permalink
feat(dependencies): define dependencies using new format
Browse files Browse the repository at this point in the history
BREAKING CHANGE: dependencies are now defined under dependencies.javascript
  • Loading branch information
travi committed Jan 24, 2025
1 parent 29a3f21 commit 3b5288b
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 19 deletions.
2 changes: 1 addition & 1 deletion src/config-scaffolder.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export default async function ({projectRoot, dialect, projectType}) {

return {
...projectTypes.CLI === projectType && {
devDependencies: ['@rollup/plugin-json', 'rollup-plugin-executable']
dependencies: {javascript: {development: ['@rollup/plugin-json', 'rollup-plugin-executable']}}
}
};
}
2 changes: 1 addition & 1 deletion src/config-scaffolder.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ describe('config scaffolder', () => {
when(mustache.render).calledWith(template, {dualMode: true, cli: true}).mockReturnValue(renderedTemplate);

expect(await scaffoldConfig({projectRoot, dialect, projectType: projectTypes.CLI})).toEqual({
devDependencies: ['@rollup/plugin-json', 'rollup-plugin-executable']
dependencies: {javascript: {development: ['@rollup/plugin-json', 'rollup-plugin-executable']}}
});
expect(fs.writeFile).toHaveBeenCalledWith(`${projectRoot}/rollup.config.mjs`, renderedTemplate);
});
Expand Down
4 changes: 2 additions & 2 deletions src/dialect.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ import {dialects} from '@form8ion/javascript-core';
export default function ({dialect}) {
switch (dialect) {
case dialects.BABEL:
return {devDependencies: ['@rollup/plugin-babel']};
return {dependencies: {javascript: {development: ['@rollup/plugin-babel']}}};
case dialects.TYPESCRIPT:
return {
devDependencies: ['@rollup/plugin-typescript'],
dependencies: {javascript: {development: ['@rollup/plugin-typescript']}},
vcsIgnore: {directories: ['.rollup.cache/']}
};
default:
Expand Down
8 changes: 4 additions & 4 deletions src/dialect.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@ import scaffoldDialect from './dialect.js';

describe('dialect scaffolder', () => {
it('should handle babel details', async () => {
const {devDependencies} = await scaffoldDialect({dialect: dialects.BABEL});
const {dependencies} = await scaffoldDialect({dialect: dialects.BABEL});

expect(devDependencies).toEqual(['@rollup/plugin-babel']);
expect(dependencies.javascript.development).toEqual(['@rollup/plugin-babel']);
});

it('should handle typescript details', async () => {
const {devDependencies, vcsIgnore} = await scaffoldDialect({dialect: dialects.TYPESCRIPT});
const {dependencies, vcsIgnore} = await scaffoldDialect({dialect: dialects.TYPESCRIPT});

expect(devDependencies).toEqual(['@rollup/plugin-typescript']);
expect(dependencies.javascript.development).toEqual(['@rollup/plugin-typescript']);
expect(vcsIgnore.directories).toEqual(['.rollup.cache/']);
});

Expand Down
2 changes: 1 addition & 1 deletion src/scaffolder.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import scaffoldDialect from './dialect.js';
export async function scaffold({projectRoot, dialect, projectType}) {
return deepmerge.all([
{
devDependencies: ['rollup', 'rollup-plugin-auto-external'],
dependencies: {javascript: {development: ['rollup', 'rollup-plugin-auto-external']}},
scripts: {
'build:js': 'rollup --config',
watch: "run-s 'build:js -- --watch'"
Expand Down
2 changes: 1 addition & 1 deletion src/scaffolder.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ describe('rollup scaffolder', () => {
when(deepmerge.all)
.calledWith([
{
devDependencies: ['rollup', 'rollup-plugin-auto-external'],
dependencies: {javascript: {development: ['rollup', 'rollup-plugin-auto-external']}},
scripts: {
'build:js': 'rollup --config',
watch: 'run-s \'build:js -- --watch\''
Expand Down
18 changes: 9 additions & 9 deletions test/integration/features/step_definitions/dependencies-steps.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,29 +8,29 @@ export const pluginJson = '@rollup/plugin-json';
export const pluginExecutable = 'rollup-plugin-executable';

Then('dependencies are installed', async function () {
const {devDependencies} = this.scaffoldResult;
const {dependencies} = this.scaffoldResult;

assert.include(devDependencies, 'rollup');
assert.include(devDependencies, autoExternal);
assert.include(dependencies.javascript.development, 'rollup');
assert.include(dependencies.javascript.development, autoExternal);
});

Then('dependencies are installed for a {string} project-type', async function (projectType) {
const {devDependencies} = this.scaffoldResult;
const {dependencies} = this.scaffoldResult;

if (projectTypes.CLI === projectType) {
assert.include(devDependencies, pluginJson);
assert.include(devDependencies, pluginExecutable);
assert.include(dependencies.javascript.development, pluginJson);
assert.include(dependencies.javascript.development, pluginExecutable);
}
});

Then('dependencies are installed for the {string} dialect', async function (dialect) {
const {devDependencies} = this.scaffoldResult;
const {dependencies} = this.scaffoldResult;

if (dialects.TYPESCRIPT === dialect) {
assert.include(devDependencies, '@rollup/plugin-typescript');
assert.include(dependencies.javascript.development, '@rollup/plugin-typescript');
}

if (dialects.BABEL === dialect) {
assert.include(devDependencies, '@rollup/plugin-babel');
assert.include(dependencies.javascript.development, '@rollup/plugin-babel');
}
});

0 comments on commit 3b5288b

Please sign in to comment.