diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml
index 5db1f65aa3..d56bebfad2 100644
--- a/.github/workflows/frontend.yml
+++ b/.github/workflows/frontend.yml
@@ -40,3 +40,9 @@ jobs:
run: |
sudo sysctl fs.inotify.max_user_watches=524288
node scripts/cli-e2e-test.js
+ - name: yarn lint, test after plugin creation
+ run: |
+ yarn lint
+ yarn test
+ env:
+ CI: true
diff --git a/packages/cli/src/commands/plugin/assets.d.ts b/packages/cli/src/commands/plugin/assets.d.ts
index 34ba07f75c..54523e926b 100644
--- a/packages/cli/src/commands/plugin/assets.d.ts
+++ b/packages/cli/src/commands/plugin/assets.d.ts
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2020 Spotify AB
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
///
///
///
diff --git a/packages/cli/src/commands/plugin/build.ts b/packages/cli/src/commands/plugin/build.ts
index ff95bb994a..4c2113eb2a 100644
--- a/packages/cli/src/commands/plugin/build.ts
+++ b/packages/cli/src/commands/plugin/build.ts
@@ -16,10 +16,27 @@
import { Command } from 'commander';
import fs from 'fs-extra';
-import recursive from 'recursive-readdir';
import path from 'path';
+import recursive from 'recursive-readdir';
import { run } from '../../helpers/run';
+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());
+ });
+};
+
export default async (cmd: Command) => {
const args = [
'--outDir',
@@ -37,20 +54,3 @@ export default async (cmd: Command) => {
await copyStaticAssets();
await run('tsc', args);
};
-
-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/templates/default-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.tsx.hbs b/packages/cli/templates/default-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.tsx.hbs
index 2bb43d5cce..4801dea6dd 100644
--- a/packages/cli/templates/default-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.tsx.hbs
+++ b/packages/cli/templates/default-plugin/src/components/ExampleFetchComponent/ExampleFetchComponent.tsx.hbs
@@ -1,3 +1,4 @@
+/* eslint-disable react/prop-types */
/*
* Copyright 2020 Spotify AB
*
diff --git a/packages/cli/templates/default-plugin/src/plugin.test.ts.hbs b/packages/cli/templates/default-plugin/src/plugin.test.ts.hbs
index 0139d97727..4e94ca5d50 100644
--- a/packages/cli/templates/default-plugin/src/plugin.test.ts.hbs
+++ b/packages/cli/templates/default-plugin/src/plugin.test.ts.hbs
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2020 Spotify AB
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import plugin from './plugin';
describe('{{ id }}', () => {
diff --git a/packages/cli/templates/default-plugin/src/plugin.ts.hbs b/packages/cli/templates/default-plugin/src/plugin.ts.hbs
index 830de5f553..ccac096007 100644
--- a/packages/cli/templates/default-plugin/src/plugin.ts.hbs
+++ b/packages/cli/templates/default-plugin/src/plugin.ts.hbs
@@ -1,3 +1,19 @@
+/*
+ * Copyright 2020 Spotify AB
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
import { createPlugin } from '@spotify-backstage/core';
import ExampleComponent from './components/ExampleComponent';
diff --git a/packages/core/src/testUtils/logCollector.js b/packages/core/src/testUtils/logCollector.js
index 57b30c8f5c..c3ffa525b3 100644
--- a/packages/core/src/testUtils/logCollector.js
+++ b/packages/core/src/testUtils/logCollector.js
@@ -15,6 +15,7 @@
*/
/* eslint-disable no-console */
+/* eslint-disable no-param-reassign */
// If the callback function is async this one will be too.
export function withLogCollector(logsToCollect, callback) {