@ronas-it/nx-generators 0.10.3 → 0.10.5
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/README.md +10 -1
- package/package.json +4 -3
- package/src/generators/code-checks/config.d.ts +18 -0
- package/src/generators/code-checks/config.js +20 -0
- package/src/generators/code-checks/config.js.map +1 -0
- package/src/generators/code-checks/files/.eslintrc.json.template +173 -1
- package/src/generators/code-checks/generator.d.ts +4 -0
- package/src/generators/code-checks/generator.js +53 -0
- package/src/generators/code-checks/generator.js.map +1 -0
- package/src/generators/code-checks/scripts.d.ts +6 -0
- package/src/generators/code-checks/scripts.js +8 -0
- package/src/generators/code-checks/scripts.js.map +1 -0
- package/src/generators/entity-api/generator.d.ts +4 -0
- package/src/generators/entity-api/generator.js +87 -0
- package/src/generators/entity-api/generator.js.map +1 -0
- package/src/generators/expo-app/generator.d.ts +4 -0
- package/src/generators/expo-app/generator.js +93 -0
- package/src/generators/expo-app/generator.js.map +1 -0
- package/src/generators/expo-app/scripts.d.ts +13 -0
- package/src/generators/expo-app/scripts.js +15 -0
- package/src/generators/expo-app/scripts.js.map +1 -0
- package/src/generators/form/generator.d.ts +4 -0
- package/src/generators/form/generator.js +55 -0
- package/src/generators/form/generator.js.map +1 -0
- package/src/generators/form/utils/add-form-usage.d.ts +1 -0
- package/src/generators/form/utils/add-form-usage.js +71 -0
- package/src/generators/form/utils/add-form-usage.js.map +1 -0
- package/src/generators/form/utils/get-app-name.d.ts +1 -0
- package/src/generators/form/utils/get-app-name.js +8 -0
- package/src/generators/form/utils/get-app-name.js.map +1 -0
- package/src/generators/form/utils/get-form-utils-directory.d.ts +2 -0
- package/src/generators/form/utils/get-form-utils-directory.js +35 -0
- package/src/generators/form/utils/get-form-utils-directory.js.map +1 -0
- package/src/generators/form/utils/index.js +8 -0
- package/src/generators/form/utils/index.js.map +1 -0
- package/src/generators/form/utils/update-index.d.ts +2 -0
- package/src/generators/form/utils/update-index.js +18 -0
- package/src/generators/form/utils/update-index.js.map +1 -0
- package/src/generators/lib-move/generator.d.ts +4 -0
- package/src/generators/lib-move/generator.js +37 -0
- package/src/generators/lib-move/generator.js.map +1 -0
- package/src/generators/lib-remove/generator.d.ts +4 -0
- package/src/generators/lib-remove/generator.js +22 -0
- package/src/generators/lib-remove/generator.js.map +1 -0
- package/src/generators/lib-rename/generator.d.ts +4 -0
- package/src/generators/lib-rename/generator.js +22 -0
- package/src/generators/lib-rename/generator.js.map +1 -0
- package/src/generators/lib-tags/generator.d.ts +4 -0
- package/src/generators/lib-tags/generator.js +56 -0
- package/src/generators/lib-tags/generator.js.map +1 -0
- package/src/generators/lib-tags/interfaces/context.d.ts +8 -0
- package/src/generators/lib-tags/interfaces/context.js +3 -0
- package/src/generators/lib-tags/interfaces/context.js.map +1 -0
- package/src/generators/lib-tags/interfaces/index.js +6 -0
- package/src/generators/lib-tags/interfaces/index.js.map +1 -0
- package/src/generators/lib-tags/interfaces/{verify-tag-config.ts → verify-tag-config.d.ts} +6 -7
- package/src/generators/lib-tags/interfaces/verify-tag-config.js +3 -0
- package/src/generators/lib-tags/interfaces/verify-tag-config.js.map +1 -0
- package/src/generators/lib-tags/types/index.js +5 -0
- package/src/generators/lib-tags/types/index.js.map +1 -0
- package/src/generators/lib-tags/types/tag.js +3 -0
- package/src/generators/lib-tags/types/tag.js.map +1 -0
- package/src/generators/lib-tags/utils/check-lib-tags.d.ts +4 -0
- package/src/generators/lib-tags/utils/check-lib-tags.js +113 -0
- package/src/generators/lib-tags/utils/check-lib-tags.js.map +1 -0
- package/src/generators/lib-tags/utils/index.js +5 -0
- package/src/generators/lib-tags/utils/index.js.map +1 -0
- package/src/generators/next-app/generator.d.ts +4 -0
- package/src/generators/next-app/generator.js +71 -0
- package/src/generators/next-app/generator.js.map +1 -0
- package/src/generators/react-component/generator.d.ts +4 -0
- package/src/generators/react-component/generator.js +60 -0
- package/src/generators/react-component/generator.js.map +1 -0
- package/src/generators/react-lib/generator.d.ts +4 -0
- package/src/generators/react-lib/generator.js +61 -0
- package/src/generators/react-lib/generator.js.map +1 -0
- package/src/generators/repo-config/generator.d.ts +3 -0
- package/src/generators/repo-config/generator.js +36 -0
- package/src/generators/repo-config/generator.js.map +1 -0
- package/src/generators/repo-config/scripts.d.ts +4 -0
- package/src/generators/repo-config/scripts.js +6 -0
- package/src/generators/repo-config/scripts.js.map +1 -0
- package/src/index.js +2 -0
- package/src/index.js.map +1 -0
- package/src/shared/dependencies.d.ts +73 -0
- package/src/shared/dependencies.js +79 -0
- package/src/shared/dependencies.js.map +1 -0
- package/src/shared/enums/base-generator-type.d.ts +4 -0
- package/src/shared/enums/base-generator-type.js +9 -0
- package/src/shared/enums/base-generator-type.js.map +1 -0
- package/src/shared/enums/index.js +5 -0
- package/src/shared/enums/index.js.map +1 -0
- package/src/shared/generators/api-client/generator.d.ts +6 -0
- package/src/shared/generators/api-client/generator.js +37 -0
- package/src/shared/generators/api-client/generator.js.map +1 -0
- package/src/shared/generators/api-client/index.js +5 -0
- package/src/shared/generators/api-client/index.js.map +1 -0
- package/src/shared/generators/app-env/generator.d.ts +8 -0
- package/src/shared/generators/app-env/generator.js +28 -0
- package/src/shared/generators/app-env/generator.js.map +1 -0
- package/src/shared/generators/app-env/index.js +5 -0
- package/src/shared/generators/app-env/index.js.map +1 -0
- package/src/shared/generators/auth/generator.d.ts +4 -0
- package/src/shared/generators/auth/generator.js +82 -0
- package/src/shared/generators/auth/generator.js.map +1 -0
- package/src/shared/generators/auth/index.js +5 -0
- package/src/shared/generators/auth/index.js.map +1 -0
- package/src/shared/generators/form-utils/generator.d.ts +5 -0
- package/src/shared/generators/form-utils/generator.js +24 -0
- package/src/shared/generators/form-utils/generator.js.map +1 -0
- package/src/shared/generators/form-utils/index.js +5 -0
- package/src/shared/generators/form-utils/index.js.map +1 -0
- package/src/shared/generators/index.js +12 -0
- package/src/shared/generators/index.js.map +1 -0
- package/src/shared/generators/rn-styles/generator.d.ts +6 -0
- package/src/shared/generators/rn-styles/generator.js +36 -0
- package/src/shared/generators/rn-styles/generator.js.map +1 -0
- package/src/shared/generators/rn-styles/index.js +5 -0
- package/src/shared/generators/rn-styles/index.js.map +1 -0
- package/src/shared/generators/storage/generator.d.ts +6 -0
- package/src/shared/generators/storage/generator.js +27 -0
- package/src/shared/generators/storage/generator.js.map +1 -0
- package/src/shared/generators/storage/index.js +5 -0
- package/src/shared/generators/storage/index.js.map +1 -0
- package/src/shared/generators/store/generator.d.ts +4 -0
- package/src/shared/generators/store/generator.js +36 -0
- package/src/shared/generators/store/generator.js.map +1 -0
- package/src/shared/generators/store/index.js +5 -0
- package/src/shared/generators/store/index.js.map +1 -0
- package/src/shared/generators/ui-kitten/generator.d.ts +6 -0
- package/src/shared/generators/ui-kitten/generator.js +40 -0
- package/src/shared/generators/ui-kitten/generator.js.map +1 -0
- package/src/shared/generators/ui-kitten/index.js +5 -0
- package/src/shared/generators/ui-kitten/index.js.map +1 -0
- package/src/shared/templates/config-template.json +2 -12
- package/src/shared/utils/cli-utils.d.ts +31 -0
- package/src/shared/utils/cli-utils.js +129 -0
- package/src/shared/utils/cli-utils.js.map +1 -0
- package/src/shared/utils/config-utils.d.ts +19 -0
- package/src/shared/utils/config-utils.js +124 -0
- package/src/shared/utils/config-utils.js.map +1 -0
- package/src/shared/utils/constants.d.ts +3 -0
- package/src/shared/utils/constants.js +7 -0
- package/src/shared/utils/constants.js.map +1 -0
- package/src/shared/utils/dynamic-import.d.ts +1 -0
- package/src/shared/utils/dynamic-import.js +5 -0
- package/src/shared/utils/dynamic-import.js.map +1 -0
- package/src/shared/utils/format-utils.d.ts +4 -0
- package/src/shared/utils/format-utils.js +18 -0
- package/src/shared/utils/format-utils.js.map +1 -0
- package/src/shared/utils/get-lib-directory-name.d.ts +1 -0
- package/src/shared/utils/get-lib-directory-name.js +15 -0
- package/src/shared/utils/get-lib-directory-name.js.map +1 -0
- package/src/shared/utils/index.js +11 -0
- package/src/shared/utils/index.js.map +1 -0
- package/src/shared/utils/ts-utils.d.ts +2 -0
- package/src/shared/utils/ts-utils.js +22 -0
- package/src/shared/utils/ts-utils.js.map +1 -0
- package/.eslintrc.json +0 -37
- package/jest.config.ts +0 -10
- package/project.json +0 -61
- package/src/generators/code-checks/config.ts +0 -17
- package/src/generators/code-checks/generator.ts +0 -72
- package/src/generators/code-checks/scripts.ts +0 -5
- package/src/generators/entity-api/generator.ts +0 -127
- package/src/generators/expo-app/generator.ts +0 -152
- package/src/generators/expo-app/scripts.ts +0 -12
- package/src/generators/form/generator.ts +0 -53
- package/src/generators/form/utils/add-form-usage.ts +0 -86
- package/src/generators/form/utils/get-app-name.ts +0 -3
- package/src/generators/form/utils/get-form-utils-directory.ts +0 -46
- package/src/generators/form/utils/update-index.ts +0 -14
- package/src/generators/lib-move/generator.ts +0 -57
- package/src/generators/lib-remove/generator.ts +0 -25
- package/src/generators/lib-rename/generator.ts +0 -25
- package/src/generators/lib-tags/generator.ts +0 -68
- package/src/generators/lib-tags/interfaces/context.ts +0 -9
- package/src/generators/lib-tags/utils/check-lib-tags.ts +0 -143
- package/src/generators/next-app/generator.ts +0 -99
- package/src/generators/react-component/generator.ts +0 -80
- package/src/generators/react-lib/generator.ts +0 -86
- package/src/generators/repo-config/generator.ts +0 -44
- package/src/generators/repo-config/scripts.ts +0 -3
- package/src/shared/dependencies.ts +0 -76
- package/src/shared/enums/base-generator-type.ts +0 -4
- package/src/shared/generators/api-client/generator.ts +0 -49
- package/src/shared/generators/app-env/generator.ts +0 -37
- package/src/shared/generators/auth/generator.ts +0 -107
- package/src/shared/generators/form-utils/generator.ts +0 -23
- package/src/shared/generators/rn-styles/generator.ts +0 -49
- package/src/shared/generators/storage/generator.ts +0 -34
- package/src/shared/generators/store/generator.ts +0 -48
- package/src/shared/generators/ui-kitten/generator.ts +0 -55
- package/src/shared/utils/cli-utils.ts +0 -149
- package/src/shared/utils/config-utils.ts +0 -146
- package/src/shared/utils/constants.ts +0 -3
- package/src/shared/utils/dynamic-import.ts +0 -4
- package/src/shared/utils/format-utils.ts +0 -16
- package/src/shared/utils/get-lib-directory-name.ts +0 -12
- package/src/shared/utils/ts-utils.ts +0 -17
- package/tsconfig.json +0 -16
- package/tsconfig.lib.json +0 -10
- package/tsconfig.spec.json +0 -14
- /package/src/generators/form/utils/{index.ts → index.d.ts} +0 -0
- /package/src/generators/lib-tags/interfaces/{index.ts → index.d.ts} +0 -0
- /package/src/generators/lib-tags/types/{index.ts → index.d.ts} +0 -0
- /package/src/generators/lib-tags/types/{tag.ts → tag.d.ts} +0 -0
- /package/src/generators/lib-tags/utils/{index.ts → index.d.ts} +0 -0
- /package/src/{index.ts → index.d.ts} +0 -0
- /package/src/shared/enums/{index.ts → index.d.ts} +0 -0
- /package/src/shared/generators/api-client/{index.ts → index.d.ts} +0 -0
- /package/src/shared/generators/app-env/{index.ts → index.d.ts} +0 -0
- /package/src/shared/generators/auth/{index.ts → index.d.ts} +0 -0
- /package/src/shared/generators/form-utils/{index.ts → index.d.ts} +0 -0
- /package/src/shared/generators/{index.ts → index.d.ts} +0 -0
- /package/src/shared/generators/rn-styles/{index.ts → index.d.ts} +0 -0
- /package/src/shared/generators/storage/{index.ts → index.d.ts} +0 -0
- /package/src/shared/generators/store/{index.ts → index.d.ts} +0 -0
- /package/src/shared/generators/ui-kitten/{index.ts → index.d.ts} +0 -0
- /package/src/shared/utils/{index.ts → index.d.ts} +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formGenerator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const devkit_1 = require("@nx/devkit");
|
|
7
|
+
const dependencies_1 = require("../../shared/dependencies");
|
|
8
|
+
const utils_1 = require("../../shared/utils");
|
|
9
|
+
const utils_2 = require("./utils");
|
|
10
|
+
function formGenerator(tree, options) {
|
|
11
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
12
|
+
// Get input data
|
|
13
|
+
const { default: autocomplete } = yield (0, utils_1.dynamicImport)('inquirer-autocomplete-standalone');
|
|
14
|
+
const availableLibsPaths = (0, utils_1.getNxLibsPaths)([utils_1.LibraryType.FEATURES, utils_1.LibraryType.UI]);
|
|
15
|
+
const libPath = yield autocomplete({
|
|
16
|
+
message: 'Enter the library path: ',
|
|
17
|
+
source: (input) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
const filteredNxLibsPaths = (0, utils_1.searchNxLibsPaths)(availableLibsPaths, input);
|
|
19
|
+
return filteredNxLibsPaths.map((path) => ({ value: path }));
|
|
20
|
+
}),
|
|
21
|
+
});
|
|
22
|
+
const fileName = options.name;
|
|
23
|
+
const placeOfUse = options.placeOfUse;
|
|
24
|
+
if (!fileName) {
|
|
25
|
+
throw new Error('Form name is required');
|
|
26
|
+
}
|
|
27
|
+
// Generate form class
|
|
28
|
+
const formsPath = `${libPath}/lib/forms`;
|
|
29
|
+
const formFilePath = `${formsPath}/${fileName}.ts`;
|
|
30
|
+
if (tree.exists(formFilePath)) {
|
|
31
|
+
throw new Error('The form already exists');
|
|
32
|
+
}
|
|
33
|
+
const formUtilsDirectory = yield (0, utils_2.getFormUtilsDirectory)(tree, (0, utils_2.getAppName)(libPath));
|
|
34
|
+
const formClassName = `${(0, utils_1.formatName)(fileName, true)}FormSchema`;
|
|
35
|
+
(0, devkit_1.generateFiles)(tree, path.join(__dirname, `files`), formsPath, {
|
|
36
|
+
className: formClassName,
|
|
37
|
+
fileName,
|
|
38
|
+
formUtilsDirectory,
|
|
39
|
+
});
|
|
40
|
+
(0, utils_2.updateIndex)(formsPath, fileName, tree);
|
|
41
|
+
// Add form usage
|
|
42
|
+
if (placeOfUse) {
|
|
43
|
+
yield (0, utils_2.addFormUsage)(libPath, placeOfUse, formClassName);
|
|
44
|
+
}
|
|
45
|
+
yield (0, devkit_1.formatFiles)(tree);
|
|
46
|
+
// Install dependencies
|
|
47
|
+
(0, devkit_1.addDependenciesToPackageJson)(tree, dependencies_1.dependencies.form, {});
|
|
48
|
+
return () => {
|
|
49
|
+
(0, devkit_1.installPackagesTask)(tree);
|
|
50
|
+
};
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
exports.formGenerator = formGenerator;
|
|
54
|
+
exports.default = formGenerator;
|
|
55
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/form/generator.ts"],"names":[],"mappings":";;;;AAAA,6BAA6B;AAC7B,uCAAiH;AACjH,4DAAyD;AACzD,8CAA+G;AAE/G,mCAAuF;AAEvF,SAAsB,aAAa,CAAC,IAAU,EAAE,OAA4B;;QAC1E,iBAAiB;QACjB,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,qBAAa,EACnD,kCAAkC,CACnC,CAAC;QACF,MAAM,kBAAkB,GAAG,IAAA,sBAAc,EAAC,CAAC,mBAAW,CAAC,QAAQ,EAAE,mBAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;YACjC,OAAO,EAAE,0BAA0B;YACnC,MAAM,EAAE,CAAO,KAAK,EAAE,EAAE;gBACtB,MAAM,mBAAmB,GAAG,IAAA,yBAAiB,EAAC,kBAAkB,EAAE,KAAe,CAAC,CAAC;gBAEnF,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC,CAAA;SACF,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QAED,sBAAsB;QACtB,MAAM,SAAS,GAAG,GAAG,OAAO,YAAY,CAAC;QACzC,MAAM,YAAY,GAAG,GAAG,SAAS,IAAI,QAAQ,KAAK,CAAC;QAEnD,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,kBAAkB,GAAG,MAAM,IAAA,6BAAqB,EAAC,IAAI,EAAE,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAC,CAAC;QAClF,MAAM,aAAa,GAAG,GAAG,IAAA,kBAAU,EAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC;QAChE,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE;YAC5D,SAAS,EAAE,aAAa;YACxB,QAAQ;YACR,kBAAkB;SACnB,CAAC,CAAC;QACH,IAAA,mBAAW,EAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEvC,iBAAiB;QACjB,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,IAAA,oBAAY,EAAC,OAAO,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAExB,uBAAuB;QACvB,IAAA,qCAA4B,EAAC,IAAI,EAAE,2BAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE1D,OAAO,GAAS,EAAE;YAChB,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC;CAAA;AAnDD,sCAmDC;AAED,kBAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function addFormUsage(libPath: string, placeOfUseName: string, formClassName: string): Promise<void>;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addFormUsage = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const ts_morph_1 = require("ts-morph");
|
|
6
|
+
const utils_1 = require("../../../shared/utils");
|
|
7
|
+
function getFormUsageCode(formClassName) {
|
|
8
|
+
return `const formSchema = new ${formClassName}();
|
|
9
|
+
const form = useForm({
|
|
10
|
+
defaultValues: formSchema.formValues,
|
|
11
|
+
resolver: yupResolver(${formClassName}.validationSchema)
|
|
12
|
+
});\n\n`;
|
|
13
|
+
}
|
|
14
|
+
function getForwardRefFunction(variable) {
|
|
15
|
+
const callExpressionInitializer = variable.getInitializerIfKind(ts_morph_1.SyntaxKind.CallExpression);
|
|
16
|
+
const hasForwardRef = (callExpressionInitializer === null || callExpressionInitializer === void 0 ? void 0 : callExpressionInitializer.getExpression().getText()) === 'forwardRef';
|
|
17
|
+
if (!hasForwardRef) {
|
|
18
|
+
throw new Error('Could not find forwardRef');
|
|
19
|
+
}
|
|
20
|
+
const argument = callExpressionInitializer.getArguments()[0];
|
|
21
|
+
const hasComponentFunction = argument && [ts_morph_1.SyntaxKind.FunctionExpression, ts_morph_1.SyntaxKind.ArrowFunction].includes(argument.getKind());
|
|
22
|
+
if (!hasComponentFunction) {
|
|
23
|
+
throw new Error('Could not find a component function in forwardRef');
|
|
24
|
+
}
|
|
25
|
+
const functionExpression = argument.asKind(argument.getKind() === ts_morph_1.SyntaxKind.FunctionExpression ? ts_morph_1.SyntaxKind.FunctionExpression : ts_morph_1.SyntaxKind.ArrowFunction);
|
|
26
|
+
if (!functionExpression) {
|
|
27
|
+
throw new Error('Could not get a component function in forwardRef');
|
|
28
|
+
}
|
|
29
|
+
return functionExpression;
|
|
30
|
+
}
|
|
31
|
+
function getPlaceOfUse(file, placeOfUseName) {
|
|
32
|
+
const placeOfUseFunction = file.getFunction(placeOfUseName);
|
|
33
|
+
if (placeOfUseFunction) {
|
|
34
|
+
return placeOfUseFunction;
|
|
35
|
+
}
|
|
36
|
+
const variable = file.getVariableDeclaration(placeOfUseName);
|
|
37
|
+
if (!variable) {
|
|
38
|
+
throw new Error(`Could not find the place where the form should be used (${placeOfUseName}).`);
|
|
39
|
+
}
|
|
40
|
+
return (variable.getInitializerIfKind(ts_morph_1.SyntaxKind.FunctionExpression) ||
|
|
41
|
+
variable.getInitializerIfKind(ts_morph_1.SyntaxKind.ArrowFunction) ||
|
|
42
|
+
getForwardRefFunction(variable));
|
|
43
|
+
}
|
|
44
|
+
function addFormUsage(libPath, placeOfUseName, formClassName) {
|
|
45
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
const project = new ts_morph_1.Project({
|
|
47
|
+
manipulationSettings: {
|
|
48
|
+
indentationText: ts_morph_1.IndentationText.TwoSpaces,
|
|
49
|
+
quoteKind: ts_morph_1.QuoteKind.Single,
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
const files = project.addSourceFilesAtPaths([`${libPath}/lib/**/*.tsx`, `${libPath}/lib/**/*.ts`]);
|
|
53
|
+
const file = files.find((file) => file.getFunction(placeOfUseName) || file.getVariableDeclaration(placeOfUseName));
|
|
54
|
+
if (!file) {
|
|
55
|
+
throw new Error('Could not find the place where the form should be used.');
|
|
56
|
+
}
|
|
57
|
+
const pathToForm = file.getFilePath().includes('components')
|
|
58
|
+
? '../../forms'
|
|
59
|
+
: file.getFilePath().includes('hooks')
|
|
60
|
+
? '../forms'
|
|
61
|
+
: './forms';
|
|
62
|
+
(0, utils_1.addNamedImport)(formClassName, pathToForm, file);
|
|
63
|
+
(0, utils_1.addNamedImport)('useForm', 'react-hook-form', file);
|
|
64
|
+
(0, utils_1.addNamedImport)('yupResolver', '@hookform/resolvers/yup', file);
|
|
65
|
+
const placeOfUse = getPlaceOfUse(file, placeOfUseName);
|
|
66
|
+
placeOfUse.setBodyText(`${getFormUsageCode(formClassName)}${placeOfUse.getBodyText()}`);
|
|
67
|
+
project.saveSync();
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
exports.addFormUsage = addFormUsage;
|
|
71
|
+
//# sourceMappingURL=add-form-usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-form-usage.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/form/utils/add-form-usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getAppName(path: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-app-name.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/form/utils/get-app-name.ts"],"names":[],"mappings":";;;AAAA,SAAgB,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC;AAFD,gCAEC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFormUtilsDirectory = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const generators_1 = require("../../../shared/generators");
|
|
6
|
+
const utils_1 = require("../../../shared/utils");
|
|
7
|
+
const get_app_name_1 = require("./get-app-name");
|
|
8
|
+
function getFormUtilsPaths() {
|
|
9
|
+
const utilsLibsPaths = (0, utils_1.getNxLibsPaths)([utils_1.LibraryType.UTILS]);
|
|
10
|
+
return (0, utils_1.searchNxLibsPaths)(utilsLibsPaths, 'utils/form/src', 'endsWith');
|
|
11
|
+
}
|
|
12
|
+
function getFormUtilsDirectory(tree, appName) {
|
|
13
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
14
|
+
const { default: autocomplete } = yield (0, utils_1.dynamicImport)('inquirer-autocomplete-standalone');
|
|
15
|
+
const formUtilsLibsPaths = getFormUtilsPaths();
|
|
16
|
+
if (!formUtilsLibsPaths.length) {
|
|
17
|
+
const formUtilsAppDirectory = (yield (0, utils_1.selectProject)(tree, 'application', 'It\'s necessary to generate form utilities. What application should they be in?')).name;
|
|
18
|
+
yield (0, generators_1.runFormUtilsGenerator)(tree, { directory: formUtilsAppDirectory });
|
|
19
|
+
return (0, utils_1.searchAliasPath)(getFormUtilsPaths()[0]);
|
|
20
|
+
}
|
|
21
|
+
if (formUtilsLibsPaths.length > 1) {
|
|
22
|
+
if (appName === utils_1.constants.sharedValue) {
|
|
23
|
+
const path = formUtilsLibsPaths.find((path) => (0, get_app_name_1.getAppName)(path) === utils_1.constants.sharedValue);
|
|
24
|
+
return (0, utils_1.searchAliasPath)(path);
|
|
25
|
+
}
|
|
26
|
+
formUtilsLibsPaths[0] = yield autocomplete({
|
|
27
|
+
message: 'Select the path of the library with the form utilities: ',
|
|
28
|
+
source: (input) => (0, utils_1.filterSource)(input, formUtilsLibsPaths.filter((path) => [appName, utils_1.constants.sharedValue].includes((0, get_app_name_1.getAppName)(path)))),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return (0, utils_1.searchAliasPath)(formUtilsLibsPaths[0]);
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
exports.getFormUtilsDirectory = getFormUtilsDirectory;
|
|
35
|
+
//# sourceMappingURL=get-form-utils-directory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-form-utils-directory.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/form/utils/get-form-utils-directory.ts"],"names":[],"mappings":";;;;AACA,2DAAmE;AACnE,iDAS+B;AAC/B,iDAA4C;AAE5C,SAAS,iBAAiB;IACxB,MAAM,cAAc,GAAG,IAAA,sBAAc,EAAC,CAAC,mBAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAE3D,OAAO,IAAA,yBAAiB,EAAC,cAAc,EAAE,gBAAgB,EAAE,UAAU,CAAC,CAAC;AACzE,CAAC;AAED,SAAsB,qBAAqB,CAAC,IAAU,EAAE,OAAe;;QACrE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,qBAAa,EACnD,kCAAkC,CACnC,CAAC;QAEF,MAAM,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;QAE/C,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,qBAAqB,GAAG,CAC5B,MAAM,IAAA,qBAAa,EACjB,IAAI,EACJ,aAAa,EACb,iFAAiF,CAClF,CACF,CAAC,IAAI,CAAC;YACP,MAAM,IAAA,kCAAqB,EAAC,IAAI,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,CAAC;YAExE,OAAO,IAAA,uBAAe,EAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAW,CAAC;QAC3D,CAAC;QAED,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,OAAO,KAAK,iBAAS,CAAC,WAAW,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,yBAAU,EAAC,IAAI,CAAC,KAAK,iBAAS,CAAC,WAAW,CAAW,CAAC;gBAErG,OAAO,IAAA,uBAAe,EAAC,IAAI,CAAW,CAAC;YACzC,CAAC;YAED,kBAAkB,CAAC,CAAC,CAAC,GAAG,MAAM,YAAY,CAAC;gBACzC,OAAO,EAAE,0DAA0D;gBACnE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAChB,IAAA,oBAAY,EACV,KAAe,EACf,kBAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,iBAAS,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAA,yBAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CACjG;aACJ,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAA,uBAAe,EAAC,kBAAkB,CAAC,CAAC,CAAC,CAAW,CAAC;IAC1D,CAAC;CAAA;AAtCD,sDAsCC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./get-form-utils-directory"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./update-index"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./add-form-usage"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./get-app-name"), exports);
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/form/utils/index.ts"],"names":[],"mappings":";;;AAAA,qEAA2C;AAC3C,yDAA+B;AAC/B,2DAAiC;AACjC,yDAA+B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.updateIndex = void 0;
|
|
4
|
+
const fs_1 = require("fs");
|
|
5
|
+
const lodash_1 = require("lodash");
|
|
6
|
+
const utils_1 = require("../../../shared/utils");
|
|
7
|
+
function updateIndex(formsPath, fileName, tree) {
|
|
8
|
+
const formsIndexFilePath = `${formsPath}/index.ts`;
|
|
9
|
+
const newIndexContent = `export * from './${(0, lodash_1.kebabCase)(fileName)}';\n`;
|
|
10
|
+
if (!(0, fs_1.existsSync)(formsIndexFilePath)) {
|
|
11
|
+
tree.write(formsIndexFilePath, newIndexContent);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
(0, utils_1.appendFileContent)(formsIndexFilePath, newIndexContent, tree);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.updateIndex = updateIndex;
|
|
18
|
+
//# sourceMappingURL=update-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-index.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/form/utils/update-index.ts"],"names":[],"mappings":";;;AAAA,2BAAgC;AAEhC,mCAAmC;AACnC,iDAA0D;AAE1D,SAAgB,WAAW,CAAC,SAAiB,EAAE,QAAgB,EAAE,IAAU;IACzE,MAAM,kBAAkB,GAAG,GAAG,SAAS,WAAW,CAAC;IACnD,MAAM,eAAe,GAAG,oBAAoB,IAAA,kBAAS,EAAC,QAAQ,CAAC,MAAM,CAAC;IAEtE,IAAI,CAAC,IAAA,eAAU,EAAC,kBAAkB,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACN,IAAA,yBAAiB,EAAC,kBAAkB,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AATD,kCASC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.libMoveGenerator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const child_process_1 = require("child_process");
|
|
6
|
+
const path = require("path");
|
|
7
|
+
const utils_1 = require("../../shared/utils");
|
|
8
|
+
function libMoveGenerator(tree, options) {
|
|
9
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
10
|
+
const { default: autocomplete } = yield (0, utils_1.dynamicImport)('inquirer-autocomplete-standalone');
|
|
11
|
+
const { name: srcLibraryName, path: srcLibraryPath } = yield (0, utils_1.getLibraryDetailsByName)(tree, options.srcLibName);
|
|
12
|
+
const libPathSegments = srcLibraryPath.split('/');
|
|
13
|
+
const defaultLibraryName = libPathSegments.pop();
|
|
14
|
+
options.app = options.app || (yield (0, utils_1.selectProject)(tree, 'application', 'Select the application: ')).name;
|
|
15
|
+
const isSharedLib = options.app === utils_1.constants.sharedValue;
|
|
16
|
+
options.scope =
|
|
17
|
+
options.scope ||
|
|
18
|
+
(isSharedLib ? '' : yield (0, utils_1.askQuestion)(`Enter the scope (e.g: profile) or '${utils_1.constants.sharedValue}': `));
|
|
19
|
+
options.type = options.type
|
|
20
|
+
? (0, utils_1.validateLibraryType)(options.type)
|
|
21
|
+
: yield autocomplete({
|
|
22
|
+
message: 'Select the library type: ',
|
|
23
|
+
source: (input) => (0, utils_1.filterSource)(input, Object.values(utils_1.LibraryType)),
|
|
24
|
+
});
|
|
25
|
+
const libraryName = options.name ||
|
|
26
|
+
(yield (0, utils_1.askQuestion)('If you want to rename the library, enter its new name. Otherwise just press Enter: ', defaultLibraryName));
|
|
27
|
+
const libDirectoryName = (0, utils_1.getLibDirectoryName)(libraryName, options.scope);
|
|
28
|
+
const libPath = `libs/${path.normalize(`${options.app}/${options.scope}/${options.type}/${libDirectoryName}`)}`;
|
|
29
|
+
(0, child_process_1.execSync)(`npx nx g mv --project=${srcLibraryName} --destination=${libPath}`, { stdio: 'inherit' });
|
|
30
|
+
return () => {
|
|
31
|
+
(0, child_process_1.execSync)('npx nx g lib-tags --skipRepoCheck', { stdio: 'inherit' });
|
|
32
|
+
};
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
exports.libMoveGenerator = libMoveGenerator;
|
|
36
|
+
exports.default = libMoveGenerator;
|
|
37
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/lib-move/generator.ts"],"names":[],"mappings":";;;;AAAA,iDAAyC;AACzC,6BAA6B;AAE7B,8CAU4B;AAG5B,SAAsB,gBAAgB,CAAC,IAAU,EAAE,OAA+B;;QAChF,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,qBAAa,EACnD,kCAAkC,CACnC,CAAC;QAEF,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,MAAM,IAAA,+BAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAE/G,MAAM,eAAe,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,kBAAkB,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC;QAEjD,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,IAAI,EAAE,aAAa,EAAE,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzG,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,KAAK,iBAAS,CAAC,WAAW,CAAC;QAE1D,OAAO,CAAC,KAAK;YACX,OAAO,CAAC,KAAK;gBACb,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAA,mBAAW,EAAC,sCAAsC,iBAAS,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC;QAC3G,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI;YACzB,CAAC,CAAC,IAAA,2BAAmB,EAAC,OAAO,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,MAAM,YAAY,CAAC;gBACjB,OAAO,EAAE,2BAA2B;gBACpC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAC,KAAe,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAW,CAAC,CAAC;aAC7E,CAAC,CAAC;QAEP,MAAM,WAAW,GACf,OAAO,CAAC,IAAI;YACZ,CAAC,MAAM,IAAA,mBAAW,EAChB,qFAAqF,EACrF,kBAAkB,CACnB,CAAC,CAAC;QACL,MAAM,gBAAgB,GAAG,IAAA,2BAAmB,EAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,IAAI,gBAAgB,EAAE,CAAC,EAAE,CAAC;QAEhH,IAAA,wBAAQ,EAAC,yBAAyB,cAAc,kBAAkB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAEnG,OAAO,GAAS,EAAE;YAChB,IAAA,wBAAQ,EAAC,mCAAmC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC;IACJ,CAAC;CAAA;AAtCD,4CAsCC;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.libRemoveGenerator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const child_process_1 = require("child_process");
|
|
6
|
+
const utils_1 = require("../../shared/utils");
|
|
7
|
+
function libRemoveGenerator(tree, options) {
|
|
8
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
9
|
+
const libraryName = options.libName || (yield (0, utils_1.selectProject)(tree, 'library', 'Select the library to remove: ')).name;
|
|
10
|
+
if (!libraryName) {
|
|
11
|
+
throw new Error('No library found!');
|
|
12
|
+
}
|
|
13
|
+
const isConfirmed = yield (0, utils_1.askQuestion)(`Are you sure you want to remove ${libraryName} (y/n)?`);
|
|
14
|
+
if (!isConfirmed) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
(0, child_process_1.execSync)(`npx nx g rm --project=${libraryName}`, { stdio: 'inherit' });
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
exports.libRemoveGenerator = libRemoveGenerator;
|
|
21
|
+
exports.default = libRemoveGenerator;
|
|
22
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/lib-remove/generator.ts"],"names":[],"mappings":";;;;AAAA,iDAAyC;AAEzC,8CAAgE;AAGhE,SAAsB,kBAAkB,CAAC,IAAU,EAAE,OAAiC;;QACpF,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,MAAM,IAAA,qBAAa,EAAC,IAAI,EAAE,SAAS,EAAE,gCAAgC,CAAC,CAAC,CAAC,IAAI,CAAC;QAErH,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAA,mBAAW,EAAC,mCAAmC,WAAW,SAAS,CAAC,CAAC;QAE/F,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAA,wBAAQ,EAAC,yBAAyB,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;CAAA;AAdD,gDAcC;AAED,kBAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.libRenameGenerator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const child_process_1 = require("child_process");
|
|
6
|
+
const utils_1 = require("../../shared/utils");
|
|
7
|
+
function libRenameGenerator(tree, options) {
|
|
8
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
9
|
+
const { name: currentLibraryName, path: currentLibraryPath } = yield (0, utils_1.getLibraryDetailsByName)(tree, options.currentLibName);
|
|
10
|
+
const libPathSegments = currentLibraryPath.split('/');
|
|
11
|
+
const defaultDestLibraryName = libPathSegments.pop();
|
|
12
|
+
const destLibraryName = options.newLibName || (yield (0, utils_1.askQuestion)('Enter a new library name: ', defaultDestLibraryName));
|
|
13
|
+
// Remove `libs` path fragment
|
|
14
|
+
libPathSegments.shift();
|
|
15
|
+
libPathSegments.push(destLibraryName);
|
|
16
|
+
const destLibraryPath = `libs/${libPathSegments.join('/')}`;
|
|
17
|
+
(0, child_process_1.execSync)(`npx nx g mv --project=${currentLibraryName} --destination=${destLibraryPath}`, { stdio: 'inherit' });
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
exports.libRenameGenerator = libRenameGenerator;
|
|
21
|
+
exports.default = libRenameGenerator;
|
|
22
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/lib-rename/generator.ts"],"names":[],"mappings":";;;;AAAA,iDAAyC;AAEzC,8CAA0E;AAG1E,SAAsB,kBAAkB,CAAC,IAAU,EAAE,OAAiC;;QACpF,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAA,+BAAuB,EAC1F,IAAI,EACJ,OAAO,CAAC,cAAc,CACvB,CAAC;QAEF,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,sBAAsB,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,eAAe,GACnB,OAAO,CAAC,UAAU,IAAI,CAAC,MAAM,IAAA,mBAAW,EAAC,4BAA4B,EAAE,sBAAsB,CAAC,CAAC,CAAC;QAElG,8BAA8B;QAC9B,eAAe,CAAC,KAAK,EAAE,CAAC;QACxB,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEtC,MAAM,eAAe,GAAG,QAAQ,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5D,IAAA,wBAAQ,EAAC,yBAAyB,kBAAkB,kBAAkB,eAAe,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACjH,CAAC;CAAA;AAjBD,gDAiBC;AAED,kBAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.libTagsGenerator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const child_process_1 = require("child_process");
|
|
6
|
+
const devkit_1 = require("@nx/devkit");
|
|
7
|
+
const lodash_1 = require("lodash");
|
|
8
|
+
const utils_1 = require("../../shared/utils");
|
|
9
|
+
const utils_2 = require("./utils");
|
|
10
|
+
const context = {
|
|
11
|
+
config: {},
|
|
12
|
+
rules: [],
|
|
13
|
+
log: console.log,
|
|
14
|
+
reload: (tree) => {
|
|
15
|
+
context.config = (0, utils_1.readESLintConfig)(tree).config;
|
|
16
|
+
context.rules = (0, utils_1.getNxRules)(context.config);
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
function libTagsGenerator(tree, options) {
|
|
20
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
const hasUnstagedChanges = !options.skipRepoCheck && (0, child_process_1.execSync)('git status -s').toString('utf8');
|
|
22
|
+
if (hasUnstagedChanges) {
|
|
23
|
+
const shouldContinue = (yield (0, utils_1.askQuestion)('You have unstaged changes. Are you sure you want to continue? (y/n): ')) === 'y';
|
|
24
|
+
if (!shouldContinue) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (options.silent) {
|
|
29
|
+
context.log = lodash_1.noop;
|
|
30
|
+
}
|
|
31
|
+
// #1 Check eslint config nx-boundaries rule
|
|
32
|
+
devkit_1.output.log({ title: devkit_1.output.bold('1. Checking eslint config nx-boundaries rule...') });
|
|
33
|
+
context.config = (0, utils_1.verifyEsLintConfig)(tree);
|
|
34
|
+
// #2 Check projects tags
|
|
35
|
+
devkit_1.output.log({ title: devkit_1.output.bold('2. Checking projects tags...') });
|
|
36
|
+
const projects = (0, devkit_1.getProjects)(tree);
|
|
37
|
+
const applications = [];
|
|
38
|
+
const libraries = [];
|
|
39
|
+
context.rules = (0, utils_1.getNxRules)(context.config);
|
|
40
|
+
projects.forEach((project) => {
|
|
41
|
+
if (project.projectType === 'application') {
|
|
42
|
+
applications.push(project);
|
|
43
|
+
}
|
|
44
|
+
if (project.projectType === 'library' && project.root.startsWith('libs')) {
|
|
45
|
+
libraries.push(project);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
applications.forEach((application) => (0, utils_2.checkApplicationTags)(application, tree, context));
|
|
49
|
+
context.reload(tree);
|
|
50
|
+
libraries.forEach((library) => (0, utils_2.checkLibraryTags)(library, tree, context));
|
|
51
|
+
yield (0, devkit_1.formatFiles)(tree);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
exports.libTagsGenerator = libTagsGenerator;
|
|
55
|
+
exports.default = libTagsGenerator;
|
|
56
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/lib-tags/generator.ts"],"names":[],"mappings":";;;;AAAA,iDAAyC;AACzC,uCAA0F;AAC1F,mCAA8B;AAC9B,8CAAmG;AAGnG,mCAAiE;AAEjE,MAAM,OAAO,GAAmB;IAC9B,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,OAAO,CAAC,GAAG;IAChB,MAAM,EAAE,CAAC,IAAU,EAAE,EAAE;QACrB,OAAO,CAAC,MAAM,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC/C,OAAO,CAAC,KAAK,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;CACF,CAAC;AAEF,SAAsB,gBAAgB,CAAC,IAAU,EAAE,OAA+B;;QAChF,MAAM,kBAAkB,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,IAAA,wBAAQ,EAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEhG,IAAI,kBAAkB,EAAE,CAAC;YACvB,MAAM,cAAc,GAClB,CAAC,MAAM,IAAA,mBAAW,EAAC,uEAAuE,CAAC,CAAC,KAAK,GAAG,CAAC;YAEvG,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO;YACT,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,GAAG,aAAI,CAAC;QACrB,CAAC;QAED,4CAA4C;QAC5C,eAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,eAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,EAAE,CAAC,CAAC;QACtF,OAAO,CAAC,MAAM,GAAG,IAAA,0BAAkB,EAAC,IAAI,CAAC,CAAC;QAE1C,yBAAyB;QACzB,eAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,eAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QACnC,MAAM,YAAY,GAAgC,EAAE,CAAC;QACrD,MAAM,SAAS,GAAgC,EAAE,CAAC;QAElD,OAAO,CAAC,KAAK,GAAG,IAAA,kBAAU,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE3C,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,OAAO,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;gBAC1C,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YAED,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAA,4BAAoB,EAAC,WAAW,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAExF,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAErB,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAA,wBAAgB,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAEzE,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AA7CD,4CA6CC;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Tree } from '@nx/devkit';
|
|
2
|
+
import { Constraint } from '../../../shared/utils';
|
|
3
|
+
export interface LibTagsContext {
|
|
4
|
+
config: Record<string, any>;
|
|
5
|
+
rules: Array<Constraint>;
|
|
6
|
+
log: (message: any, ...optionalParams: Array<any>) => void;
|
|
7
|
+
reload: (tree: Tree) => void;
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/lib-tags/interfaces/context.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./context"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./verify-tag-config"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/lib-tags/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,oDAA0B;AAC1B,8DAAoC"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { ProjectConfiguration, Tree } from '@nx/devkit';
|
|
2
2
|
import { TagType } from '../types';
|
|
3
3
|
import { LibTagsContext } from './context';
|
|
4
|
-
|
|
5
4
|
export interface VerifyTagConfig {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
project: ProjectConfiguration;
|
|
6
|
+
tree: Tree;
|
|
7
|
+
tag?: string;
|
|
8
|
+
tagType: TagType;
|
|
9
|
+
context: LibTagsContext;
|
|
10
|
+
ruleNotFoundCallback?: () => void;
|
|
12
11
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-tag-config.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/lib-tags/interfaces/verify-tag-config.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/lib-tags/types/index.ts"],"names":[],"mappings":";;;AAAA,gDAAsB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/lib-tags/types/tag.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ProjectConfiguration, Tree } from '@nx/devkit';
|
|
2
|
+
import { LibTagsContext } from '../interfaces';
|
|
3
|
+
export declare const checkApplicationTags: (project: ProjectConfiguration, tree: Tree, context: LibTagsContext) => void;
|
|
4
|
+
export declare const checkLibraryTags: (project: ProjectConfiguration, tree: Tree, context: LibTagsContext) => void;
|