From 78321d27181e197a5eec7e7166b60793d8626afe Mon Sep 17 00:00:00 2001 From: Raghunandan Date: Fri, 13 Mar 2020 09:39:15 +0100 Subject: [PATCH] move copy assets to build step --- packages/cli/src/commands/plugin/build.ts | 21 ++++++++++++ .../cli/src/commands/plugin/copyAssets.ts | 34 ------------------- packages/cli/src/index.ts | 6 ---- .../templates/default-plugin/package.json.hbs | 2 +- plugins/home-page/package.json | 2 +- 5 files changed, 23 insertions(+), 42 deletions(-) delete mode 100644 packages/cli/src/commands/plugin/copyAssets.ts diff --git a/packages/cli/src/commands/plugin/build.ts b/packages/cli/src/commands/plugin/build.ts index 0d45a583a3..6607b0507a 100644 --- a/packages/cli/src/commands/plugin/build.ts +++ b/packages/cli/src/commands/plugin/build.ts @@ -17,6 +17,9 @@ import chalk from 'chalk'; import { Command } from 'commander'; import { spawnSync } from 'child_process'; +import fs from 'fs-extra'; +import recursive from 'recursive-readdir'; +import path from 'path'; export default async (cmd: Command) => { const args = [ @@ -33,6 +36,7 @@ export default async (cmd: Command) => { } try { + await copyStaticAssets(); const result = spawnSync('tsc', args, { stdio: 'inherit' }); if (result.error) { throw result.error; @@ -43,3 +47,20 @@ export default async (cmd: Command) => { process.exit(1); } }; + +const copyStaticAssets = async () => { + const pluginRoot = fs.realpathSync(process.cwd()); + const source = path.resolve(pluginRoot, 'src'); + const destination = path.resolve(pluginRoot, 'dist', 'cjs'); + const assetFiles = await recursive(source, [ + '**/*.tsx', + '**/*.ts', + '**/*.js', + ]); + assetFiles.forEach(file => { + const fileToBeCopied = file.replace(source, destination); + const dirForFileToBeCopied = path.dirname(fileToBeCopied); + fs.ensureDirSync(dirForFileToBeCopied); + fs.copyFileSync(file, file.replace(source, destination).toString()); + }); +}; diff --git a/packages/cli/src/commands/plugin/copyAssets.ts b/packages/cli/src/commands/plugin/copyAssets.ts deleted file mode 100644 index b85acd7d43..0000000000 --- a/packages/cli/src/commands/plugin/copyAssets.ts +++ /dev/null @@ -1,34 +0,0 @@ -import chalk from 'chalk'; -import fs from 'fs-extra'; -import recursive from 'recursive-readdir'; -import path from 'path'; - -const copyStaticAssets = async (source: string, destination: string) => { - const assetFiles = await recursive(source, [ - '**/*.tsx', - '**/*.ts', - '**/*.js', - ]); - assetFiles.forEach(file => { - const fileToBeCopied = file.replace(source, destination); - const dirForFileToBeCopied = fileToBeCopied.replace( - path.basename(fileToBeCopied), - '', - ); - fs.ensureDirSync(dirForFileToBeCopied); - fs.copyFileSync(file, file.replace(source, destination)); - }); -}; - -export default async () => { - try { - const pluginRoot = fs.realpathSync(process.cwd()); - const pluginSource = path.resolve(pluginRoot, 'src'); - const pluginDist = path.resolve(pluginRoot, 'dist', 'cjs'); - await copyStaticAssets(pluginSource, pluginDist); - process.exit(0); - } catch (error) { - process.stderr.write(`${chalk.red(error.message)}\n`); - process.exit(1); - } -}; diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 5d355fb572..f41b533d54 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -19,7 +19,6 @@ import chalk from 'chalk'; import fs from 'fs'; import createPluginCommand from './commands/createPlugin'; import watch from './commands/watch-deps'; -import pluginCopyAssets from './commands/plugin/copyAssets'; import pluginBuild from './commands/plugin/build'; import pluginLint from './commands/plugin/lint'; import pluginServe from './commands/plugin/serve'; @@ -45,11 +44,6 @@ const main = (argv: string[]) => { .description('Build a plugin') .action(pluginBuild); - program - .command('plugin:copyAssets') - .description('Copy assets for a plugin') - .action(pluginCopyAssets); - program .command('plugin:lint') .option('--fix', 'Attempt to automatically fix violations') diff --git a/packages/cli/templates/default-plugin/package.json.hbs b/packages/cli/templates/default-plugin/package.json.hbs index 5fff3184ae..2b0f66ea2f 100644 --- a/packages/cli/templates/default-plugin/package.json.hbs +++ b/packages/cli/templates/default-plugin/package.json.hbs @@ -6,7 +6,7 @@ "license": "Apache-2.0", "private": false, "scripts": { - "build": "backstage-cli plugin:copyAssets && backstage-cli plugin:build", + "build": "backstage-cli plugin:build", "lint": "backstage-cli plugin:lint", "test": "backstage-cli plugin:test" }, diff --git a/plugins/home-page/package.json b/plugins/home-page/package.json index f7f0c9c76c..a76b0a5291 100644 --- a/plugins/home-page/package.json +++ b/plugins/home-page/package.json @@ -19,7 +19,7 @@ "@material-ui/icons": "^4.9.1" }, "scripts": { - "build": "backstage-cli plugin:copyAssets && backstage-cli plugin:build", + "build": "backstage-cli plugin:build", "lint": "backstage-cli plugin:lint", "test": "backstage-cli plugin:test" },