@backstage/cli 0.25.3-next.1 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/bin/backstage-cli +1 -9
  3. package/config/nodeTransform.cjs +45 -0
  4. package/dist/cjs/{build-097231a6.cjs.js → build-dd1760ba.cjs.js} +10 -8
  5. package/dist/cjs/{buildBackend-9faeb9a8.cjs.js → buildBackend-93008edd.cjs.js} +12 -10
  6. package/dist/cjs/{buildWorkspace-4711ef80.cjs.js → buildWorkspace-537eb788.cjs.js} +5 -4
  7. package/dist/cjs/{bump-b2500dcb.cjs.js → bump-aee0496e.cjs.js} +5 -5
  8. package/dist/cjs/{clean-5e61034c.cjs.js → clean-6ccda488.cjs.js} +2 -2
  9. package/dist/cjs/{clean-5c0c60ef.cjs.js → clean-8a505ab4.cjs.js} +2 -2
  10. package/dist/cjs/{codeowners-9da8480c.cjs.js → codeowners-b305c16a.cjs.js} +2 -2
  11. package/dist/cjs/{config-743e28e5.cjs.js → config-9d068fb3.cjs.js} +2 -2
  12. package/dist/cjs/{createDistWorkspace-d4886c13.cjs.js → createDistWorkspace-521b8e20.cjs.js} +8 -6
  13. package/dist/cjs/{createPlugin-54fdb1d3.cjs.js → createPlugin-5b733848.cjs.js} +4 -4
  14. package/dist/cjs/{diff-03426926.cjs.js → diff-ffcf1ddd.cjs.js} +2 -2
  15. package/dist/cjs/{docs-6d10c4c0.cjs.js → docs-62f456dc.cjs.js} +3 -3
  16. package/dist/cjs/{fix-60cc33a8.cjs.js → fix-c9486e20.cjs.js} +2 -2
  17. package/dist/cjs/{index-802c6b4a.cjs.js → index-14d17c46.cjs.js} +11 -9
  18. package/dist/cjs/{index-1efc6aad.cjs.js → index-34be8e16.cjs.js} +2 -2
  19. package/dist/cjs/{index-e9ebc07b.cjs.js → index-7a73b7d7.cjs.js} +27 -17
  20. package/dist/cjs/{index-8d0019af.cjs.js → index-959685eb.cjs.js} +3 -3
  21. package/dist/cjs/{index-2b3c0e05.cjs.js → index-f42e533f.cjs.js} +78 -65
  22. package/dist/cjs/{info-21e41d11.cjs.js → info-ecbe826f.cjs.js} +3 -3
  23. package/dist/cjs/{install-4f8e4dc1.cjs.js → install-27e2fe5d.cjs.js} +4 -4
  24. package/dist/cjs/{lint-3c6db1ca.cjs.js → lint-748f9c9d.cjs.js} +2 -2
  25. package/dist/cjs/{lint-8977ab7b.cjs.js → lint-813542b6.cjs.js} +2 -2
  26. package/dist/cjs/{lint-c21cef97.cjs.js → lint-cadb3a1e.cjs.js} +3 -3
  27. package/dist/cjs/{list-deprecations-834a052d.cjs.js → list-deprecations-a9347f75.cjs.js} +2 -2
  28. package/dist/cjs/{new-ad50c0bc.cjs.js → new-7cca705d.cjs.js} +7 -7
  29. package/dist/cjs/{pack-4a0b6ad1.cjs.js → pack-7abdf1e1.cjs.js} +2 -2
  30. package/dist/cjs/{packageDetection-024933fa.cjs.js → packageDetection-8d19bd36.cjs.js} +6 -3
  31. package/dist/cjs/{packageExports-f6f1e11b.cjs.js → packageExports-84600a62.cjs.js} +3 -3
  32. package/dist/cjs/{packageLintConfigs-4ec9457f.cjs.js → packageLintConfigs-f1239915.cjs.js} +3 -3
  33. package/dist/cjs/{packageRole-dc0bc770.cjs.js → packageRole-b982f1e6.cjs.js} +2 -2
  34. package/dist/cjs/{packages-01fa34e6.cjs.js → packages-9e5204b8.cjs.js} +3 -3
  35. package/dist/cjs/{print-26058fce.cjs.js → print-33cb8274.cjs.js} +3 -3
  36. package/dist/cjs/{role-9130c935.cjs.js → role-26dc0550.cjs.js} +2 -2
  37. package/dist/cjs/{run-1310629a.cjs.js → run-8f756fce.cjs.js} +2 -2
  38. package/dist/cjs/{schema-c7d7e094.cjs.js → schema-13e89347.cjs.js} +3 -3
  39. package/dist/cjs/{test-549005a1.cjs.js → test-52dfdc79.cjs.js} +3 -3
  40. package/dist/cjs/{test-ba6f66b0.cjs.js → test-7076bd21.cjs.js} +3 -3
  41. package/dist/cjs/{validate-185054c8.cjs.js → validate-2e4a0b12.cjs.js} +3 -3
  42. package/dist/index.cjs.js +1 -1
  43. package/package.json +27 -23
  44. package/templates/default-backend-plugin/dev/index.ts +9 -0
  45. package/templates/default-backend-plugin/package.json.hbs +4 -0
  46. package/templates/default-backend-plugin/src/index.ts.hbs +2 -0
  47. package/templates/default-backend-plugin/src/plugin.ts.hbs +32 -0
  48. package/templates/default-backend-plugin/src/service/router.ts +3 -2
  49. package/templates/serve_index.html +1 -1
  50. package/templates/default-backend-plugin/src/index.ts +0 -1
  51. package/templates/default-backend-plugin/src/run.ts.hbs +0 -17
  52. package/templates/default-backend-plugin/src/service/standaloneServer.ts.hbs +0 -34
