@aws/nx-plugin 0.36.0 → 0.37.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.
- package/LICENSE-THIRD-PARTY +39484 -0
- package/package.json +2 -1
- package/src/preset/generator.d.ts +23 -0
- package/src/preset/generator.js +69 -0
- package/src/preset/generator.js.map +1 -1
- package/src/utils/config/index.d.ts +4 -0
- package/src/utils/files/common/constructs/src/core/app.ts.template +1 -1
- package/src/utils/shared-constructs.js +3 -0
- package/src/utils/shared-constructs.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aws/nx-plugin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.37.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/awslabs/nx-plugin-for-aws.git",
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"@nx/vite": "~21.0.3",
|
|
35
35
|
"@nxlv/python": "^21.0.0",
|
|
36
36
|
"@phenomnomnominal/tsquery": "6.1.3",
|
|
37
|
+
"enquirer": "^2.4.1",
|
|
37
38
|
"fast-glob": "^3.3.3",
|
|
38
39
|
"lodash.camelcase": "^4.3.0",
|
|
39
40
|
"lodash.deburr": "^4.1.0",
|
|
@@ -6,5 +6,28 @@ import { GeneratorCallback, Tree } from '@nx/devkit';
|
|
|
6
6
|
import { NxGeneratorInfo } from '../utils/nx';
|
|
7
7
|
import { PresetGeneratorSchema } from './schema';
|
|
8
8
|
export declare const PRESET_GENERATOR_INFO: NxGeneratorInfo;
|
|
9
|
+
/**
|
|
10
|
+
* Determines if the current user is an Amazon employee based on their git configuration.
|
|
11
|
+
*
|
|
12
|
+
* This function checks the git user email configuration to identify Amazon employees
|
|
13
|
+
* by looking for email addresses with Amazon domains (e.g., @amazon.com, @amazon.co.uk).
|
|
14
|
+
*
|
|
15
|
+
* @returns {boolean} True if the user's git email has an Amazon domain, false otherwise
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* // Returns true for Amazon employee emails
|
|
19
|
+
* // git config user.email = "john.doe@amazon.com"
|
|
20
|
+
* isAmazonian(); // true
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* // Returns false for non-Amazon emails
|
|
24
|
+
* // git config user.email = "user@example.com"
|
|
25
|
+
* isAmazonian(); // false
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* // Returns false when git config is not available or throws an error
|
|
29
|
+
* isAmazonian(); // false
|
|
30
|
+
*/
|
|
31
|
+
export declare function isAmazonian(): boolean;
|
|
9
32
|
export declare const presetGenerator: (tree: Tree, { addTsPlugin }: PresetGeneratorSchema) => Promise<GeneratorCallback>;
|
|
10
33
|
export default presetGenerator;
|
package/src/preset/generator.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.presetGenerator = exports.PRESET_GENERATOR_INFO = void 0;
|
|
4
|
+
exports.isAmazonian = isAmazonian;
|
|
4
5
|
const tslib_1 = require("tslib");
|
|
5
6
|
/**
|
|
6
7
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
@@ -14,6 +15,9 @@ const js_1 = require("@nx/js");
|
|
|
14
15
|
const package_json_1 = require("nx/src/utils/package-json");
|
|
15
16
|
const npm_scope_1 = require("../utils/npm-scope");
|
|
16
17
|
const generators_json_1 = tslib_1.__importDefault(require("../../generators.json"));
|
|
18
|
+
const child_process_1 = require("child_process");
|
|
19
|
+
const enquirer = tslib_1.__importStar(require("enquirer"));
|
|
20
|
+
const utils_1 = require("../utils/config/utils");
|
|
17
21
|
const WORKSPACES = ['packages/*'];
|
|
18
22
|
exports.PRESET_GENERATOR_INFO = (0, nx_1.getGeneratorInfo)(__filename);
|
|
19
23
|
const setUpWorkspaces = (tree) => {
|
|
@@ -29,7 +33,72 @@ const setUpWorkspaces = (tree) => {
|
|
|
29
33
|
});
|
|
30
34
|
}
|
|
31
35
|
};
|
|
36
|
+
/**
|
|
37
|
+
* Determines if the current user is an Amazon employee based on their git configuration.
|
|
38
|
+
*
|
|
39
|
+
* This function checks the git user email configuration to identify Amazon employees
|
|
40
|
+
* by looking for email addresses with Amazon domains (e.g., @amazon.com, @amazon.co.uk).
|
|
41
|
+
*
|
|
42
|
+
* @returns {boolean} True if the user's git email has an Amazon domain, false otherwise
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* // Returns true for Amazon employee emails
|
|
46
|
+
* // git config user.email = "john.doe@amazon.com"
|
|
47
|
+
* isAmazonian(); // true
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* // Returns false for non-Amazon emails
|
|
51
|
+
* // git config user.email = "user@example.com"
|
|
52
|
+
* isAmazonian(); // false
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* // Returns false when git config is not available or throws an error
|
|
56
|
+
* isAmazonian(); // false
|
|
57
|
+
*/
|
|
58
|
+
function isAmazonian() {
|
|
59
|
+
try {
|
|
60
|
+
// Execute git command to retrieve the user's configured email address
|
|
61
|
+
const gitEmail = (0, child_process_1.execSync)('git config user.email', {
|
|
62
|
+
encoding: 'utf8',
|
|
63
|
+
}).trim();
|
|
64
|
+
// Return false if no email is configured
|
|
65
|
+
if (!gitEmail) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
// Split email address to extract domain part
|
|
69
|
+
const emailParts = gitEmail.split('@');
|
|
70
|
+
if (emailParts.length < 2) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
// Extract domain and normalize to lowercase for comparison
|
|
74
|
+
const domain = emailParts[1].toLowerCase();
|
|
75
|
+
// Check if domain starts with 'amazon.' (covers amazon.com, amazon.co.uk, etc.)
|
|
76
|
+
return domain.startsWith('amazon.');
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
// Return false if git command fails or any other error occurs
|
|
80
|
+
// This handles cases where git is not installed or configured
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
32
84
|
const presetGenerator = (tree_1, _a) => tslib_1.__awaiter(void 0, [tree_1, _a], void 0, function* (tree, { addTsPlugin }) {
|
|
85
|
+
if (isAmazonian() &&
|
|
86
|
+
!process.env.VITEST &&
|
|
87
|
+
!process.env.CI &&
|
|
88
|
+
!process.env.NX_DRY_RUN) {
|
|
89
|
+
const { engagementId } = yield enquirer.prompt([
|
|
90
|
+
{
|
|
91
|
+
name: 'engagementId',
|
|
92
|
+
message: 'Please enter your engagementId (if known)',
|
|
93
|
+
type: 'input',
|
|
94
|
+
initial: 'None',
|
|
95
|
+
},
|
|
96
|
+
]);
|
|
97
|
+
if (engagementId != 'None') {
|
|
98
|
+
yield (0, utils_1.ensureAwsNxPluginConfig)(tree);
|
|
99
|
+
yield (0, utils_1.updateAwsNxPluginConfig)(tree, { tags: [engagementId] });
|
|
100
|
+
}
|
|
101
|
+
}
|
|
33
102
|
yield (0, js_1.initGenerator)(tree, {
|
|
34
103
|
formatter: 'prettier',
|
|
35
104
|
addTsPlugin: addTsPlugin !== null && addTsPlugin !== void 0 ? addTsPlugin : true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/preset/generator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/preset/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ class MetricsAspect implements IAspect {
|
|
|
17
17
|
if (node instanceof Stack) {
|
|
18
18
|
const id = '';
|
|
19
19
|
const version = '';
|
|
20
|
-
const tags: string[] = [];
|
|
20
|
+
const tags: string[] = [<%- tags.map((t) => `'${t}'`).join(', ') %>];
|
|
21
21
|
node.templateOptions.description = `${node.templateOptions.description ?? ''} (${id}) (version:${version}) (tag:${tags.join(',')})`.trim();
|
|
22
22
|
}
|
|
23
23
|
}
|
|
@@ -12,8 +12,10 @@ const generator_1 = tslib_1.__importDefault(require("../ts/lib/generator"));
|
|
|
12
12
|
const versions_1 = require("./versions");
|
|
13
13
|
const format_1 = require("./format");
|
|
14
14
|
const shared_constructs_constants_1 = require("./shared-constructs-constants");
|
|
15
|
+
const utils_1 = require("./config/utils");
|
|
15
16
|
function sharedConstructsGenerator(tree) {
|
|
16
17
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
var _a, _b;
|
|
17
19
|
const npmScopePrefix = (0, npm_scope_1.getNpmScopePrefix)(tree);
|
|
18
20
|
updateGitignore(tree);
|
|
19
21
|
if (!tree.exists((0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.TYPE_DEFINITIONS_DIR, 'project.json'))) {
|
|
@@ -47,6 +49,7 @@ function sharedConstructsGenerator(tree) {
|
|
|
47
49
|
(0, devkit_1.generateFiles)(tree, (0, devkit_1.joinPathFragments)(__dirname, 'files', shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src'), (0, devkit_1.joinPathFragments)(shared_constructs_constants_1.PACKAGES_DIR, shared_constructs_constants_1.SHARED_CONSTRUCTS_DIR, 'src'), {
|
|
48
50
|
npmScopePrefix,
|
|
49
51
|
scopeAlias: (0, npm_scope_1.toScopeAlias)(npmScopePrefix),
|
|
52
|
+
tags: (_b = (_a = (yield (0, utils_1.readAwsNxPluginConfig)(tree))) === null || _a === void 0 ? void 0 : _a.tags) !== null && _b !== void 0 ? _b : [],
|
|
50
53
|
}, {
|
|
51
54
|
overwriteStrategy: devkit_1.OverwriteStrategy.KeepExisting,
|
|
52
55
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-constructs.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/shared-constructs.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"shared-constructs.js","sourceRoot":"","sources":["../../../../../packages/nx-plugin/src/utils/shared-constructs.ts"],"names":[],"mappings":"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"}
|