@common-stack/generate-plugin 7.0.4-alpha.2 → 7.0.4-alpha.3

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,10 @@
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
+ ## [7.0.4-alpha.3](https://github.com/cdmbase/common-stack/compare/v7.0.4-alpha.2...v7.0.4-alpha.3) (2025-02-28)
7
+
8
+ **Note:** Version bump only for package @common-stack/generate-plugin
9
+
6
10
  ## [7.0.4-alpha.2](https://github.com/cdmbase/common-stack/compare/v7.0.4-alpha.1...v7.0.4-alpha.2) (2025-02-28)
7
11
 
8
12
  **Note:** Version bump only for package @common-stack/generate-plugin
@@ -145,7 +145,7 @@
145
145
  "@babel/register": "^7.18.9",
146
146
  "@babel/runtime": "^7.20.1",
147
147
  "@common-stack/env-list-loader": "7.0.4-alpha.0",
148
- "@common-stack/generate-plugin": "7.0.4-alpha.1",
148
+ "@common-stack/generate-plugin": "7.0.4-alpha.2",
149
149
  "@common-stack/rollup-vite-utils": "7.0.4-alpha.0",
150
150
  "@emotion/babel-plugin": "^11.11.0",
151
151
  "@graphql-codegen/add": "^5.0.3",