@@ -2,9 +2,9 @@
2
2
 
3
3
  var yaml = require('yaml');
4
4
  var config$1 = require('@backstage/config');
5
- var config = require('./config-743e28e5.cjs.js');
5
+ var config = require('./config-9d068fb3.cjs.js');
6
6
  require('@backstage/config-loader');
7
- require('./index-2b3c0e05.cjs.js');
7
+ require('./index-f42e533f.cjs.js');
8
8
  require('commander');
9
9
  require('chalk');
10
10
  require('fs-extra');
@@ -58,4 +58,4 @@ function serializeConfigData(appConfigs, schema, visibility) {
58
58
  }
59
59
 
60
60
  exports["default"] = print;
61
- //# sourceMappingURL=print-26058fce.cjs.js.map
61
+ //# sourceMappingURL=print-33cb8274.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var fs = require('fs-extra');
4
- var index = require('./index-2b3c0e05.cjs.js');
4
+ var index = require('./index-f42e533f.cjs.js');
5
5
  var cliNode = require('@backstage/cli-node');
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -22,4 +22,4 @@ async function findRoleFromCommand(opts) {
22
22
  }
23
23
 
24
24
  exports.findRoleFromCommand = findRoleFromCommand;
25
- //# sourceMappingURL=role-9130c935.cjs.js.map
25
+ //# sourceMappingURL=role-26dc0550.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var child_process = require('child_process');
4
- var index = require('./index-2b3c0e05.cjs.js');
4
+ var index = require('./index-f42e533f.cjs.js');
5
5
  var util = require('util');
6
6
  var errors = require('@backstage/errors');
7
7
 
@@ -79,4 +79,4 @@ exports.execFile = execFile;
79
79
  exports.run = run;
80
80
  exports.runCheck = runCheck;
81
81
  exports.runPlain = runPlain;
82
- //# sourceMappingURL=run-1310629a.cjs.js.map
82
+ //# sourceMappingURL=run-8f756fce.cjs.js.map
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var yaml = require('yaml');
4
- var config = require('./config-743e28e5.cjs.js');
4
+ var config = require('./config-9d068fb3.cjs.js');
5
5
  var configLoader = require('@backstage/config-loader');
6
6
  require('@backstage/config');
7
- require('./index-2b3c0e05.cjs.js');
7
+ require('./index-f42e533f.cjs.js');
8
8
  require('commander');
9
9
  require('chalk');
10
10
  require('fs-extra');
@@ -42,4 +42,4 @@ var schema = async (opts) => {
42
42
  };
43
43
 
44
44
  exports["default"] = schema;
45
- //# sourceMappingURL=schema-c7d7e094.cjs.js.map
45
+ //# sourceMappingURL=schema-13e89347.cjs.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-2b3c0e05.cjs.js');
4
- var run = require('./run-1310629a.cjs.js');
3
+ var index = require('./index-f42e533f.cjs.js');
4
+ var run = require('./run-8f756fce.cjs.js');
5
5
  require('commander');
6
6
  require('chalk');
7
7
  require('fs-extra');
@@ -56,4 +56,4 @@ var test = async (_opts, cmd) => {
56
56
  };
