Skip to content

Commit

Permalink
feat: accept multiple options, add debug and warning messages
Browse files Browse the repository at this point in the history
  • Loading branch information
leventebalogh committed Jul 8, 2024
1 parent 6a79d7c commit 8ce0a9a
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions packages/create-plugin/src/utils/utils.config.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
import fs from 'node:fs';
import path from 'node:path';
import createDebug from 'debug';
import { getVersion } from './utils.version.js';
import { argv, commandName } from './utils.cli.js';
import { DEFAULT_FEATURE_FLAGS } from '../constants.js';

const debug = createDebug('config');

export type FeatureFlags = {
bundleGrafanaUI?: boolean;

Expand Down Expand Up @@ -88,12 +91,23 @@ function readRCFileSync(path: string): CreatePluginConfig | undefined {
function createFeatureFlags(flags?: FeatureFlags): FeatureFlags {
const featureFlags = commandName === 'generate' ? DEFAULT_FEATURE_FLAGS : flags ?? {};
const cliArgFlags = parseFeatureFlagsFromCliArgs();
debug('Detected CLI feature flags:', cliArgFlags);
return { ...featureFlags, ...cliArgFlags };
}

function parseFeatureFlagsFromCliArgs() {
const flagsfromCliArgs: string[] = argv.featureFlags ? argv.featureFlags.split(',') : [];
const knownFlags = flagsfromCliArgs.filter((item) => Object.keys(DEFAULT_FEATURE_FLAGS).includes(item));
const rawCliArgs = argv.featureFlags || argv.featureflags || argv['feature-flags'];
const flagsfromCliArgs: string[] = rawCliArgs ? rawCliArgs.split(',') : [];
const availableFlags = Object.keys(DEFAULT_FEATURE_FLAGS);
const knownFlags = flagsfromCliArgs.filter((item) => {
const isValidFeatureFlag = availableFlags.includes(item);

if (!isValidFeatureFlag) {
console.warn(`Warning! Unknown feature flag "${item}". (Available flags: ${availableFlags.join(', ')})`);
}

return isValidFeatureFlag;
});
return knownFlags.reduce((acc, flag) => {
return { ...acc, [flag]: true };
}, {} as FeatureFlags);
Expand Down

0 comments on commit 8ce0a9a

Please sign in to comment.