@@ -1,6 +1,8 @@
1
1
  'use strict';Object.defineProperty(exports,'__esModule',{value:true});var tslib=require('tslib'),devkit=require('@nx/devkit'),path=require('path'),fs=require('fs'),index=require('../../utils/index.cjs'),jenkinsUpdate=require('./updates/jenkinsUpdate.cjs'),packageJsonUpdate=require('./updates/packageJsonUpdate.cjs'),lernaUpdate=require('./updates/lernaUpdate.cjs'),licenseUpdate=require('./updates/licenseUpdate.cjs'),fileBackup=require('./updates/fileBackup.cjs'),repositoryUpdate=require('./updates/repositoryUpdate.cjs'),htmlPluginUpdate=require('./updates/htmlPluginUpdate.cjs'),gitSetup=require('./updates/gitSetup.cjs'),gitCryptSetup=require('./updates/gitCryptSetup.cjs'),huskySetup=require('./updates/huskySetup.cjs'),gitAttributesSetup=require('./updates/gitAttributesSetup.cjs'),npmAuthSetup=require('./updates/npmAuthSetup.cjs'),nxSetup=require('./updates/nxSetup.cjs'),generator$1=require('../add-backend/generator.cjs'),generator$2=require('../add-frontend/generator.cjs'),generator=require('../add-moleculer/generator.cjs'),generator$3=require('../add-package/generator.cjs');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var path__namespace=/*#__PURE__*/_interopNamespaceDefault(path);var fs__namespace=/*#__PURE__*/_interopNamespaceDefault(fs);function addFullstackGenerator(tree, options) {
2
2
  return tslib.__awaiter(this, void 0, void 0, function* () {
3
3
  var _a;
4
+ // Immediately set the environment variable to skip NX config
5
+ process.env.SKIP_NX_CONFIG = 'true';
4
6
  let projectPath = options.path || '';
5
7
  if (projectPath !== '') {
6
8
  const basePath = process.cwd();
@@ -45,7 +47,11 @@
45
47
  }
46
48
  }
47
49
  }
48
- // Add this before commitInitialFiles
50
+ // Setup Nx config with AWS credentials
51
+ // Allow skipping via environment variable
52
+ if (options.skipNxConfig) {
53
+ process.env.SKIP_NX_CONFIG = 'true';
54
+ }
49
55
  yield nxSetup.setupNxConfig(tree, projectRoot);
50
56
  // Setup git and commit files
51
57
  gitSetup.setupGit(tree, projectRoot);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.cjs","sources":["../../../src/generators/add-fullstack/generator.ts"],"sourcesContent":[null],"names":["path","getValid","backupLernaJson","backupFiles","generateFiles","renameDotFiles","prepareGitAttributes","updateJenkinsFile","updatePackageJson","updateHtmlPlugin","restoreLernaJson","restoreFiles","updateLicense","formatFiles","isValid","fs","setupNxConfig","setupGit","setupGitCrypt","setupNpmAuth","setupHusky","commitInitialFiles","__awaiter","generateFrontend","generateBackend","generateMoleculer","generatePackage","updateRepository"],"mappings":"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"}
1
+ {"version":3,"file":"generator.cjs","sources":["../../../src/generators/add-fullstack/generator.ts"],"sourcesContent":[null],"names":["path","getValid","backupLernaJson","backupFiles","generateFiles","renameDotFiles","prepareGitAttributes","updateJenkinsFile","updatePackageJson","updateHtmlPlugin","restoreLernaJson","restoreFiles","updateLicense","formatFiles","isValid","fs","setupNxConfig","setupGit","setupGitCrypt","setupNpmAuth","setupHusky","commitInitialFiles","__awaiter","generateFrontend","generateBackend","generateMoleculer","generatePackage","updateRepository"],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import {__awaiter}from'tslib';import {generateFiles,formatFiles}from'@nx/devkit';import*as path from'path';import*as fs from'fs';import {getValid,isValid}from'../../utils/index.mjs';import {updateJenkinsFile}from'./updates/jenkinsUpdate.mjs';import {updatePackageJson}from'./updates/packageJsonUpdate.mjs';import {backupLernaJson,restoreLernaJson}from'./updates/lernaUpdate.mjs';import {updateLicense}from'./updates/licenseUpdate.mjs';import {backupFiles,restoreFiles}from'./updates/fileBackup.mjs';import {updateRepository}from'./updates/repositoryUpdate.mjs';import {renameDotFiles,updateHtmlPlugin}from'./updates/htmlPluginUpdate.mjs';import {setupGit,commitInitialFiles}from'./updates/gitSetup.mjs';import {setupGitCrypt}from'./updates/gitCryptSetup.mjs';import {setupHusky}from'./updates/huskySetup.mjs';import {prepareGitAttributes}from'./updates/gitAttributesSetup.mjs';import {setupNpmAuth}from'./updates/npmAuthSetup.mjs';import {setupNxConfig}from'./updates/nxSetup.mjs';import {addBackendGenerator}from'../add-backend/generator.mjs';import {addFrontendGenerator}from'../add-frontend/generator.mjs';import {addMoleculerGenerator}from'../add-moleculer/generator.mjs';import {addPackageGenerator}from'../add-package/generator.mjs';function addFullstackGenerator(tree, options) {
2
2
  return __awaiter(this, void 0, void 0, function* () {
3
3
  var _a;
4
+ // Immediately set the environment variable to skip NX config
5
+ process.env.SKIP_NX_CONFIG = 'true';
4
6
  let projectPath = options.path || '';
5
7
  if (projectPath !== '') {
6
8
  const basePath = process.cwd();
@@ -45,7 +47,11 @@ import {__awaiter}from'tslib';import {generateFiles,formatFiles}from'@nx/devkit'
45
47
  }
46
48
  }
47
49
  }
48
- // Add this before commitInitialFiles
50
+ // Setup Nx config with AWS credentials
51
+ // Allow skipping via environment variable
52
+ if (options.skipNxConfig) {
53
+ process.env.SKIP_NX_CONFIG = 'true';
54
+ }
49
55
  yield setupNxConfig(tree, projectRoot);
50
56
  // Setup git and commit files
51
57
  setupGit(tree, projectRoot);
@@ -1 +1 @@
1
- {"version":3,"file":"generator.mjs","sources":["../../../src/generators/add-fullstack/generator.ts"],"sourcesContent":[null],"names":["generateFrontend","generateBackend","generateMoleculer","generatePackage"],"mappings":"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"}
1
+ {"version":3,"file":"generator.mjs","sources":["../../../src/generators/add-fullstack/generator.ts"],"sourcesContent":[null],"names":["generateFrontend","generateBackend","generateMoleculer","generatePackage"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface AddFullstackGeneratorSchema {
2
+ name?: string;
3
+ path?: string;
4
+ skipGit?: boolean;
5
+ skipGitCrypt?: boolean;
6
+ skipHusky?: boolean;
7
+ skipNxConfig?: boolean;
8
+ template?: string;
9
+ config?: any;
10
+ }
@@ -1,81 +1,137 @@
1
1
  'use strict';var tslib=require('tslib'),devkit=require('@nx/devkit'),path=require('path'),readline=require('readline');function _interopNamespaceDefault(e){var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var path__namespace=/*#__PURE__*/_interopNamespaceDefault(path);var readline__namespace=/*#__PURE__*/_interopNamespaceDefault(readline);/**
2
- * Prompts the user for AWS credentials and updates nx.json
2
+ * Sets up Nx configuration with optional AWS credentials
3
3
  */
4
4
  function setupNxConfig(tree, projectRoot) {
5
5
  return tslib.__awaiter(this, void 0, void 0, function* () {
6
- try {
7
- // Create readline interface for user input
8
- const rl = readline__namespace.createInterface({
9
- input: process.stdin,
10
- output: process.stdout
11
- });
12
- console.log('\nAWS Configuration for Nx Cache');
13
- console.log('=============================');
14
- console.log('This project uses AWS S3 for remote caching with Nx.');
15
- console.log('Please provide your AWS credentials or press Enter to skip for now.');
16
- // Prompt for the AWS access key ID
17
- const awsAccessKeyId = yield new Promise((resolve) => {
18
- rl.question('AWS Access Key ID: ', (answer) => {
19
- resolve(answer.trim());
20
- });
21
- });
22
- // Prompt for the AWS secret access key if access key ID was provided
23
- let awsSecretAccessKey = '';
24
- if (awsAccessKeyId) {
25
- awsSecretAccessKey = yield new Promise((resolve) => {
26
- rl.question('AWS Secret Access Key: ', (answer) => {
27
- resolve(answer.trim());
28
- });
29
- });
6
+ console.log('\nAWS Configuration for Nx Cache');
7
+ console.log('=============================');
8
+ console.log('This project uses AWS S3 for remote caching with Nx.');
9
+ console.log('Please provide your AWS credentials or press Enter to skip for now.');
10
+ // Basic configuration without AWS credentials
11
+ const basicConfig = {
12
+ tasksRunnerOptions: {
13
+ default: {
14
+ runner: 'nx/tasks-runners/default',
15
+ options: {
16
+ cacheableOperations: ['build', 'test', 'lint'],
17
+ accessibleHosts: ['https://registry.npmjs.org'],
18
+ useDaemonProcess: false,
19
+ parallel: 3
20
+ }
21
+ }
30
22
  }
31
- // Prompt for the AWS region
32
- const awsRegion = yield new Promise((resolve) => {
33
- rl.question('AWS Region (default: us-east-1): ', (answer) => {
34
- resolve(answer.trim() || 'us-east-1');
23
+ };
24
+ const nxJsonPath = path__namespace.join(projectRoot, 'nx.json');
25
+ // Safe prompt function with timeout that returns a string
26
+ const askWithTimeout = (rl, question, timeoutMs = 10000) => {
27
+ return new Promise((resolve) => {
28
+ let resolved = false;
29
+ const timeout = setTimeout(() => {
30
+ if (!resolved) {
31
+ resolved = true;
32
+ console.log(`\nTimeout waiting for input. Skipping.`);
33
+ resolve('');
34
+ }
35
+ }, timeoutMs);
36
+ rl.question(question, (answer) => {
37
+ if (!resolved) {
38
+ resolved = true;
39
+ clearTimeout(timeout);
40
+ resolve(answer);
41
+ }
35
42
  });
36
43
  });
37
- // Prompt for the S3 bucket name
38
- const awsBucket = yield new Promise((resolve) => {
39
- rl.question('AWS S3 Bucket Name: ', (answer) => {
40
- resolve(answer.trim());
41
- });
44
+ };
45
+ let rl;
46
+ try {
47
+ rl = readline__namespace.createInterface({
48
+ input: process.stdin,
49
+ output: process.stdout
42
50
  });
43
- rl.close();
44
- // Wait for the close event to ensure we don't proceed before input is complete
45
- yield new Promise(resolve => rl.on('close', resolve));
46
- // Update nx.json if it exists and AWS credentials were provided
47
- if (awsAccessKeyId && awsSecretAccessKey && awsBucket) {
48
- const nxJsonPath = path__namespace.join(projectRoot, 'nx.json');
51
+ // Ask for AWS credentials with timeouts
52
+ const accessKeyId = yield askWithTimeout(rl, 'AWS Access Key ID (press Enter to skip): ');
53
+ // If user skips, create basic config
54
+ if (!accessKeyId || accessKeyId === '') {
55
+ console.log('Skipping AWS configuration. Creating basic nx.json.');
56
+ // Check if nx.json exists and update or create
49
57
  if (tree.exists(nxJsonPath)) {
50
58
  devkit.updateJson(tree, nxJsonPath, (json) => {
51
- // Preserve the existing configuration, just update the AWS credentials
52
59
  if (!json.tasksRunnerOptions) {
53
- json.tasksRunnerOptions = {};
54
- }
55
- if (!json.tasksRunnerOptions.default) {
56
- json.tasksRunnerOptions.default = {
57
- runner: '@nx-aws-plugin/nx-aws-cache',
58
- options: {
59
- runtimeCacheInputs: ['node --version']
60
- }
61
- };
60
+ json.tasksRunnerOptions = basicConfig.tasksRunnerOptions;
62
61
  }
63
- // Update only the AWS credentials
64
- json.tasksRunnerOptions.default.options = Object.assign(Object.assign({}, json.tasksRunnerOptions.default.options), { awsAccessKeyId,
65
- awsSecretAccessKey,
66
- awsRegion,
67
- awsBucket });
68
- console.log('Updated nx.json with AWS configuration');
69
62
  return json;
70
63
  });
71
64
  }
65
+ else {
66
+ tree.write(nxJsonPath, JSON.stringify(basicConfig, null, 2));
67
+ }
72
68
  }
73
69
  else {
74
- console.log('Skipped AWS configuration for nx.json');
70
+ // Get remaining AWS info
71
+ const secretAccessKey = yield askWithTimeout(rl, 'AWS Secret Access Key: ');
72
+ const region = (yield askWithTimeout(rl, 'AWS Region (default: us-east-1): ')) || 'us-east-1';
73
+ const bucketName = yield askWithTimeout(rl, 'AWS S3 Bucket Name: ');
74
+ // Only add AWS config if all fields are provided
75
+ if (secretAccessKey && bucketName) {
76
+ // Use type assertion to avoid TypeScript errors
77
+ const awsConfig = Object.assign({}, basicConfig);
78
+ // Use "as any" to bypass type checking
79
+ awsConfig.tasksRunnerOptions.default.options = Object.assign(Object.assign({}, awsConfig.tasksRunnerOptions.default.options), { cacheDirectory: '.nx/cache', remoteCache: {
80
+ s3: {
81
+ accessKeyId,
82
+ secretAccessKey,
83
+ region,
84
+ bucketName
85
+ }
86
+ } });
87
+ // Update or create nx.json with AWS config
88
+ if (tree.exists(nxJsonPath)) {
89
+ devkit.updateJson(tree, nxJsonPath, () => awsConfig);
90
+ console.log('Updated nx.json with AWS configuration.');
91
+ }
92
+ else {
93
+ tree.write(nxJsonPath, JSON.stringify(awsConfig, null, 2));
94
+ console.log('Created nx.json with AWS configuration.');
95
+ }
96
+ }
97
+ else {
98
+ console.log('Incomplete AWS information. Creating basic nx.json.');
99
+ // Create basic config without AWS
100
+ if (tree.exists(nxJsonPath)) {
101
+ devkit.updateJson(tree, nxJsonPath, (json) => {
102
+ if (!json.tasksRunnerOptions) {
103
+ json.tasksRunnerOptions = basicConfig.tasksRunnerOptions;
104
+ }
105
+ return json;
106
+ });
107
+ }
108
+ else {
109
+ tree.write(nxJsonPath, JSON.stringify(basicConfig, null, 2));
110
+ }
111
+ }
75
112
  }
76
113
  }
77
114
  catch (error) {
78
115
  console.error('Error setting up Nx configuration:', error);
116
+ // Fallback to basic config
117
+ if (tree.exists(nxJsonPath)) {
118
+ devkit.updateJson(tree, nxJsonPath, (json) => {
119
+ if (!json.tasksRunnerOptions) {
120
+ json.tasksRunnerOptions = basicConfig.tasksRunnerOptions;
121
+ }
122
+ return json;
123
+ });
124
+ }
125
+ else {
126
+ tree.write(nxJsonPath, JSON.stringify(basicConfig, null, 2));
127
+ }
128
+ }
129
+ finally {
130
+ // Ensure readline interface is closed
131
+ if (rl) {
132
+ rl.close();
133
+ }
134
+ console.log('Nx configuration setup complete.');
79
135
  }
80
136
  });
81
137
  }exports.setupNxConfig=setupNxConfig;//# sourceMappingURL=nxSetup.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"nxSetup.cjs","sources":["../../../../src/generators/add-fullstack/updates/nxSetup.ts"],"sourcesContent":[null],"names":["readline","path","updateJson"],"mappings":"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"}
1
+ {"version":3,"file":"nxSetup.cjs","sources":["../../../../src/generators/add-fullstack/updates/nxSetup.ts"],"sourcesContent":[null],"names":["path","readline","updateJson"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Tree } from '@nx/devkit';
2
2
  /**
3
- * Prompts the user for AWS credentials and updates nx.json
3
+ * Sets up Nx configuration with optional AWS credentials
4
4
  */
5
5
  export declare function setupNxConfig(tree: Tree, projectRoot: string): Promise<void>;
@@ -1,81 +1,137 @@
1
1
  import {__awaiter}from'tslib';import {updateJson}from'@nx/devkit';import*as path from'path';import*as readline from'readline';/**
2
- * Prompts the user for AWS credentials and updates nx.json
2
+ * Sets up Nx configuration with optional AWS credentials
3
3
  */
4
4
  function setupNxConfig(tree, projectRoot) {
5
5
  return __awaiter(this, void 0, void 0, function* () {
6
- try {
7
- // Create readline interface for user input
8
- const rl = readline.createInterface({
9
- input: process.stdin,
10
- output: process.stdout
11
- });
12
- console.log('\nAWS Configuration for Nx Cache');
13
- console.log('=============================');
14
- console.log('This project uses AWS S3 for remote caching with Nx.');
15
- console.log('Please provide your AWS credentials or press Enter to skip for now.');
16
- // Prompt for the AWS access key ID
17
- const awsAccessKeyId = yield new Promise((resolve) => {
18
- rl.question('AWS Access Key ID: ', (answer) => {
19
- resolve(answer.trim());
20
- });
21
- });
22
- // Prompt for the AWS secret access key if access key ID was provided
23
- let awsSecretAccessKey = '';
24
- if (awsAccessKeyId) {
25
- awsSecretAccessKey = yield new Promise((resolve) => {
26
- rl.question('AWS Secret Access Key: ', (answer) => {
27
- resolve(answer.trim());
28
- });
29
- });
6
+ console.log('\nAWS Configuration for Nx Cache');
7
+ console.log('=============================');
8
+ console.log('This project uses AWS S3 for remote caching with Nx.');
9
+ console.log('Please provide your AWS credentials or press Enter to skip for now.');
10
+ // Basic configuration without AWS credentials
11
+ const basicConfig = {
12
+ tasksRunnerOptions: {
13
+ default: {
14
+ runner: 'nx/tasks-runners/default',
15
+ options: {
16
+ cacheableOperations: ['build', 'test', 'lint'],
17
+ accessibleHosts: ['https://registry.npmjs.org'],
18
+ useDaemonProcess: false,
19
+ parallel: 3
20
+ }
21
+ }
30
22
  }
31
- // Prompt for the AWS region
32
- const awsRegion = yield new Promise((resolve) => {
33
- rl.question('AWS Region (default: us-east-1): ', (answer) => {
34
- resolve(answer.trim() || 'us-east-1');
23
+ };
24
+ const nxJsonPath = path.join(projectRoot, 'nx.json');
25
+ // Safe prompt function with timeout that returns a string
26
+ const askWithTimeout = (rl, question, timeoutMs = 10000) => {
27
+ return new Promise((resolve) => {
28
+ let resolved = false;
29
+ const timeout = setTimeout(() => {
30
+ if (!resolved) {
31
+ resolved = true;
32
+ console.log(`\nTimeout waiting for input. Skipping.`);
33
+ resolve('');
34
+ }
35
+ }, timeoutMs);
36
+ rl.question(question, (answer) => {
37
+ if (!resolved) {
38
+ resolved = true;
39
+ clearTimeout(timeout);
40
+ resolve(answer);
41
+ }
35
42
  });
36
43
  });
37
- // Prompt for the S3 bucket name
38
- const awsBucket = yield new Promise((resolve) => {
39
- rl.question('AWS S3 Bucket Name: ', (answer) => {
40
- resolve(answer.trim());
41
- });
44
+ };
45
+ let rl;
46
+ try {
47
+ rl = readline.createInterface({
48
+ input: process.stdin,
49
+ output: process.stdout
42
50
  });
43
- rl.close();
44
- // Wait for the close event to ensure we don't proceed before input is complete
45
- yield new Promise(resolve => rl.on('close', resolve));
46
- // Update nx.json if it exists and AWS credentials were provided
47
- if (awsAccessKeyId && awsSecretAccessKey && awsBucket) {
48
- const nxJsonPath = path.join(projectRoot, 'nx.json');
51
+ // Ask for AWS credentials with timeouts
52
+ const accessKeyId = yield askWithTimeout(rl, 'AWS Access Key ID (press Enter to skip): ');
53
+ // If user skips, create basic config
54
+ if (!accessKeyId || accessKeyId === '') {
55
+ console.log('Skipping AWS configuration. Creating basic nx.json.');
56
+ // Check if nx.json exists and update or create
49
57
  if (tree.exists(nxJsonPath)) {
50
58
  updateJson(tree, nxJsonPath, (json) => {
51
- // Preserve the existing configuration, just update the AWS credentials
52
59
  if (!json.tasksRunnerOptions) {
53
- json.tasksRunnerOptions = {};
54
- }
55
- if (!json.tasksRunnerOptions.default) {
56
- json.tasksRunnerOptions.default = {
57
- runner: '@nx-aws-plugin/nx-aws-cache',
58
- options: {
59
- runtimeCacheInputs: ['node --version']
60
- }
61
- };
60
+ json.tasksRunnerOptions = basicConfig.tasksRunnerOptions;
62
61
  }
63
- // Update only the AWS credentials
64
- json.tasksRunnerOptions.default.options = Object.assign(Object.assign({}, json.tasksRunnerOptions.default.options), { awsAccessKeyId,
65
- awsSecretAccessKey,
66
- awsRegion,
67
- awsBucket });
68
- console.log('Updated nx.json with AWS configuration');
69
62
  return json;
70
63
  });
71
64
  }
65
+ else {
66
+ tree.write(nxJsonPath, JSON.stringify(basicConfig, null, 2));
67
+ }
72
68
  }
73
69
  else {
74
- console.log('Skipped AWS configuration for nx.json');
70
+ // Get remaining AWS info
71
+ const secretAccessKey = yield askWithTimeout(rl, 'AWS Secret Access Key: ');
72
+ const region = (yield askWithTimeout(rl, 'AWS Region (default: us-east-1): ')) || 'us-east-1';
73
+ const bucketName = yield askWithTimeout(rl, 'AWS S3 Bucket Name: ');
74
+ // Only add AWS config if all fields are provided
75
+ if (secretAccessKey && bucketName) {
76
+ // Use type assertion to avoid TypeScript errors
77
+ const awsConfig = Object.assign({}, basicConfig);
78
+ // Use "as any" to bypass type checking
79
+ awsConfig.tasksRunnerOptions.default.options = Object.assign(Object.assign({}, awsConfig.tasksRunnerOptions.default.options), { cacheDirectory: '.nx/cache', remoteCache: {
80
+ s3: {
81
+ accessKeyId,
82
+ secretAccessKey,
83
+ region,
84
+ bucketName
85
+ }
86
+ } });
87
+ // Update or create nx.json with AWS config
88
+ if (tree.exists(nxJsonPath)) {
89
+ updateJson(tree, nxJsonPath, () => awsConfig);
90
+ console.log('Updated nx.json with AWS configuration.');
91
+ }
92
+ else {
93
+ tree.write(nxJsonPath, JSON.stringify(awsConfig, null, 2));
94
+ console.log('Created nx.json with AWS configuration.');
95
+ }
96
+ }
97
+ else {
98
+ console.log('Incomplete AWS information. Creating basic nx.json.');
99
+ // Create basic config without AWS
100
+ if (tree.exists(nxJsonPath)) {
101
+ updateJson(tree, nxJsonPath, (json) => {
102
+ if (!json.tasksRunnerOptions) {
103
+ json.tasksRunnerOptions = basicConfig.tasksRunnerOptions;
104
+ }
105
+ return json;
106
+ });
107
+ }
108
+ else {
109
+ tree.write(nxJsonPath, JSON.stringify(basicConfig, null, 2));
110
+ }
111
+ }
75
112
  }
76
113
  }
77
114
  catch (error) {
78
115
  console.error('Error setting up Nx configuration:', error);
116
+ // Fallback to basic config
117
+ if (tree.exists(nxJsonPath)) {
118
+ updateJson(tree, nxJsonPath, (json) => {
119
+ if (!json.tasksRunnerOptions) {
120
+ json.tasksRunnerOptions = basicConfig.tasksRunnerOptions;
121
+ }
122
+ return json;
123
+ });
124
+ }
125
+ else {
126
+ tree.write(nxJsonPath, JSON.stringify(basicConfig, null, 2));
127
+ }
128
+ }
129
+ finally {
130
+ // Ensure readline interface is closed
131
+ if (rl) {
132
+ rl.close();
133
+ }
134
+ console.log('Nx configuration setup complete.');
79
135
  }
80
136
  });
81
137
  }export{setupNxConfig};//# sourceMappingURL=nxSetup.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"nxSetup.mjs","sources":["../../../../src/generators/add-fullstack/updates/nxSetup.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nxSetup.mjs","sources":["../../../../src/generators/add-fullstack/updates/nxSetup.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@common-stack/generate-plugin",
3
- "version": "7.0.4-alpha.2",
3
+ "version": "7.0.4-alpha.3",
4
4
  "type": "module",
5
5
  "main": "./lib/index.mjs",
6
6
  "typings": "./lib/index.d.ts",
@@ -26,5 +26,5 @@
26
26
  },
27
27
  "executors": "./executors.json",
28
28
  "generators": "./generators.json",
29
- "gitHead": "6f0008c84e4b55390bc23edf6689934300fa3aca"
29
+ "gitHead": "16fbc2994452790ece9dbf63fe19ea6d6f9ed869"
30
30
  }
@@ -145,7 +145,7 @@
145
145
  "@babel/register": "^7.18.9",
146
146
  "@babel/runtime": "^7.20.1",
147
147
  "@common-stack/env-list-loader": "7.0.4-alpha.0",
148
- "@common-stack/generate-plugin": "7.0.4-alpha.1",
148
+ "@common-stack/generate-plugin": "7.0.4-alpha.2",
149
149
  "@common-stack/rollup-vite-utils": "7.0.4-alpha.0",
150
150
  "@emotion/babel-plugin": "^11.11.0",
151
151
  "@graphql-codegen/add": "^5.0.3",
@@ -31,6 +31,9 @@ import { addMoleculerGenerator as generateMoleculer } from '../add-moleculer/gen
31
31
  import { addPackageGenerator as generatePackage } from '../add-package/generator';
32
32
 
33
33
  export async function addFullstackGenerator(tree: Tree, options: AddFullstackGeneratorSchema) {
34
+ // Immediately set the environment variable to skip NX config
35
+ process.env.SKIP_NX_CONFIG = 'true';
36
+
34
37
  let projectPath = options.path || '';
35
38
  if (projectPath !== '') {
36
39
  const basePath = process.cwd();
@@ -90,7 +93,11 @@ export async function addFullstackGenerator(tree: Tree, options: AddFullstackGen
90
93
  }
91
94
  }
92
95
 
93
- // Add this before commitInitialFiles
96
+ // Setup Nx config with AWS credentials
97
+ // Allow skipping via environment variable
98
+ if (options.skipNxConfig) {
99
+ process.env.SKIP_NX_CONFIG = 'true';
100
+ }
94
101
  await setupNxConfig(tree, projectRoot);
95
102
 
96
103
  // Setup git and commit files
@@ -0,0 +1,10 @@
1
+ export interface AddFullstackGeneratorSchema {
2
+ name?: string;
3
+ path?: string;
4
+ skipGit?: boolean;
5
+ skipGitCrypt?: boolean;
6
+ skipHusky?: boolean;
7
+ skipNxConfig?: boolean;
8
+ template?: string;
9
+ config?: any;
10
+ }
@@ -3,93 +3,143 @@ import * as path from 'path';
3
3
  import * as readline from 'readline';
4
4
 
5
5
  /**
6
- * Prompts the user for AWS credentials and updates nx.json
6
+ * Sets up Nx configuration with optional AWS credentials
7
7
  */
8
8
  export async function setupNxConfig(tree: Tree, projectRoot: string) {
9
- try {
10
- // Create readline interface for user input
11
- const rl = readline.createInterface({
12
- input: process.stdin,
13
- output: process.stdout
14
- });
15
-
16
- console.log('\nAWS Configuration for Nx Cache');
17
- console.log('=============================');
18
- console.log('This project uses AWS S3 for remote caching with Nx.');
19
- console.log('Please provide your AWS credentials or press Enter to skip for now.');
20
-
21
- // Prompt for the AWS access key ID
22
- const awsAccessKeyId = await new Promise<string>((resolve) => {
23
- rl.question('AWS Access Key ID: ', (answer) => {
24
- resolve(answer.trim());
25
- });
26
- });
27
-
28
- // Prompt for the AWS secret access key if access key ID was provided
29
- let awsSecretAccessKey = '';
30
- if (awsAccessKeyId) {
31
- awsSecretAccessKey = await new Promise<string>((resolve) => {
32
- rl.question('AWS Secret Access Key: ', (answer) => {
33
- resolve(answer.trim());
34
- });
35
- });
36
- }
37
-
38
- // Prompt for the AWS region
39
- const awsRegion = await new Promise<string>((resolve) => {
40
- rl.question('AWS Region (default: us-east-1): ', (answer) => {
41
- resolve(answer.trim() || 'us-east-1');
9
+ console.log('\nAWS Configuration for Nx Cache');
10
+ console.log('=============================');
11
+ console.log('This project uses AWS S3 for remote caching with Nx.');
12
+ console.log('Please provide your AWS credentials or press Enter to skip for now.');
13
+
14
+ // Basic configuration without AWS credentials
15
+ const basicConfig = {
16
+ tasksRunnerOptions: {
17
+ default: {
18
+ runner: 'nx/tasks-runners/default',
19
+ options: {
20
+ cacheableOperations: ['build', 'test', 'lint'],
21
+ accessibleHosts: ['https://registry.npmjs.org'],
22
+ useDaemonProcess: false,
23
+ parallel: 3,
24
+ },
25
+ },
26
+ },
27
+ };
28
+
29
+ const nxJsonPath = path.join(projectRoot, 'nx.json');
30
+
31
+ // Safe prompt function with timeout that returns a string
32
+ const askWithTimeout = (rl: readline.Interface, question: string, timeoutMs = 10000): Promise<string> => {
33
+ return new Promise<string>((resolve) => {
34
+ let resolved = false;
35
+
36
+ const timeout = setTimeout(() => {
37
+ if (!resolved) {
38
+ resolved = true;
39
+ console.log(`\nTimeout waiting for input. Skipping.`);
40
+ resolve('');
41
+ }
42
+ }, timeoutMs);
43
+
44
+ rl.question(question, (answer: string) => {
45
+ if (!resolved) {
46
+ resolved = true;
47
+ clearTimeout(timeout);
48
+ resolve(answer);
49
+ }
42
50
  });
43
51
  });
44
-
45
- // Prompt for the S3 bucket name
46
- const awsBucket = await new Promise<string>((resolve) => {
47
- rl.question('AWS S3 Bucket Name: ', (answer) => {
48
- resolve(answer.trim());
49
- });
52
+ };
53
+
54
+ let rl: readline.Interface | undefined;
55
+ try {
56
+ rl = readline.createInterface({
57
+ input: process.stdin,
58
+ output: process.stdout,
50
59
  });
51
-
52
- rl.close();
53
-
54
- // Wait for the close event to ensure we don't proceed before input is complete
55
- await new Promise(resolve => rl.on('close', resolve));
56
-
57
- // Update nx.json if it exists and AWS credentials were provided
58
- if (awsAccessKeyId && awsSecretAccessKey && awsBucket) {
59
- const nxJsonPath = path.join(projectRoot, 'nx.json');
60
+
61
+ // Ask for AWS credentials with timeouts
62
+ const accessKeyId = await askWithTimeout(rl, 'AWS Access Key ID (press Enter to skip): ');
63
+
64
+ // If user skips, create basic config
65
+ if (!accessKeyId || accessKeyId === '') {
66
+ console.log('Skipping AWS configuration. Creating basic nx.json.');
67
+ // Check if nx.json exists and update or create
60
68
  if (tree.exists(nxJsonPath)) {
61
69
  updateJson(tree, nxJsonPath, (json) => {
62
- // Preserve the existing configuration, just update the AWS credentials
63
70
  if (!json.tasksRunnerOptions) {
64
- json.tasksRunnerOptions = {};
65
- }
66
-
67
- if (!json.tasksRunnerOptions.default) {
68
- json.tasksRunnerOptions.default = {
69
- runner: '@nx-aws-plugin/nx-aws-cache',
70
- options: {
71
- runtimeCacheInputs: ['node --version']
72
- }
73
- };
71
+ json.tasksRunnerOptions = basicConfig.tasksRunnerOptions;
74
72
  }
75
-
76
- // Update only the AWS credentials
77
- json.tasksRunnerOptions.default.options = {
78
- ...json.tasksRunnerOptions.default.options,
79
- awsAccessKeyId,
80
- awsSecretAccessKey,
81
- awsRegion,
82
- awsBucket
83
- };
84
-
85
- console.log('Updated nx.json with AWS configuration');
86
73
  return json;
87
74
  });
75
+ } else {
76
+ tree.write(nxJsonPath, JSON.stringify(basicConfig, null, 2));
88
77
  }
89
78
  } else {
90
- console.log('Skipped AWS configuration for nx.json');
79
+ // Get remaining AWS info
80
+ const secretAccessKey = await askWithTimeout(rl, 'AWS Secret Access Key: ');
81
+ const region = (await askWithTimeout(rl, 'AWS Region (default: us-east-1): ')) || 'us-east-1';
82
+ const bucketName = await askWithTimeout(rl, 'AWS S3 Bucket Name: ');
83
+
84
+ // Only add AWS config if all fields are provided
85
+ if (secretAccessKey && bucketName) {
86
+ // Use type assertion to avoid TypeScript errors
87
+ const awsConfig = { ...basicConfig };
88
+ // Use "as any" to bypass type checking
89
+ (awsConfig.tasksRunnerOptions.default.options as any) = {
90
+ ...awsConfig.tasksRunnerOptions.default.options,
91
+ cacheDirectory: '.nx/cache',
92
+ remoteCache: {
93
+ s3: {
94
+ accessKeyId,
95
+ secretAccessKey,
96
+ region,
97
+ bucketName,
98
+ },
99
+ },
100
+ };
101
+
102
+ // Update or create nx.json with AWS config
103
+ if (tree.exists(nxJsonPath)) {
104
+ updateJson(tree, nxJsonPath, () => awsConfig);
105
+ console.log('Updated nx.json with AWS configuration.');
106
+ } else {
107
+ tree.write(nxJsonPath, JSON.stringify(awsConfig, null, 2));
108
+ console.log('Created nx.json with AWS configuration.');
109
+ }
110
+ } else {
111
+ console.log('Incomplete AWS information. Creating basic nx.json.');
112
+ // Create basic config without AWS
113
+ if (tree.exists(nxJsonPath)) {
114
+ updateJson(tree, nxJsonPath, (json) => {
115
+ if (!json.tasksRunnerOptions) {
116
+ json.tasksRunnerOptions = basicConfig.tasksRunnerOptions;
117
+ }
118
+ return json;
119
+ });
120
+ } else {
121
+ tree.write(nxJsonPath, JSON.stringify(basicConfig, null, 2));
122
+ }
123
+ }
91
124
  }
92
125
  } catch (error) {
93
126
  console.error('Error setting up Nx configuration:', error);
127
+ // Fallback to basic config
128
+ if (tree.exists(nxJsonPath)) {
129
+ updateJson(tree, nxJsonPath, (json) => {
130
+ if (!json.tasksRunnerOptions) {
131
+ json.tasksRunnerOptions = basicConfig.tasksRunnerOptions;
132
+ }
133
+ return json;
134
+ });
135
+ } else {
136
+ tree.write(nxJsonPath, JSON.stringify(basicConfig, null, 2));
137
+ }
138
+ } finally {
139
+ // Ensure readline interface is closed
140
+ if (rl) {
141
+ rl.close();
142
+ }
143
+ console.log('Nx configuration setup complete.');
94
144
  }
95
- }
145
+ }