57
57
 
58
58
  exports["default"] = test;
59
- //# sourceMappingURL=test-549005a1.cjs.js.map
59
+ //# sourceMappingURL=test-52dfdc79.cjs.js.map
@@ -2,8 +2,8 @@
2
2
 
3
3
  var os = require('os');
4
4
  var cliNode = require('@backstage/cli-node');
5
- var index = require('./index-2b3c0e05.cjs.js');
6
- var run = require('./run-1310629a.cjs.js');
5
+ var index = require('./index-f42e533f.cjs.js');
6
+ var run = require('./run-8f756fce.cjs.js');
7
7
  require('commander');
8
8
  require('chalk');
9
9
  require('fs-extra');
@@ -123,4 +123,4 @@ async function command(opts, cmd) {
123
123
 
124
124
  exports.command = command;
125
125
  exports.createFlagFinder = createFlagFinder;
126
- //# sourceMappingURL=test-ba6f66b0.cjs.js.map
126
+ //# sourceMappingURL=test-7076bd21.cjs.js.map
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var config = require('./config-743e28e5.cjs.js');
3
+ var config = require('./config-9d068fb3.cjs.js');
4
4
  require('@backstage/config-loader');
5
5
  require('@backstage/config');
6
- require('./index-2b3c0e05.cjs.js');
6
+ require('./index-f42e533f.cjs.js');
7
7
  require('commander');
8
8
  require('chalk');
9
9
  require('fs-extra');
@@ -25,4 +25,4 @@ var validate = async (opts) => {
25
25
  };
26
26
 
27
27
  exports["default"] = validate;
28
- //# sourceMappingURL=validate-185054c8.cjs.js.map
28
+ //# sourceMappingURL=validate-2e4a0b12.cjs.js.map
package/dist/index.cjs.js CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('commander');
4
4
  require('chalk');
5
- require('./cjs/index-2b3c0e05.cjs.js');
5
+ require('./cjs/index-f42e533f.cjs.js');
6
6
  require('fs-extra');
7
7
  require('semver');
8
8
  require('@backstage/cli-common');
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@backstage/cli",
3
3
  "description": "CLI for developing Backstage plugins and apps",
4
- "version": "0.25.3-next.1",
4
+ "version": "0.26.0",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -30,14 +30,14 @@
30
30
  "backstage-cli": "bin/backstage-cli"
31
31
  },
32
32
  "dependencies": {
33
- "@backstage/catalog-model": "^1.4.5-next.0",
33
+ "@backstage/catalog-model": "^1.4.5",
34
34
  "@backstage/cli-common": "^0.1.13",
35
- "@backstage/cli-node": "^0.2.4-next.0",
36
- "@backstage/config": "^1.2.0-next.1",
37
- "@backstage/config-loader": "^1.7.0-next.1",
38
- "@backstage/errors": "^1.2.4-next.0",
39
- "@backstage/eslint-plugin": "^0.1.6-next.0",
40
- "@backstage/integration": "^1.9.1-next.1",
35
+ "@backstage/cli-node": "^0.2.4",
36
+ "@backstage/config": "^1.2.0",
37
+ "@backstage/config-loader": "^1.7.0",
38
+ "@backstage/errors": "^1.2.4",
39
+ "@backstage/eslint-plugin": "^0.1.6",
40
+ "@backstage/integration": "^1.9.1",
41
41
  "@backstage/release-manifests": "^0.0.11",
42
42
  "@backstage/types": "^1.1.1",
43
43
  "@manypkg/get-packages": "^1.1.3",
@@ -50,9 +50,9 @@
50
50
  "@rollup/plugin-json": "^6.0.0",
51
51
  "@rollup/plugin-node-resolve": "^15.0.0",
52
52
  "@rollup/plugin-yaml": "^4.0.0",
53
- "@spotify/eslint-config-base": "^14.0.0",
54
- "@spotify/eslint-config-react": "^14.0.0",
55
- "@spotify/eslint-config-typescript": "^14.0.0",
53
+ "@spotify/eslint-config-base": "^15.0.0",
54
+ "@spotify/eslint-config-react": "^15.0.0",
55
+ "@spotify/eslint-config-typescript": "^15.0.0",
56
56
  "@sucrase/webpack-loader": "^2.0.0",
57
57
  "@svgr/core": "6.5.x",
58
58
  "@svgr/plugin-jsx": "6.5.x",
@@ -112,7 +112,9 @@
112
112
  "node-libs-browser": "^2.2.1",
113
113
  "npm-packlist": "^5.0.0",
114
114
  "ora": "^5.3.0",
115
+ "p-limit": "^3.1.0",
115
116
  "p-queue": "^6.6.2",
117
+ "pirates": "^4.0.6",
116
118
  "postcss": "^8.1.0",
117
119
  "process": "^0.11.10",
118
120
  "react-dev-utils": "^12.0.0-next.60",
@@ -130,7 +132,6 @@
130
132
  "swc-loader": "^0.2.3",
131
133
  "tar": "^6.1.12",
132
134
  "terser-webpack-plugin": "^5.1.3",
133
- "tsx": "^4.0.0",
134
135
  "util": "^0.12.3",
135
136
  "webpack": "^5.70.0",
136
137
  "webpack-dev-server": "^4.7.3",
@@ -141,16 +142,16 @@
141
142
  "zod": "^3.22.4"
142
143
  },
