packages,plugins: point types to src/ for development + add pre/post back cli commands

This commit is contained in:
Patrik Oldsberg
2020-05-14 12:03:02 +02:00
parent a038b5595e
commit 682d9ce612
20 changed files with 103 additions and 18 deletions
+3
View File
@@ -3,6 +3,7 @@
"description": "Common functionality library for Backstage backends",
"version": "0.1.1-alpha.5",
"main": "dist",
"types": "src/index.ts",
"private": false,
"publishConfig": {
"access": "public"
@@ -21,6 +22,8 @@
"build": "backstage-cli build-cache -- tsc",
"lint": "backstage-cli lint",
"test": "backstage-cli test",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean"
},
"dependencies": {
+34
View File
@@ -0,0 +1,34 @@
/*
* 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 fs from 'fs-extra';
import { paths } from '../lib/paths';
export const pre = async () => {
const pkgPath = paths.resolveTarget('package.json');
const pkg = await fs.readJson(pkgPath);
pkg.types = 'dist/index.d.ts';
await fs.writeJson(pkgPath, pkg, { encoding: 'utf8', spaces: 2 });
};
export const post = async () => {
const pkgPath = paths.resolveTarget('package.json');
const pkg = await fs.readJson(pkgPath);
pkg.types = 'src/index.ts';
await fs.writeJson(pkgPath, pkg, { encoding: 'utf8', spaces: 2 });
};
+15 -2
View File
@@ -82,6 +82,16 @@ const main = (argv: string[]) => {
.description('Run tests, forwarding args to Jest, defaulting to watch mode')
.action(actionHandler(() => require('./commands/testCommand')));
program
.command('prepack')
.description('Prepares a package for packaging before publishing')
.action(actionHandler(() => require('./commands/pack').pre));
program
.command('postpack')
.description('Restores the changes made by the prepack command')
.action(actionHandler(() => require('./commands/pack').post));
program
.command('watch-deps')
.option('--build', 'Build all dependencies on startup')
@@ -129,11 +139,14 @@ const main = (argv: string[]) => {
// Wraps an action function so that it always exits and handles errors
function actionHandler<T extends readonly any[]>(
actionRequireFunc: () => { default(...args: T): Promise<any> },
actionRequireFunc:
| (() => { default(...args: T): Promise<any> })
| (() => (...args: T) => Promise<any>),
): (...args: T) => Promise<never> {
return async (...args: T) => {
try {
const actionFunc = actionRequireFunc().default;
const ret = actionRequireFunc();
const actionFunc = typeof ret === 'function' ? ret : ret.default;
await actionFunc(...args);
process.exit(0);
} catch (error) {
@@ -2,7 +2,7 @@
"name": "plugin-welcome",
"version": "0.0.0",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"private": true,
"scripts": {
"build": "backstage-cli plugin:build",
@@ -10,6 +10,8 @@
"lint": "backstage-cli lint",
"test": "backstage-cli test",
"diff": "backstage-cli plugin:diff",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean"
},
"dependencies": {
@@ -2,7 +2,7 @@
"name": "@backstage/plugin-{{id}}",
"version": "{{version}}",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
"private": true,
"scripts": {
@@ -11,6 +11,8 @@
"lint": "backstage-cli lint",
"test": "backstage-cli test",
"diff": "backstage-cli plugin:diff",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean"
},
"dependencies": {
+3 -1
View File
@@ -17,11 +17,13 @@
],
"license": "Apache-2.0",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"scripts": {
"build": "backstage-cli plugin:build",
"lint": "backstage-cli lint",
"test": "backstage-cli test",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean"
},
"dependencies": {
+3 -1
View File
@@ -17,11 +17,13 @@
],
"license": "Apache-2.0",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"scripts": {
"build": "backstage-cli plugin:build",
"lint": "backstage-cli lint",
"test": "backstage-cli test",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean"
},
"dependencies": {
+3 -1
View File
@@ -17,11 +17,13 @@
],
"license": "Apache-2.0",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"scripts": {
"build": "backstage-cli plugin:build",
"lint": "backstage-cli lint",
"test": "backstage-cli test",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean"
},
"dependencies": {
+3 -1
View File
@@ -17,11 +17,13 @@
],
"license": "Apache-2.0",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"scripts": {
"build": "backstage-cli plugin:build",
"lint": "backstage-cli lint",
"test": "backstage-cli test",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean"
},
"dependencies": {
+3 -1
View File
@@ -17,10 +17,12 @@
],
"license": "Apache-2.0",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"scripts": {
"build": "backstage-cli plugin:build",
"lint": "backstage-cli lint",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean"
},
"dependencies": {
+3 -1
View File
@@ -2,7 +2,7 @@
"name": "@backstage/plugin-catalog",
"version": "0.1.1-alpha.5",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
"private": true,
"scripts": {
@@ -11,6 +11,8 @@
"lint": "backstage-cli lint",
"test": "backstage-cli test",
"diff": "backstage-cli plugin:diff",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean"
},
"dependencies": {
+3 -1
View File
@@ -2,7 +2,7 @@
"name": "@backstage/plugin-explore",
"version": "0.1.1-alpha.5",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
"private": true,
"scripts": {
@@ -11,6 +11,8 @@
"test": "backstage-cli test",
"diff": "backstage-cli plugin:diff",
"clean": "backstage-cli clean",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"start": "backstage-cli plugin:serve"
},
"dependencies": {
+3 -1
View File
@@ -17,13 +17,15 @@
],
"license": "Apache-2.0",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"scripts": {
"build": "backstage-cli plugin:build",
"start": "backstage-cli plugin:serve",
"lint": "backstage-cli lint",
"test": "backstage-cli test",
"diff": "backstage-cli plugin:diff",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean"
},
"dependencies": {
+3 -1
View File
@@ -2,7 +2,7 @@
"name": "@backstage/plugin-home-page",
"version": "0.1.1-alpha.5",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
"private": true,
"scripts": {
@@ -11,6 +11,8 @@
"lint": "backstage-cli lint",
"test": "backstage-cli test",
"diff": "backstage-cli plugin:diff",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean"
},
"dependencies": {
+3 -1
View File
@@ -2,7 +2,7 @@
"name": "@backstage/plugin-lighthouse",
"version": "0.1.1-alpha.5",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
"private": true,
"scripts": {
@@ -11,6 +11,8 @@
"test": "backstage-cli test",
"diff": "backstage-cli plugin:diff",
"clean": "backstage-cli clean",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"start": "backstage-cli plugin:serve"
},
"dependencies": {
+3 -1
View File
@@ -2,7 +2,7 @@
"name": "@backstage/plugin-register-component",
"version": "0.1.1-alpha.5",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
"private": true,
"scripts": {
@@ -11,6 +11,8 @@
"lint": "backstage-cli lint",
"test": "backstage-cli test",
"diff": "backstage-cli plugin:diff",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean"
},
"dependencies": {
+3
View File
@@ -2,12 +2,15 @@
"name": "@backstage/plugin-scaffolder-backend",
"version": "0.1.1-alpha.5",
"main": "dist",
"types": "src/index.ts",
"license": "Apache-2.0",
"private": true,
"scripts": {
"build": "tsc",
"lint": "backstage-cli lint",
"test": "backstage-cli test",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean"
},
"dependencies": {
+3 -1
View File
@@ -2,7 +2,7 @@
"name": "@backstage/plugin-scaffolder",
"version": "0.1.1-alpha.5",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
"private": true,
"scripts": {
@@ -11,6 +11,8 @@
"lint": "backstage-cli lint",
"test": "backstage-cli test",
"diff": "backstage-cli plugin:diff",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean"
},
"dependencies": {
+3 -1
View File
@@ -2,7 +2,7 @@
"name": "@backstage/plugin-tech-radar",
"version": "0.1.1-alpha.5",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"license": "Apache-2.0",
"private": true,
"scripts": {
@@ -10,6 +10,8 @@
"lint": "backstage-cli lint",
"test": "backstage-cli test",
"diff": "backstage-cli plugin:diff",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean",
"start": "backstage-cli plugin:serve"
},
+3 -1
View File
@@ -2,7 +2,7 @@
"name": "@backstage/plugin-welcome",
"version": "0.1.1-alpha.5",
"main": "dist/index.esm.js",
"types": "dist/index.d.ts",
"types": "src/index.ts",
"private": true,
"license": "Apache-2.0",
"scripts": {
@@ -10,6 +10,8 @@
"lint": "backstage-cli lint",
"test": "backstage-cli test",
"diff": "backstage-cli plugin:diff",
"prepack": "backstage-cli prepack",
"postpack": "backstage-cli postpack",
"clean": "backstage-cli clean",
"start": "backstage-cli plugin:serve"
},