diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml index dea02ea206..612375ca1c 100644 --- a/.github/workflows/cli.yml +++ b/.github/workflows/cli.yml @@ -44,7 +44,7 @@ jobs: - name: verify app and plugin creation on Windows working-directory: ${{ runner.temp }} if: runner.os == 'Windows' - run: node ${{ github.workspace }}/scripts/cli-e2e-test.js + run: node ${{ github.workspace }}/packages/cli/e2e-test/cli-e2e-test.js env: BACKSTAGE_E2E_CLI_TEST: true - name: verify app and plugin creation on Linux @@ -52,7 +52,7 @@ jobs: if: runner.os == 'Linux' run: | sudo sysctl fs.inotify.max_user_watches=524288 - node ${{ github.workspace }}/scripts/cli-e2e-test.js + node ${{ github.workspace }}/packages/cli/e2e-test/cli-e2e-test.js env: BACKSTAGE_E2E_CLI_TEST: true - name: lint newly created app and plugin diff --git a/package.json b/package.json index 10a5daa4c1..f04c982621 100644 --- a/package.json +++ b/package.json @@ -33,8 +33,7 @@ "lerna": "^3.20.2", "lint-staged": "^10.1.0", "prettier": "^1.19.1", - "typescript": "^3.7.5", - "zombie": "^6.1.4" + "typescript": "^3.7.5" }, "dependencies": { "@types/classnames": "^2.2.9", diff --git a/packages/cli/e2e-test/.eslintrc.js b/packages/cli/e2e-test/.eslintrc.js new file mode 100644 index 0000000000..274c7426b8 --- /dev/null +++ b/packages/cli/e2e-test/.eslintrc.js @@ -0,0 +1,29 @@ +/* + * 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. + */ + +module.exports = { + rules: { + 'import/no-extraneous-dependencies': [ + 'error', + { + devDependencies: true, + optionalDependencies: true, + peerDependencies: true, + bundledDependencies: true, + }, + ], + }, +}; diff --git a/scripts/cli-e2e-test.js b/packages/cli/e2e-test/cli-e2e-test.js similarity index 100% rename from scripts/cli-e2e-test.js rename to packages/cli/e2e-test/cli-e2e-test.js diff --git a/scripts/createTestApp.js b/packages/cli/e2e-test/createTestApp.js similarity index 94% rename from scripts/createTestApp.js rename to packages/cli/e2e-test/createTestApp.js index 88b9d772f1..5437804975 100644 --- a/scripts/createTestApp.js +++ b/packages/cli/e2e-test/createTestApp.js @@ -18,7 +18,7 @@ const { resolve: resolvePath } = require('path'); const { spawnPiped, waitFor, waitForExit, print } = require('./helpers'); async function createTestApp() { - const cliPath = resolvePath(__dirname, '../packages/cli/bin/backstage-cli'); + const cliPath = resolvePath(__dirname, '../bin/backstage-cli'); print('Creating a Backstage App'); const createApp = spawnPiped(['node', cliPath, 'create-app']); diff --git a/scripts/createTestPlugin.js b/packages/cli/e2e-test/createTestPlugin.js similarity index 100% rename from scripts/createTestPlugin.js rename to packages/cli/e2e-test/createTestPlugin.js diff --git a/scripts/helpers.js b/packages/cli/e2e-test/helpers.js similarity index 100% rename from scripts/helpers.js rename to packages/cli/e2e-test/helpers.js diff --git a/packages/cli/package.json b/packages/cli/package.json index 2a2adba6a8..faf8710d14 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -22,6 +22,7 @@ "build": "backstage-cli build-cache -- tsc", "lint": "backstage-cli lint", "test": "backstage-cli test", + "test:e2e": "node e2e-test/cli-e2e-test.js", "clean": "backstage-cli clean", "start": "nodemon ." }, @@ -41,7 +42,8 @@ "del": "^5.1.0", "nodemon": "^2.0.2", "ts-node": "^8.6.2", - "tsconfig-paths": "^3.9.0" + "tsconfig-paths": "^3.9.0", + "zombie": "^6.1.4" }, "bin": { "backstage-cli": "bin/backstage-cli"