143
144
  "devDependencies": {
144
- "@backstage/backend-common": "^0.21.4-next.1",
145
- "@backstage/backend-plugin-api": "^0.6.14-next.1",
146
- "@backstage/backend-test-utils": "^0.3.4-next.1",
147
- "@backstage/config": "^1.2.0-next.1",
148
- "@backstage/core-app-api": "^1.12.1-next.1",
149
- "@backstage/core-components": "^0.14.1-next.1",
150
- "@backstage/core-plugin-api": "^1.9.1-next.1",
151
- "@backstage/dev-utils": "^1.0.28-next.1",
152
- "@backstage/test-utils": "^1.5.1-next.1",
153
- "@backstage/theme": "^0.5.2-next.0",
145
+ "@backstage/backend-common": "^0.21.4",
146
+ "@backstage/backend-plugin-api": "^0.6.14",
147
+ "@backstage/backend-test-utils": "^0.3.4",
148
+ "@backstage/config": "^1.2.0",
149
+ "@backstage/core-app-api": "^1.12.1",
150
+ "@backstage/core-components": "^0.14.1",
151
+ "@backstage/core-plugin-api": "^1.9.1",
152
+ "@backstage/dev-utils": "^1.0.28",
153
+ "@backstage/test-utils": "^1.5.1",
154
+ "@backstage/theme": "^0.5.2",
154
155
  "@types/cross-spawn": "^6.0.2",
155
156
  "@types/diff": "^5.0.0",
156
157
  "@types/ejs": "^3.1.3",
@@ -167,10 +168,13 @@
167
168
  "@types/tar": "^6.1.1",
168
169
  "@types/terser-webpack-plugin": "^5.0.4",
169
170
  "@types/yarnpkg__lockfile": "^1.1.4",
171
+ "@vitejs/plugin-react": "^4.0.4",
170
172
  "del": "^7.0.0",
171
173
  "msw": "^1.0.0",
172
174
  "nodemon": "^3.0.1",
173
- "ts-node": "^10.0.0"
175
+ "vite": "^4.4.9",
176
+ "vite-plugin-html": "^3.2.0",
177
+ "vite-plugin-node-polyfills": "^0.21.0"
174
178
  },
175
179
  "peerDependencies": {
176
180
  "@vitejs/plugin-react": "^4.0.4",
@@ -0,0 +1,9 @@
1
+ import { createBackend } from '@backstage/backend-defaults';
2
+
3
+ const backend = createBackend();
4
+
5
+ backend.add(import('@backstage/plugin-auth-backend'));
6
+ backend.add(import('@backstage/plugin-auth-backend-module-guest-provider'));
7
+ backend.add(import('../src'));
8
+
9
+ backend.start();
@@ -29,6 +29,8 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@backstage/backend-common": "{{versionQuery '@backstage/backend-common'}}",
32
+ "@backstage/backend-defaults": "{{versionQuery '@backstage/backend-defaults'}}",
33
+ "@backstage/backend-plugin-api": "{{versionQuery '@backstage/backend-plugin-api'}}",
32
34
  "@backstage/config": "{{versionQuery '@backstage/config'}}",
33
35
  "@types/express": "{{versionQuery '@types/express' '4.17.6'}}",
34
36
  "express": "{{versionQuery 'express' '4.17.1'}}",
@@ -39,6 +41,8 @@
39
41
  },
