@common-stack/generate-plugin 7.0.4-alpha.2 → 7.0.4-alpha.20
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 +72 -0
- package/lib/common/package-releases/package.json +1 -0
- package/lib/common/package-releases/package.json.cjs +1 -0
- package/lib/common/package-releases/package.json.cjs.map +1 -1
- package/lib/common/package-releases/package.json.mjs +1 -0
- package/lib/common/package-releases/package.json.mjs.map +1 -1
- package/lib/generators/add-backend/files/package.json +1 -1
- package/lib/generators/add-frontend/frameworks/antui/src/entry.client.tsx.template +7 -2
- package/lib/generators/add-frontend/frameworks/antui/src/root.tsx.template +2 -1
- package/lib/generators/add-frontend/generator.cjs +1 -1
- package/lib/generators/add-frontend/generator.cjs.map +1 -1
- package/lib/generators/add-frontend/generator.mjs +1 -1
- package/lib/generators/add-frontend/generator.mjs.map +1 -1
- package/lib/generators/add-frontend/templates/package.json +2 -2
- package/lib/generators/add-fullstack/files/_gitignore +3 -0
- package/lib/generators/add-fullstack/files/package.json +4 -8
- package/lib/generators/add-fullstack/files/rollup.config.base.mjs +3 -4
- package/lib/generators/add-fullstack/generator.cjs +7 -1
- package/lib/generators/add-fullstack/generator.cjs.map +1 -1
- package/lib/generators/add-fullstack/generator.mjs +7 -1
- package/lib/generators/add-fullstack/generator.mjs.map +1 -1
- package/lib/generators/add-fullstack/schema.d.ts +10 -0
- package/lib/generators/add-fullstack/updates/nxSetup.cjs +114 -58
- package/lib/generators/add-fullstack/updates/nxSetup.cjs.map +1 -1
- package/lib/generators/add-fullstack/updates/nxSetup.d.ts +1 -1
- package/lib/generators/add-fullstack/updates/nxSetup.mjs +114 -58
- package/lib/generators/add-fullstack/updates/nxSetup.mjs.map +1 -1
- package/lib/generators/add-moleculer/files/package.json +5 -5
- package/lib/generators/add-package/files/browser/package.json +1 -1
- package/lib/generators/add-package/files/server/package.json +3 -3
- package/package.json +3 -3
- package/src/common/package-releases/package.json +1 -0
- package/src/generators/add-backend/files/package.json +1 -1
- package/src/generators/add-frontend/frameworks/antui/src/entry.client.tsx.template +7 -2
- package/src/generators/add-frontend/frameworks/antui/src/root.tsx.template +2 -1
- package/src/generators/add-frontend/generator.ts +1 -1
- package/src/generators/add-frontend/templates/package.json +2 -2
- package/src/generators/add-fullstack/files/_gitignore +3 -0
- package/src/generators/add-fullstack/files/package.json +4 -8
- package/src/generators/add-fullstack/files/rollup.config.base.mjs +3 -4
- package/src/generators/add-fullstack/generator.ts +8 -2
- package/src/generators/add-fullstack/schema.ts +10 -0
- package/src/generators/add-fullstack/updates/nxSetup.ts +123 -73
- package/src/generators/add-moleculer/files/package.json +5 -5
- package/src/generators/add-package/files/browser/package.json +1 -1
- package/src/generators/add-package/files/server/package.json +3 -3
|
@@ -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
|
-
*
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
+
},
|
|
22
|
+
},
|
|
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
|
+
}
|
|
20
42
|
});
|
|
21
43
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
}
|
|
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');
|
|
35
|
-
});
|
|
36
|
-
});
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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 =
|
|
60
|
+
json.tasksRunnerOptions = basicConfig.tasksRunnerOptions;
|
|
54
61
|
}
|
|
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
|
-
};
|
|
62
|
-
}
|
|
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
|
-
|
|
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":["
|
|
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,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
|
-
*
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
+
},
|
|
22
|
+
},
|
|
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
|
+
}
|
|
20
42
|
});
|
|
21
43
|
});
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
});
|
|
29
|
-
});
|
|
30
|
-
}
|
|
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');
|
|
35
|
-
});
|
|
36
|
-
});
|
|
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
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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 =
|
|
60
|
+
json.tasksRunnerOptions = basicConfig.tasksRunnerOptions;
|
|
54
61
|
}
|
|
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
|
-
};
|
|
62
|
-
}
|
|
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
|
-
|
|
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":"8HAIA;;AAEG;AACmB,SAAA,aAAa,CAAC,IAAU,EAAE,WAAmB,EAAA;;AAC/D,QAAA,
|
|
1
|
+
{"version":3,"file":"nxSetup.mjs","sources":["../../../../src/generators/add-fullstack/updates/nxSetup.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
"common": "link:./common"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@common-stack/client-core": "7.0.4-alpha.
|
|
33
|
-
"@common-stack/core": "7.0.4-alpha.
|
|
34
|
-
"@common-stack/server-core": "7.0.4-alpha.
|
|
35
|
-
"@common-stack/server-stack": "7.0.4-alpha.
|
|
36
|
-
"@common-stack/store-mongo": "7.0.4-alpha.
|
|
32
|
+
"@common-stack/client-core": "7.0.4-alpha.17",
|
|
33
|
+
"@common-stack/core": "7.0.4-alpha.17",
|
|
34
|
+
"@common-stack/server-core": "7.0.4-alpha.17",
|
|
35
|
+
"@common-stack/server-stack": "7.0.4-alpha.18",
|
|
36
|
+
"@common-stack/store-mongo": "7.0.4-alpha.17",
|
|
37
37
|
"@container-stack/mailing-api": "5.2.1-alpha.1",
|
|
38
38
|
"helmet": "^3.21.2",
|
|
39
39
|
"react": "18.2.0",
|
|
@@ -62,9 +62,9 @@
|
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"@apollo/client": ">=3.0.0",
|
|
64
64
|
"@cdm-logger/server": ">=9.0.3",
|
|
65
|
-
"@common-stack/core": "7.0.4-alpha.
|
|
66
|
-
"@common-stack/server-core": "7.0.4-alpha.
|
|
67
|
-
"@common-stack/store-mongo": "7.0.4-alpha.
|
|
65
|
+
"@common-stack/core": "7.0.4-alpha.17",
|
|
66
|
+
"@common-stack/server-core": "7.0.4-alpha.17",
|
|
67
|
+
"@common-stack/store-mongo": "7.0.4-alpha.17",
|
|
68
68
|
"@container-stack/mailing-api": ">=0.0.35-alpha.1",
|
|
69
69
|
"@vscode-alt/monaco-editor": "^0.21.4",
|
|
70
70
|
"inversify": "^5.0.1",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@common-stack/generate-plugin",
|
|
3
|
-
"version": "7.0.4-alpha.
|
|
3
|
+
"version": "7.0.4-alpha.20",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./lib/index.mjs",
|
|
6
6
|
"typings": "./lib/index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"watch": "yarn build:lib:watch"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@common-stack/rollup-vite-utils": "7.0.4-alpha.
|
|
21
|
+
"@common-stack/rollup-vite-utils": "7.0.4-alpha.20",
|
|
22
22
|
"tslib": "^2.3.0"
|
|
23
23
|
},
|
|
24
24
|
"publishConfig": {
|
|
@@ -26,5 +26,5 @@
|
|
|
26
26
|
},
|
|
27
27
|
"executors": "./executors.json",
|
|
28
28
|
"generators": "./generators.json",
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "e031c43b10b6af5d522b7f34452fa31f2ba4e311"
|
|
30
30
|
}
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"@apollo/client": "^3.9.0",
|
|
66
66
|
"@babel/runtime": "^7.20.1",
|
|
67
|
-
"@common-stack/server-stack": "7.0.4-alpha.
|
|
67
|
+
"@common-stack/server-stack": "7.0.4-alpha.18",
|
|
68
68
|
"@remix-run/node": "~2.10.1",
|
|
69
69
|
"lodash": "^4.17.15",
|
|
70
70
|
"react": "18.2.0"
|
|
@@ -35,7 +35,12 @@ import { LocaleContext } from './context';
|
|
|
35
35
|
const { apolloClient: client, container, serviceFunc } = createClientContainer();
|
|
36
36
|
const { store } = createReduxStore(client, serviceFunc(), container);
|
|
37
37
|
const antCache = createCache();
|
|
38
|
-
|
|
38
|
+
|
|
39
|
+
const emotionInsertionPoint =
|
|
40
|
+
document.querySelector('meta[name="emotion-insertion-point"]') || document.createElement('meta');
|
|
41
|
+
const cache = createEmotionCache({
|
|
42
|
+
insertionPoint: emotionInsertionPoint,
|
|
43
|
+
});
|
|
39
44
|
|
|
40
45
|
(window as any).__remixStore = store;
|
|
41
46
|
removeUniversalPortals((window as any).__SLOT_FILLS__ || []);
|
|
@@ -72,7 +77,7 @@ async function hydrate() {
|
|
|
72
77
|
<I18nextProvider i18n={i18next}>
|
|
73
78
|
<LocaleProvider>
|
|
74
79
|
<CacheProvider value={cache}>
|
|
75
|
-
<StyleProvider cache={antCache}>
|
|
80
|
+
<StyleProvider container={document.head} cache={antCache}>
|
|
76
81
|
<ReduxProvider store={store}>
|
|
77
82
|
<SlotFillProvider>
|
|
78
83
|
<InversifyProvider container={container} modules={clientModules}>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import { Links, Meta, Outlet, Scripts, ScrollRestoration, useRouteLoaderData, useRouteError
|
|
3
|
+
import { Links, Meta, Outlet, Scripts, ScrollRestoration, useRouteLoaderData, useRouteError } from '@remix-run/react';
|
|
4
4
|
import { PluginArea } from '@common-stack/client-react';
|
|
5
5
|
import { subscribeReduxRouter } from '@common-stack/remix-router-redux';
|
|
6
6
|
import { ApplicationErrorHandler } from '@admin-layout/ant-ui';
|
|
@@ -71,6 +71,7 @@ export function Layout({ children }: { children: React.ReactNode }) {
|
|
|
71
71
|
<meta charSet="utf-8" />
|
|
72
72
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
73
73
|
<Meta />
|
|
74
|
+
<meta name="emotion-insertion-point" content="" />
|
|
74
75
|
<Links />
|
|
75
76
|
{typeof window === 'undefined' ? `[__STYLESHEET__]` : ''}
|
|
76
77
|
</head>
|
|
@@ -77,7 +77,7 @@ const frameworkDependencyMap: {
|
|
|
77
77
|
]),
|
|
78
78
|
},
|
|
79
79
|
[FRAMEWORK_TAILWINDUI]: {
|
|
80
|
-
devDependencies: mapDependencies(['tailwindcss', 'postcss', 'autoprefixer']),
|
|
80
|
+
devDependencies: mapDependencies(['tailwindcss', 'postcss', 'autoprefixer', 'tailwind-merge']),
|
|
81
81
|
},
|
|
82
82
|
};
|
|
83
83
|
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"common": "link:./common"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@common-stack/frontend-stack-react": "7.0.4-alpha.
|
|
59
|
+
"@common-stack/frontend-stack-react": "7.0.4-alpha.17",
|
|
60
60
|
"@react-icons/all-files": "^4.1.0",
|
|
61
61
|
"classnames": "^2.2.6",
|
|
62
62
|
"compression": "^1.7.4",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@cdmbase/vite-plugin-i18next-loader": "^2.0.12",
|
|
84
|
-
"@common-stack/rollup-vite-utils": "7.0.4-alpha.
|
|
84
|
+
"@common-stack/rollup-vite-utils": "7.0.4-alpha.19",
|
|
85
85
|
"@remix-run/dev": "~2.10.1",
|
|
86
86
|
"@remix-run/serve": "~2.10.1",
|
|
87
87
|
"cross-env": "^7.0.3",
|