feat(scaffolder-backend-module-rails): handle more rails new arguments
Signed-off-by: Christina Chan <6462356+cchawn@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend-module-rails': minor
|
||||
---
|
||||
|
||||
Added more (optional) arguments to the `createFetchRailsAction` to be passed to `rails new`
|
||||
@@ -103,6 +103,31 @@ export function createFetchRailsAction(options: {
|
||||
description: 'Skip test files',
|
||||
type: 'boolean',
|
||||
},
|
||||
skipActionCable: {
|
||||
title: 'skipActionCable',
|
||||
description: 'Skip Action Cable files',
|
||||
type: 'boolean',
|
||||
},
|
||||
skipActionMailer: {
|
||||
title: 'skipActionMailer',
|
||||
description: 'Skip Action Mailer files',
|
||||
type: 'boolean',
|
||||
},
|
||||
skipActionMailbox: {
|
||||
title: 'skipActionMailbox',
|
||||
description: 'Skip Action Mailbox gem',
|
||||
type: 'boolean',
|
||||
},
|
||||
skipActiveStorage: {
|
||||
title: 'skipActiveStorage',
|
||||
description: 'Skip Active Storage files',
|
||||
type: 'boolean',
|
||||
},
|
||||
skipActionText: {
|
||||
title: 'skipActionText',
|
||||
description: 'Skip Action Text gem',
|
||||
type: 'boolean',
|
||||
},
|
||||
force: {
|
||||
title: 'force',
|
||||
description: 'Overwrite files that already exist',
|
||||
|
||||
+5
@@ -28,6 +28,11 @@ describe('railsArgumentResolver', () => {
|
||||
[{ skipBundle: true }, ['--skip-bundle']],
|
||||
[{ skipWebpackInstall: true }, ['--skip-webpack-install']],
|
||||
[{ skipTest: true }, ['--skip-test']],
|
||||
[{ skipActionCable: true }, ['--skip-action-cable']],
|
||||
[{ skipActionMailer: true }, ['--skip-action-mailer']],
|
||||
[{ skipActionMailbox: true }, ['--skip-action-mailbox']],
|
||||
[{ skipActiveStorage: true }, ['--skip-active-storage']],
|
||||
[{ skipActionText: true }, ['--skip-action-text']],
|
||||
[{ force: true }, ['--force']],
|
||||
[{ webpacker: 'vue' }, ['--webpack', 'vue']],
|
||||
[{ database: 'postgresql' }, ['--database', 'postgresql']],
|
||||
|
||||
+32
-7
@@ -44,16 +44,21 @@ enum RailsVersion {
|
||||
}
|
||||
|
||||
export type RailsRunOptions = {
|
||||
minimal?: boolean;
|
||||
api?: boolean;
|
||||
database?: Database;
|
||||
force?: boolean;
|
||||
minimal?: boolean;
|
||||
railsVersion?: RailsVersion;
|
||||
skipActionCable?: boolean;
|
||||
skipActionMailbox?: boolean;
|
||||
skipActionMailer?: boolean;
|
||||
skipActionText?: boolean;
|
||||
skipActiveStorage?: boolean;
|
||||
skipBundle?: boolean;
|
||||
skipTest?: boolean;
|
||||
skipWebpackInstall?: boolean;
|
||||
template?: string;
|
||||
webpacker?: Webpacker;
|
||||
database?: Database;
|
||||
railsVersion?: RailsVersion;
|
||||
skipBundle?: boolean;
|
||||
skipWebpackInstall?: boolean;
|
||||
skipTest?: boolean;
|
||||
force?: boolean;
|
||||
};
|
||||
|
||||
export const railsArgumentResolver = (
|
||||
@@ -83,6 +88,26 @@ export const railsArgumentResolver = (
|
||||
argumentsToRun.push('--skip-test');
|
||||
}
|
||||
|
||||
if (options?.skipActionCable) {
|
||||
argumentsToRun.push('--skip-action-cable');
|
||||
}
|
||||
|
||||
if (options?.skipActionMailer) {
|
||||
argumentsToRun.push('--skip-action-mailer');
|
||||
}
|
||||
|
||||
if (options?.skipActionMailbox) {
|
||||
argumentsToRun.push('--skip-action-mailbox');
|
||||
}
|
||||
|
||||
if (options?.skipActiveStorage) {
|
||||
argumentsToRun.push('--skip-active-storage');
|
||||
}
|
||||
|
||||
if (options?.skipActionText) {
|
||||
argumentsToRun.push('--skip-action-text');
|
||||
}
|
||||
|
||||
if (options?.force) {
|
||||
argumentsToRun.push('--force');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user