diff --git a/src/config-scaffolder.js b/src/config-scaffolder.js index ffa887c9..9a2c3289 100644 --- a/src/config-scaffolder.js +++ b/src/config-scaffolder.js @@ -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']}} } }; } diff --git a/src/config-scaffolder.test.js b/src/config-scaffolder.test.js index 1c818af0..fd4cf9b8 100644 --- a/src/config-scaffolder.test.js +++ b/src/config-scaffolder.test.js @@ -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); }); diff --git a/src/dialect.js b/src/dialect.js index b047cbe5..6cc8ea6f 100644 --- a/src/dialect.js +++ b/src/dialect.js @@ -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: diff --git a/src/dialect.test.js b/src/dialect.test.js index 1896a71b..6cce9358 100644 --- a/src/dialect.test.js +++ b/src/dialect.test.js @@ -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/']); }); diff --git a/src/scaffolder.js b/src/scaffolder.js index 274e06ea..3841bfb4 100644 --- a/src/scaffolder.js +++ b/src/scaffolder.js @@ -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'" diff --git a/src/scaffolder.test.js b/src/scaffolder.test.js index a0513443..fe741545 100644 --- a/src/scaffolder.test.js +++ b/src/scaffolder.test.js @@ -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\'' diff --git a/test/integration/features/step_definitions/dependencies-steps.js b/test/integration/features/step_definitions/dependencies-steps.js index 408a1054..2092c314 100644 --- a/test/integration/features/step_definitions/dependencies-steps.js +++ b/test/integration/features/step_definitions/dependencies-steps.js @@ -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'); } });