40
42
  "devDependencies": {
41
43
  "@backstage/cli": "{{versionQuery '@backstage/cli'}}",
44
+ "@backstage/plugin-auth-backend": "{{versionQuery '@backstage/plugin-auth-backend'}}",
45
+ "@backstage/plugin-auth-backend-module-guest-provider": "{{versionQuery '@backstage/plugin-auth-backend-module-guest-provider'}}",
42
46
  "@types/supertest": "{{versionQuery '@types/supertest' '2.0.12'}}",
43
47
  "supertest": "{{versionQuery 'supertest' '6.2.4'}}",
44
48
  "msw": "{{versionQuery 'msw' '1.0.0'}}"
@@ -0,0 +1,2 @@
1
+ export * from './service/router';
2
+ export { {{pluginVar}} as default } from './plugin';
@@ -0,0 +1,32 @@
1
+ import {
2
+ coreServices,
3
+ createBackendPlugin,
4
+ } from '@backstage/backend-plugin-api';
5
+ import { createRouter } from './service/router';
6
+
7
+ /**
8
+ * {{pluginVar}} backend plugin
9
+ *
10
+ * @public
11
+ */
12
+ export const {{pluginVar}} = createBackendPlugin({
13
+ pluginId: '{{pluginVar}}',
14
+ register(env) {
15
+ env.registerInit({
16
+ deps: {
17
+ httpRouter: coreServices.httpRouter,
18
+ logger: coreServices.logger,
19
+ },
20
+ async init({
21
+ httpRouter,
22
+ logger,
23
+ }) {
24
+ httpRouter.use(
25
+ await createRouter({
26
+ logger,
27
+ }),
28
+ );
29
+ },
30
+ });
31
+ },
32
+ });
@@ -1,10 +1,10 @@
1
1
  import { errorHandler } from '@backstage/backend-common';
2
+ import { LoggerService } from '@backstage/backend-plugin-api';
2
3
  import express from 'express';
3
4
  import Router from 'express-promise-router';
4
- import { Logger } from 'winston';
5
5
 
6
6
  export interface RouterOptions {
7
- logger: Logger;
7
+ logger: LoggerService;
8
8
  }
9
9
 
10
10
  export async function createRouter(
@@ -19,6 +19,7 @@ export async function createRouter(
19
19
  logger.info('PONG!');
20
20
  response.json({ status: 'ok' });
21
21
  });
22
+
22
23
  router.use(errorHandler());
23
24
  return router;
24
25
  }
@@ -6,7 +6,7 @@
6
6
  <meta name="theme-color" content="#000000" />
7
7
  <meta
8
8
  name="description"
9
- content="Backstage is an open platform for building developer portals"
9
+ content="Backstage is an open source framework for building developer portals"
10
10
  />
11
11
  <title>Backstage</title>
12
12
  </head>
@@ -1 +0,0 @@
1
- export * from './service/router';
@@ -1,17 +0,0 @@
1
- import { getRootLogger } from '@backstage/backend-common';
2
- import yn from 'yn';
3
- import { startStandaloneServer } from './service/standaloneServer';
4
-
5
- const port = process.env.PLUGIN_PORT ? Number(process.env.PLUGIN_PORT) : 7007;
6
- const enableCors = yn(process.env.PLUGIN_CORS, { default: false });
7
- const logger = getRootLogger();
8
-
9
- startStandaloneServer({ port, enableCors, logger }).catch(err => {
10
- logger.error(err);
11
- process.exit(1);
12
- });
13
-
14
- process.on('SIGINT', () => {
15
- logger.info('CTRL+C pressed; exiting.');
16
- process.exit(0);
17
- });
@@ -1,34 +0,0 @@
1
- import { createServiceBuilder } from '@backstage/backend-common';
2
- import { Server } from 'http';
3
- import { Logger } from 'winston';
4
- import { createRouter } from './router';
5
-
6
- export interface ServerOptions {
7
- port: number;
8
- enableCors: boolean;
9
- logger: Logger;
10
- }
11
-
12
- export async function startStandaloneServer(
13
- options: ServerOptions,
14
- ): Promise<Server> {
15
- const logger = options.logger.child({ service: '{{id}}-backend' });
16
- logger.debug('Starting application server...');
17
- const router = await createRouter({
18
- logger,
19
- });
20
-
21
- let service = createServiceBuilder(module)
22
- .setPort(options.port)
23
- .addRouter('/{{id}}', router);
24
- if (options.enableCors) {
25
- service = service.enableCors({ origin: 'http://localhost:3000' });
26
- }
27
-
28
- return await service.start().catch(err => {
29
- logger.error(err);
30
- process.exit(1);
31
- });
32
- }
33
-
34
- module.hot?.accept();