diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index be2a915b70..fb1d8188ff 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -14,6 +14,8 @@ jobs: steps: - uses: actions/checkout@v2 + - name: fetch branch master + run: git fetch origin master - name: find location of global yarn cache id: yarn-cache run: echo "::set-output name=dir::$(yarn cache dir)" diff --git a/docs/FAQ.md b/docs/FAQ.md index 3e0093355e..9b9fff564e 100644 --- a/docs/FAQ.md +++ b/docs/FAQ.md @@ -20,3 +20,14 @@ Additional open sourced plugins would be added to the `plugins` directory in thi While we encourage using the open soure model, integrators that want to experiment with Backstage internally may also choose to develop closed source plugins in a manner that suits them best, for example in their respective Backstage source repository. + +## Any plans for integrating with other repository managers such as Gitlab or Bitbucket? + +We chose Github by the fact that it is the tool that we are most familiar with and that will naturally +lead to integrations for Github specifically being developed in an early stage. + +Hosting this project on Github does not exclude integrations with other alternatives such as Gitlab or +Bitbucket. We believe that in time there will be plugins that will provide functionality for these tools +as well. Hopefully contributed by the community. + +And note that implementations of Backstage can be hosted wherever you feel suits your needs best. diff --git a/package.json b/package.json index 4b978bc5c9..a25335f659 100644 --- a/package.json +++ b/package.json @@ -7,12 +7,11 @@ "scripts": { "start": "yarn build && yarn workspace @spotify-backstage/app start", "build": "lerna run build", - "test": "cross-env CI=true lerna run test -- --coverage", + "test": "cross-env CI=true lerna run test --since origin/master -- --coverage", "create-plugin": "backstage-cli create-plugin", "release": "if [ \"$(git symbolic-ref --short HEAD)\" = master ]; then echo \"don't try to release master\"; exit 1; else lerna version --no-push; fi", "lint": "lerna run lint", - "storybook": "yarn workspace @spotify-backstage/core storybook", - "build-storybook": "yarn workspace @spotify-backstage/core build-storybook" + "storybook": "yarn workspace storybook start" }, "workspaces": { "packages": [ diff --git a/packages/core/package.json b/packages/core/package.json index 5a967bc84c..f1deafadcc 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -8,9 +8,7 @@ "scripts": { "build": "tsc --outDir dist/cjs --noEmit false --module CommonJS", "lint": "backstage-cli lint", - "test": "backstage-cli test", - "storybook": "start-storybook -p 6006", - "build-storybook": "build-storybook" + "test": "backstage-cli test" }, "publishConfig": { "access": "public" @@ -31,17 +29,10 @@ "recompose": "0.30.0" }, "devDependencies": { - "@babel/core": "^7.9.0", "@spotify-backstage/cli": "^0.1.0", - "@storybook/addon-actions": "^5.3.17", - "@storybook/addon-links": "^5.3.17", - "@storybook/addons": "^5.3.17", - "@storybook/react": "^5.3.17", "@testing-library/jest-dom": "^4.2.4", "@testing-library/react": "^9.3.2", "@testing-library/user-event": "^7.1.2", - "babel-loader": "^8.1.0", - "prop-types": "^15.7.2", - "ts-loader": "^6.2.1" + "prop-types": "^15.7.2" } } diff --git a/packages/storybook/.storybook/main.js b/packages/storybook/.storybook/main.js new file mode 100644 index 0000000000..7a51d41e0d --- /dev/null +++ b/packages/storybook/.storybook/main.js @@ -0,0 +1,22 @@ +module.exports = { + stories: [ + '../../core/src/layout/**/*.stories.tsx', + '../../core/src/components/**/*.stories.tsx', + ], + addons: ['@storybook/addon-actions', '@storybook/addon-links'], + webpackFinal: async config => { + config.module.rules.push({ + test: /\.(ts|tsx)$/, + use: [ + { + loader: require.resolve('ts-loader'), + options: { + transpileOnly: true, + }, + }, + ], + }); + config.resolve.extensions.push('.ts', '.tsx'); + return config; + }, +}; diff --git a/packages/storybook/package.json b/packages/storybook/package.json new file mode 100644 index 0000000000..f4e3b9d0ed --- /dev/null +++ b/packages/storybook/package.json @@ -0,0 +1,21 @@ +{ + "name": "storybook", + "version": "0.0.0", + "description": "Storybook build for core package", + "private": true, + "scripts": { + "start": "start-storybook -p 6006", + "build-storybook": "build-storybook --output-dir dist" + }, + "workspaces": { + "nohoist": [ + "@storybook/**" + ] + }, + "devDependencies": { + "@storybook/addon-actions": "^5.3.17", + "@storybook/addon-links": "^5.3.17", + "@storybook/addons": "^5.3.17", + "@storybook/react": "^5.3.17" + } +} diff --git a/yarn.lock b/yarn.lock index eaacf83d37..78f006747e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -25,7 +25,7 @@ invariant "^2.2.4" semver "^5.5.0" -"@babel/core@7.9.0", "@babel/core@^7.1.0", "@babel/core@^7.4.5", "@babel/core@^7.7.5", "@babel/core@^7.9.0": +"@babel/core@7.9.0", "@babel/core@^7.1.0", "@babel/core@^7.4.5", "@babel/core@^7.7.5": version "7.9.0" resolved "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz#ac977b538b77e132ff706f3b8a4dbad09c03c56e" integrity sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w== @@ -4688,7 +4688,7 @@ babel-jest@^25.1.0: chalk "^3.0.0" slash "^3.0.0" -babel-loader@8.1.0, babel-loader@^8.1.0: +babel-loader@8.1.0: version "8.1.0" resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== @@ -12713,7 +12713,7 @@ minimist-options@^3.0.1: arrify "^1.0.1" is-plain-obj "^1.1.0" -minimist@1.2.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0: +minimist@1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=