Merge pull request #19830 from backstage/rugvip/fix
cli: add new repo fix command, initially for exports and side effects
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
---
|
||||
'@backstage/create-app': patch
|
||||
---
|
||||
|
||||
Added a `fix` scripts that calls the new `backstage-cli repo fix` command.
|
||||
|
||||
To apply this change to an existing app, make the following change to your root `package.json`:
|
||||
|
||||
```diff
|
||||
"test": "backstage-cli repo test",
|
||||
"test:all": "backstage-cli repo test --coverage",
|
||||
+ "fix": "backstage-cli repo fix",
|
||||
"lint": "backstage-cli repo lint --since origin/master",
|
||||
```
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/cli': patch
|
||||
---
|
||||
|
||||
Added a new `repo fix` command that fixes auto-fixable problems in all packages. Initially the command fixes package export declarations, as well as marks all non-bundled frontend packages as side-effect free. Marking packages as free of side-effects can drastically reduce the Webpack bundle size.
|
||||
@@ -0,0 +1,129 @@
|
||||
---
|
||||
'@backstage/app-defaults': patch
|
||||
'@backstage/catalog-client': patch
|
||||
'@backstage/catalog-model': patch
|
||||
'@backstage/config': patch
|
||||
'@backstage/core-app-api': patch
|
||||
'@backstage/core-components': patch
|
||||
'@backstage/core-plugin-api': patch
|
||||
'@backstage/dev-utils': patch
|
||||
'@backstage/errors': patch
|
||||
'@backstage/integration': patch
|
||||
'@backstage/integration-react': patch
|
||||
'@backstage/plugin-adr': patch
|
||||
'@backstage/plugin-adr-common': patch
|
||||
'@backstage/plugin-airbrake': patch
|
||||
'@backstage/plugin-allure': patch
|
||||
'@backstage/plugin-analytics-module-ga': patch
|
||||
'@backstage/plugin-analytics-module-ga4': patch
|
||||
'@backstage/plugin-analytics-module-newrelic-browser': patch
|
||||
'@backstage/plugin-apache-airflow': patch
|
||||
'@backstage/plugin-api-docs': patch
|
||||
'@backstage/plugin-api-docs-module-protoc-gen-doc': patch
|
||||
'@backstage/plugin-apollo-explorer': patch
|
||||
'@backstage/plugin-azure-devops': patch
|
||||
'@backstage/plugin-azure-devops-common': patch
|
||||
'@backstage/plugin-azure-sites': patch
|
||||
'@backstage/plugin-azure-sites-common': patch
|
||||
'@backstage/plugin-badges': patch
|
||||
'@backstage/plugin-bazaar': patch
|
||||
'@backstage/plugin-bitbucket-cloud-common': patch
|
||||
'@backstage/plugin-bitrise': patch
|
||||
'@backstage/plugin-catalog': patch
|
||||
'@backstage/plugin-catalog-common': patch
|
||||
'@backstage/plugin-catalog-graph': patch
|
||||
'@backstage/plugin-catalog-import': patch
|
||||
'@backstage/plugin-catalog-react': patch
|
||||
'@backstage/plugin-catalog-unprocessed-entities': patch
|
||||
'@backstage/plugin-cicd-statistics': patch
|
||||
'@backstage/plugin-cicd-statistics-module-gitlab': patch
|
||||
'@backstage/plugin-circleci': patch
|
||||
'@backstage/plugin-cloudbuild': patch
|
||||
'@backstage/plugin-code-climate': patch
|
||||
'@backstage/plugin-code-coverage': patch
|
||||
'@backstage/plugin-codescene': patch
|
||||
'@backstage/plugin-config-schema': patch
|
||||
'@backstage/plugin-cost-insights': patch
|
||||
'@backstage/plugin-cost-insights-common': patch
|
||||
'@backstage/plugin-devtools': patch
|
||||
'@backstage/plugin-devtools-common': patch
|
||||
'@backstage/plugin-dynatrace': patch
|
||||
'@backstage/plugin-entity-feedback': patch
|
||||
'@backstage/plugin-entity-feedback-common': patch
|
||||
'@backstage/plugin-entity-validation': patch
|
||||
'@backstage/plugin-explore': patch
|
||||
'@backstage/plugin-explore-common': patch
|
||||
'@backstage/plugin-explore-react': patch
|
||||
'@backstage/plugin-firehydrant': patch
|
||||
'@backstage/plugin-fossa': patch
|
||||
'@backstage/plugin-gcalendar': patch
|
||||
'@backstage/plugin-gcp-projects': patch
|
||||
'@backstage/plugin-git-release-manager': patch
|
||||
'@backstage/plugin-github-actions': patch
|
||||
'@backstage/plugin-github-deployments': patch
|
||||
'@backstage/plugin-github-issues': patch
|
||||
'@backstage/plugin-github-pull-requests-board': patch
|
||||
'@backstage/plugin-gitops-profiles': patch
|
||||
'@backstage/plugin-gocd': patch
|
||||
'@backstage/plugin-graphiql': patch
|
||||
'@backstage/plugin-graphql-voyager': patch
|
||||
'@backstage/plugin-home': patch
|
||||
'@backstage/plugin-home-react': patch
|
||||
'@backstage/plugin-ilert': patch
|
||||
'@backstage/plugin-jenkins': patch
|
||||
'@backstage/plugin-jenkins-common': patch
|
||||
'@backstage/plugin-kafka': patch
|
||||
'@backstage/plugin-kubernetes': patch
|
||||
'@backstage/plugin-kubernetes-common': patch
|
||||
'@backstage/plugin-lighthouse': patch
|
||||
'@backstage/plugin-lighthouse-common': patch
|
||||
'@backstage/plugin-linguist': patch
|
||||
'@backstage/plugin-linguist-common': patch
|
||||
'@backstage/plugin-microsoft-calendar': patch
|
||||
'@backstage/plugin-newrelic': patch
|
||||
'@backstage/plugin-newrelic-dashboard': patch
|
||||
'@backstage/plugin-nomad': patch
|
||||
'@backstage/plugin-octopus-deploy': patch
|
||||
'@backstage/plugin-opencost': patch
|
||||
'@backstage/plugin-org': patch
|
||||
'@backstage/plugin-org-react': patch
|
||||
'@backstage/plugin-pagerduty': patch
|
||||
'@backstage/plugin-periskop': patch
|
||||
'@backstage/plugin-permission-common': patch
|
||||
'@backstage/plugin-permission-react': patch
|
||||
'@backstage/plugin-playlist': patch
|
||||
'@backstage/plugin-playlist-common': patch
|
||||
'@backstage/plugin-puppetdb': patch
|
||||
'@backstage/plugin-rollbar': patch
|
||||
'@backstage/plugin-scaffolder': patch
|
||||
'@backstage/plugin-scaffolder-common': patch
|
||||
'@backstage/plugin-scaffolder-react': patch
|
||||
'@backstage/plugin-search': patch
|
||||
'@backstage/plugin-search-common': patch
|
||||
'@backstage/plugin-search-react': patch
|
||||
'@backstage/plugin-sentry': patch
|
||||
'@backstage/plugin-shortcuts': patch
|
||||
'@backstage/plugin-sonarqube': patch
|
||||
'@backstage/plugin-sonarqube-react': patch
|
||||
'@backstage/plugin-splunk-on-call': patch
|
||||
'@backstage/plugin-stack-overflow': patch
|
||||
'@backstage/plugin-stackstorm': patch
|
||||
'@backstage/plugin-tech-insights': patch
|
||||
'@backstage/plugin-tech-insights-common': patch
|
||||
'@backstage/plugin-tech-radar': patch
|
||||
'@backstage/plugin-techdocs': patch
|
||||
'@backstage/plugin-techdocs-addons-test-utils': patch
|
||||
'@backstage/plugin-techdocs-module-addons-contrib': patch
|
||||
'@backstage/plugin-techdocs-react': patch
|
||||
'@backstage/plugin-todo': patch
|
||||
'@backstage/plugin-user-settings': patch
|
||||
'@backstage/plugin-vault': patch
|
||||
'@backstage/plugin-xcmetrics': patch
|
||||
'@backstage/release-manifests': patch
|
||||
'@backstage/test-utils': patch
|
||||
'@backstage/theme': patch
|
||||
'@backstage/types': patch
|
||||
'@backstage/version-bridge': patch
|
||||
---
|
||||
|
||||
Mark package as being free of side effects, allowing more optimized Webpack builds.
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
'@backstage/plugin-kubernetes-backend': patch
|
||||
'@backstage/plugin-permission-backend': patch
|
||||
'@backstage/plugin-techdocs-backend': patch
|
||||
'@backstage/plugin-permission-node': patch
|
||||
---
|
||||
|
||||
Minor `package.json` update.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/cli': patch
|
||||
---
|
||||
|
||||
Add `"sideEffects": false` to `package.json` in frontend package templates. This can be added to existing packages using the new `yarn fix` command.
|
||||
@@ -79,6 +79,9 @@ jobs:
|
||||
- name: verify local dependency ranges
|
||||
run: node scripts/verify-local-dependencies.js
|
||||
|
||||
- name: type checking and declarations
|
||||
run: yarn fix --check
|
||||
|
||||
- name: validate config
|
||||
run: yarn backstage-cli config:check --lax
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"clean": "backstage-cli repo clean",
|
||||
"test": "backstage-cli repo test",
|
||||
"test:all": "backstage-cli repo test --coverage",
|
||||
"fix": "backstage-cli repo fix",
|
||||
"lint": "backstage-cli repo lint --since origin/master",
|
||||
"lint:docs": "node ./scripts/check-docs-quality",
|
||||
"lint:all": "backstage-cli repo lint",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"license": "Apache-2.0",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"license": "Apache-2.0",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -405,6 +405,7 @@ Options:
|
||||
Commands:
|
||||
build [options]
|
||||
lint [options]
|
||||
fix [options]
|
||||
clean
|
||||
list-deprecations [options]
|
||||
test [options]
|
||||
@@ -431,6 +432,16 @@ Options:
|
||||
-h, --help
|
||||
```
|
||||
|
||||
### `backstage-cli repo fix`
|
||||
|
||||
```
|
||||
Usage: backstage-cli repo fix [options]
|
||||
|
||||
Options:
|
||||
--check
|
||||
-h, --help
|
||||
```
|
||||
|
||||
### `backstage-cli repo lint`
|
||||
|
||||
```
|
||||
|
||||
@@ -67,6 +67,15 @@ export function registerRepoCommand(program: Command) {
|
||||
.option('--fix', 'Attempt to automatically fix violations')
|
||||
.action(lazy(() => import('./repo/lint').then(m => m.command)));
|
||||
|
||||
command
|
||||
.command('fix')
|
||||
.description('Automatically fix packages in the project')
|
||||
.option(
|
||||
'--check',
|
||||
'Fail if any packages would have been changed by the command',
|
||||
)
|
||||
.action(lazy(() => import('./repo/fix').then(m => m.command)));
|
||||
|
||||
command
|
||||
.command('clean')
|
||||
.description('Delete cache and output directories')
|
||||
|
||||
@@ -14,108 +14,21 @@
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
import fs from 'fs-extra';
|
||||
import { resolve as resolvePath } from 'path';
|
||||
import { BackstagePackageJson, PackageGraph } from '@backstage/cli-node';
|
||||
|
||||
function trimRelative(path: string): string {
|
||||
if (path.startsWith('./')) {
|
||||
return path.slice(2);
|
||||
}
|
||||
return path;
|
||||
}
|
||||
import {
|
||||
fixPackageExports,
|
||||
readFixablePackages,
|
||||
writeFixedPackages,
|
||||
} from '../repo/fix';
|
||||
|
||||
export async function command() {
|
||||
const packages = await PackageGraph.listTargetPackages();
|
||||
|
||||
await Promise.all(
|
||||
packages.map(async ({ dir, packageJson }) => {
|
||||
let changed = false;
|
||||
let newPackageJson = packageJson;
|
||||
|
||||
let { exports: exp } = newPackageJson;
|
||||
if (!exp) {
|
||||
return;
|
||||
}
|
||||
if (Array.isArray(exp)) {
|
||||
throw new Error('Unexpected array in package.json exports field');
|
||||
}
|
||||
|
||||
// If exports is a string we rewrite it to an object to add package.json
|
||||
if (typeof exp === 'string') {
|
||||
changed = true;
|
||||
exp = { '.': exp };
|
||||
newPackageJson.exports = exp;
|
||||
} else if (typeof exp !== 'object') {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!exp['./package.json']) {
|
||||
changed = true;
|
||||
exp['./package.json'] = './package.json';
|
||||
}
|
||||
|
||||
const existingTypesVersions = JSON.stringify(packageJson.typesVersions);
|
||||
|
||||
const typeEntries: Record<string, [string]> = {};
|
||||
for (const [path, value] of Object.entries(exp)) {
|
||||
// Main entry point does not need to be listed
|
||||
if (path === '.') {
|
||||
continue;
|
||||
}
|
||||
const newPath = trimRelative(path);
|
||||
|
||||
if (typeof value === 'string') {
|
||||
typeEntries[newPath] = [trimRelative(value)];
|
||||
} else if (
|
||||
value &&
|
||||
typeof value === 'object' &&
|
||||
!Array.isArray(value)
|
||||
) {
|
||||
if (typeof value.types === 'string') {
|
||||
typeEntries[newPath] = [trimRelative(value.types)];
|
||||
} else if (typeof value.default === 'string') {
|
||||
typeEntries[newPath] = [trimRelative(value.default)];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const typesVersions = { '*': typeEntries };
|
||||
if (existingTypesVersions !== JSON.stringify(typesVersions)) {
|
||||
console.log(`Synchronizing exports in ${packageJson.name}`);
|
||||
const newPkgEntries = Object.entries(newPackageJson).filter(
|
||||
([name]) => name !== 'typesVersions',
|
||||
);
|
||||
newPkgEntries.splice(
|
||||
newPkgEntries.findIndex(([name]) => name === 'exports') + 1,
|
||||
0,
|
||||
['typesVersions', typesVersions],
|
||||
);
|
||||
|
||||
newPackageJson = Object.fromEntries(
|
||||
newPkgEntries,
|
||||
) as BackstagePackageJson;
|
||||
changed = true;
|
||||
}
|
||||
|
||||
// Remove the legacy fields from publishConfig, which are no longer needed
|
||||
const publishConfig = newPackageJson.publishConfig as
|
||||
| Record<string, string>
|
||||
| undefined;
|
||||
if (publishConfig) {
|
||||
for (const field of ['main', 'module', 'browser', 'types']) {
|
||||
if (publishConfig[field]) {
|
||||
delete publishConfig[field];
|
||||
changed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (changed) {
|
||||
await fs.writeJson(resolvePath(dir, 'package.json'), newPackageJson, {
|
||||
spaces: 2,
|
||||
});
|
||||
}
|
||||
}),
|
||||
console.log(
|
||||
'The `migrate package-exports` command is deprecated, use `repo fix` instead.',
|
||||
);
|
||||
const packages = await readFixablePackages();
|
||||
|
||||
for (const pkg of packages) {
|
||||
fixPackageExports(pkg);
|
||||
}
|
||||
|
||||
await writeFixedPackages(packages);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,207 @@
|
||||
/*
|
||||
* Copyright 2020 The Backstage Authors
|
||||
*
|
||||
* 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 {
|
||||
BackstagePackage,
|
||||
BackstagePackageJson,
|
||||
PackageGraph,
|
||||
PackageRoles,
|
||||
} from '@backstage/cli-node';
|
||||
import { OptionValues } from 'commander';
|
||||
import fs from 'fs-extra';
|
||||
import { resolve as resolvePath } from 'path';
|
||||
import { paths } from '../../lib/paths';
|
||||
|
||||
/**
|
||||
* A mutable object representing a package.json file with potential fixes.
|
||||
*/
|
||||
export interface FixablePackage extends BackstagePackage {
|
||||
changed: boolean;
|
||||
}
|
||||
|
||||
export async function readFixablePackages(): Promise<FixablePackage[]> {
|
||||
const packages = await PackageGraph.listTargetPackages();
|
||||
return packages.map(pkg => ({ ...pkg, changed: false }));
|
||||
}
|
||||
|
||||
export function printPackageFixHint(packages: FixablePackage[]) {
|
||||
const changed = packages.filter(pkg => pkg.changed);
|
||||
if (changed.length > 0) {
|
||||
const rootPkg = require(paths.resolveTargetRoot('package.json'));
|
||||
const fixCmd =
|
||||
rootPkg.scripts?.fix === 'backstage-cli repo fix'
|
||||
? 'fix'
|
||||
: 'backstage-cli repo fix';
|
||||
console.log(
|
||||
`The following packages are out of sync, run 'yarn ${fixCmd}' to fix them:`,
|
||||
);
|
||||
for (const pkg of changed) {
|
||||
console.log(` ${pkg.packageJson.name}`);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
export async function writeFixedPackages(
|
||||
packages: FixablePackage[],
|
||||
): Promise<void> {
|
||||
await Promise.all(
|
||||
packages.map(async pkg => {
|
||||
if (!pkg.changed) {
|
||||
return;
|
||||
}
|
||||
|
||||
await fs.writeJson(
|
||||
resolvePath(pkg.dir, 'package.json'),
|
||||
pkg.packageJson,
|
||||
{
|
||||
spaces: 2,
|
||||
},
|
||||
);
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
function trimRelative(path: string): string {
|
||||
if (path.startsWith('./')) {
|
||||
return path.slice(2);
|
||||
}
|
||||
return path;
|
||||
}
|
||||
|
||||
export function fixPackageExports(pkg: FixablePackage) {
|
||||
let { exports: exp } = pkg.packageJson;
|
||||
if (!exp) {
|
||||
return;
|
||||
}
|
||||
if (Array.isArray(exp)) {
|
||||
throw new Error('Unexpected array in package.json exports field');
|
||||
}
|
||||
|
||||
// If exports is a string we rewrite it to an object to add package.json
|
||||
if (typeof exp === 'string') {
|
||||
pkg.changed = true;
|
||||
exp = { '.': exp };
|
||||
pkg.packageJson.exports = exp;
|
||||
} else if (typeof exp !== 'object') {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!exp['./package.json']) {
|
||||
pkg.changed = true;
|
||||
exp['./package.json'] = './package.json';
|
||||
}
|
||||
|
||||
const existingTypesVersions = JSON.stringify(pkg.packageJson.typesVersions);
|
||||
|
||||
const typeEntries: Record<string, [string]> = {};
|
||||
for (const [path, value] of Object.entries(exp)) {
|
||||
// Main entry point does not need to be listed
|
||||
if (path === '.') {
|
||||
continue;
|
||||
}
|
||||
const newPath = trimRelative(path);
|
||||
|
||||
if (typeof value === 'string') {
|
||||
typeEntries[newPath] = [trimRelative(value)];
|
||||
} else if (value && typeof value === 'object' && !Array.isArray(value)) {
|
||||
if (typeof value.types === 'string') {
|
||||
typeEntries[newPath] = [trimRelative(value.types)];
|
||||
} else if (typeof value.default === 'string') {
|
||||
typeEntries[newPath] = [trimRelative(value.default)];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const typesVersions = { '*': typeEntries };
|
||||
if (existingTypesVersions !== JSON.stringify(typesVersions)) {
|
||||
const newPkgEntries = Object.entries(pkg.packageJson).filter(
|
||||
([name]) => name !== 'typesVersions',
|
||||
);
|
||||
newPkgEntries.splice(
|
||||
newPkgEntries.findIndex(([name]) => name === 'exports') + 1,
|
||||
0,
|
||||
['typesVersions', typesVersions],
|
||||
);
|
||||
|
||||
pkg.packageJson = Object.fromEntries(newPkgEntries) as BackstagePackageJson;
|
||||
pkg.changed = true;
|
||||
}
|
||||
|
||||
// Remove the legacy fields from publishConfig, which are no longer needed
|
||||
const publishConfig = pkg.packageJson.publishConfig as
|
||||
| Record<string, string>
|
||||
| undefined;
|
||||
if (publishConfig) {
|
||||
for (const field of ['main', 'module', 'browser', 'types']) {
|
||||
if (publishConfig[field]) {
|
||||
delete publishConfig[field];
|
||||
pkg.changed = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export function fixSideEffects(pkg: FixablePackage) {
|
||||
const role = PackageRoles.getRoleFromPackage(pkg.packageJson);
|
||||
if (!role) {
|
||||
return;
|
||||
}
|
||||
|
||||
const roleInfo = PackageRoles.getRoleInfo(role);
|
||||
|
||||
// Only web and common packages benefit from being marked as side effect free
|
||||
if (roleInfo.platform === 'node') {
|
||||
return;
|
||||
}
|
||||
// Bundled packages don't need to mark themselves as having no side effects
|
||||
if (roleInfo.output.length === 1 && roleInfo.output[0] === 'bundle') {
|
||||
return;
|
||||
}
|
||||
|
||||
// Already declared
|
||||
if ('sideEffects' in pkg.packageJson) {
|
||||
return;
|
||||
}
|
||||
|
||||
const pkgEntries = Object.entries(pkg.packageJson);
|
||||
pkgEntries.splice(
|
||||
// Place it just above the scripts field
|
||||
pkgEntries.findIndex(([name]) => name === 'scripts'),
|
||||
0,
|
||||
['sideEffects', false],
|
||||
);
|
||||
pkg.packageJson = Object.fromEntries(pkgEntries) as BackstagePackageJson;
|
||||
pkg.changed = true;
|
||||
}
|
||||
|
||||
export async function command(opts: OptionValues): Promise<void> {
|
||||
const packages = await readFixablePackages();
|
||||
|
||||
for (const pkg of packages) {
|
||||
fixPackageExports(pkg);
|
||||
fixSideEffects(pkg);
|
||||
}
|
||||
|
||||
if (opts.check) {
|
||||
if (printPackageFixHint(packages)) {
|
||||
process.exit(1);
|
||||
}
|
||||
} else {
|
||||
await writeFixedPackages(packages);
|
||||
}
|
||||
}
|
||||
@@ -20,6 +20,7 @@
|
||||
"backstage": {
|
||||
"role": "common-library"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"backstage": {
|
||||
"role": "frontend-plugin"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"backstage": {
|
||||
"role": "web-library"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"backstage": {
|
||||
"role": "web-library"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"license": "Apache-2.0",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
"license": "Apache-2.0",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"license": "Apache-2.0",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
"license": "Apache-2.0",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
"clean": "backstage-cli repo clean",
|
||||
"test": "backstage-cli repo test",
|
||||
"test:all": "backstage-cli repo test --coverage",
|
||||
"fix": "backstage-cli repo fix",
|
||||
"lint": "backstage-cli repo lint --since origin/{{defaultBranch}}",
|
||||
"lint:all": "backstage-cli repo lint",
|
||||
"prettier:check": "prettier --check .",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"license": "Apache-2.0",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
"backstage": {
|
||||
"role": "web-library"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
"backstage": {
|
||||
"role": "web-library"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "packages/integration-react"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"backstage"
|
||||
],
|
||||
"license": "Apache-2.0",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
"license": "Apache-2.0",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"license": "Apache-2.0",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"license": "Apache-2.0",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/adr-common"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/adr"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/airbrake"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/allure"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/analytics-module-ga"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/plugins/analytics-module-ga4"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
"backstage": {
|
||||
"role": "frontend-plugin-module"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/apache-airflow"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/apollo-explorer"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/azure-devops"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"backstage",
|
||||
"azure"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/badges"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/bazaar"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/bitbucket-cloud-common"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/bitrise"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/catalog-graph"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/catalog-unprocessed-entities"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
"cicd statistics",
|
||||
"gitlab"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"backstage",
|
||||
"circleci"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"backstage",
|
||||
"google cloud"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/code-climate"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/code-coverage"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/codescene"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/config-schema"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/devtools-common"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/devtools"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/dynatrace"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/entity-feedback-common"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/entity-feedback"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/entity-validation"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/plugins/example-todo-list-common"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"main": "dist/index.esm.js",
|
||||
"types": "dist/index.d.ts"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"keywords": [
|
||||
"backstage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/firehydrant"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"backstage",
|
||||
"fossa"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/gcalendar"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"backstage",
|
||||
"google cloud"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/git-release-manager"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
"github",
|
||||
"github actions"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/github-deployments"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/github-issues"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
"github",
|
||||
"pull requests"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"backstage",
|
||||
"gitops"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/gocd"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
"license": "Apache-2.0",
|
||||
"main": "src/index.ts",
|
||||
"types": "src/index.ts",
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/graphql-voyager"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"start": "backstage-cli package start",
|
||||
"build": "backstage-cli package build",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"backstage",
|
||||
"homepage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"backstage",
|
||||
"homepage"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/ilert"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
"url": "https://github.com/backstage/backstage",
|
||||
"directory": "plugins/jenkins-common"
|
||||
},
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"lint": "backstage-cli package lint",
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
"backstage",
|
||||
"jenkins"
|
||||
],
|
||||
"sideEffects": false,
|
||||
"scripts": {
|
||||
"build": "backstage-cli package build",
|
||||
"start": "backstage-cli package start",
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user