create-feathersdev 0.11.2 → 0.11.4

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,26 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.11.4](https://github.com/feathersdev/cloud/compare/v0.11.3...v0.11.4) (2025-05-28)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * Add --app-id parameter to CLI to skip having to log in ([#293](https://github.com/feathersdev/cloud/issues/293)) ([5188d43](https://github.com/feathersdev/cloud/commit/5188d43817020d24e53670a6570382b0b1bf4057))
12
+ * Some usability tweaks for CLI and app ([#289](https://github.com/feathersdev/cloud/issues/289)) ([3a241ff](https://github.com/feathersdev/cloud/commit/3a241ffa6bf75154d437c8371478df6a5b5c0513))
13
+
14
+
15
+
16
+
17
+
18
+ ## [0.11.3](https://github.com/feathersdev/cloud/compare/v0.11.2...v0.11.3) (2025-05-26)
19
+
20
+ **Note:** Version bump only for package create-feathersdev
21
+
22
+
23
+
24
+
25
+
6
26
  ## [0.11.2](https://github.com/feathersdev/cloud/compare/v0.11.1...v0.11.2) (2025-05-26)
7
27
 
8
28
 
@@ -20,7 +20,15 @@ export function generateApp() {
20
20
  folder: {
21
21
  type: 'input',
22
22
  message: 'What folder should the app be created in?',
23
- default: ctx.selectedApplication?.name?.toLowerCase(),
23
+ ...(ctx.selectedApplication?.name && {
24
+ default: ctx.selectedApplication.name.toLowerCase(),
25
+ }),
26
+ validate: (input) => {
27
+ if (!input) {
28
+ return 'Please enter a folder name';
29
+ }
30
+ return true;
31
+ },
24
32
  },
25
33
  })))
26
34
  .then(copyFiles(fromFile(__dirname, '..', '..', 'examples', 'frontend', ctx => ctx.framework), toFile(ctx => ctx.folder)))
@@ -19,12 +19,12 @@ export function generateIntegration(force = false) {
19
19
  message: 'Which integrations would you like to generate?',
20
20
  choices: [
21
21
  {
22
- name: `Frontend - ${chalk.gray('Make authenticated requests from the browser with any framework like React, VueJS, Svelte or Angular etc.')}`,
22
+ name: `Frontend - ${chalk.gray('Make authenticated requests from the browser with any framework like React, VueJS, Svelte etc.')}`,
23
23
  checked: true,
24
24
  value: 'frontend',
25
25
  },
26
26
  {
27
- name: `Backend - ${chalk.gray('Verify authenticated requests in a NodeJS, Deno, Bun or Cloudflare Worker server')}`,
27
+ name: `Server - ${chalk.gray('Verify authenticated requests in a NodeJS, Deno, Bun or Cloudflare Worker server')}`,
28
28
  checked: true,
29
29
  value: 'backend',
30
30
  },
@@ -35,7 +35,7 @@ export function generateIntegration(force = false) {
35
35
  .then(prompt((ctx) => ({
36
36
  platform: {
37
37
  type: 'list',
38
- message: 'Which backend platform are you using?',
38
+ message: 'Which server platform are you using?',
39
39
  choices: [
40
40
  { name: 'NodeJS', value: 'nodejs' },
41
41
  { name: 'Deno', value: 'deno' },
@@ -6,7 +6,7 @@ export async function performLogin(init) {
6
6
  .then(prompt(ctx => ({
7
7
  email: {
8
8
  type: 'input',
9
- message: 'What is your email address?',
9
+ message: 'Let\'s get you signed in! Please enter your email address',
10
10
  default: ctx.user?.email,
11
11
  when: !ctx.email,
12
12
  },
@@ -29,7 +29,7 @@ export async function performLogin(init) {
29
29
  .then(prompt(ctx => ({
30
30
  code: {
31
31
  type: 'input',
32
- message: `Please enter the verification code that was sent to ${chalk.bold(ctx.email)}`,
32
+ message: `Please enter the verification code we sent to ${chalk.bold(ctx.email)}`,
33
33
  validate: async (code) => {
34
34
  try {
35
35
  await ctx.api.service('verifications/email').update(ctx.verificationId, { code }, {
@@ -35,6 +35,21 @@ export async function createApplication(init) {
35
35
  });
36
36
  }
37
37
  export async function withApplication(init) {
38
+ return Promise.resolve(init)
39
+ .then((ctx) => {
40
+ if (ctx.appId) {
41
+ return {
42
+ ...ctx,
43
+ selectedApplication: {
44
+ id: ctx.appId,
45
+ name: '',
46
+ },
47
+ };
48
+ }
49
+ return withRemoteApplication(ctx);
50
+ });
51
+ }
52
+ export async function withRemoteApplication(init) {
38
53
  return Promise.resolve(init)
39
54
  .then(withOrganization)
40
55
  .then(async (ctx) => {
package/esm/index.js CHANGED
@@ -28,6 +28,7 @@ export function generate(initialContext) {
28
28
  .option('-e, --email <email>', 'Email address to log in with')
29
29
  .option('-p, --platform <platform>', 'The server platform to use (node, deno, bun, cloudflare, express)')
30
30
  .option('-f, --framework <framework>', 'The frontend framework to use (react, vue, svelte, vanilla)')
31
+ .option('-a, --app-id <app-id>', 'The application to use')
31
32
  .version(packageJson.version)
32
33
  .showHelpAfterError();
33
34
  const init = getBaseContext(options, initialContext).then(commander(program));
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "create-feathersdev",
3
3
  "type": "module",
4
- "version": "0.11.2",
4
+ "version": "0.11.4",
5
5
  "description": "The feathers.dev CLI",
6
6
  "author": {
7
7
  "name": "Feathers Cloud Inc.",
@@ -51,7 +51,7 @@
51
51
  },
52
52
  "dependencies": {
53
53
  "@featherscloud/pinion": "^0.5.5",
54
- "@feathersdev/auth": "^0.11.0",
54
+ "@feathersdev/auth": "^0.11.4",
55
55
  "@feathersjs/feathers": "^5.0.33",
56
56
  "@feathersjs/rest-client": "^5.0.33",
57
57
  "chalk": "^5.4.1"
@@ -63,5 +63,5 @@
63
63
  "shx": "^0.4.0",
64
64
  "typescript": "^5.8.3"
65
65
  },
66
- "gitHead": "efd8eef064f67cd3bcafe16eddb028994fcb3140"
66
+ "gitHead": "d4c451d450b3383152c19a96dbec0c848d27836a"
67
67
  }