@ronas-it/nx-generators 0.8.1 → 0.9.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/README.md +90 -18
- package/generators.json +20 -0
- package/package.json +1 -1
- package/src/generators/code-checks/files/.eslint.ronasit.json.template +186 -0
- package/src/generators/code-checks/files/.eslintrc.json.template +1 -1
- package/src/generators/expo-app/app-files/README.md.template +24 -9
- package/src/generators/expo-app/app-files/eas.json.template +25 -14
- package/src/generators/expo-app/generator.js +10 -7
- package/src/generators/expo-app/generator.js.map +1 -1
- package/src/generators/expo-app/scripts.d.ts +3 -2
- package/src/generators/expo-app/scripts.js +3 -2
- package/src/generators/expo-app/scripts.js.map +1 -1
- package/src/generators/form/generator.js +1 -1
- package/src/generators/form/generator.js.map +1 -1
- 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 -1
- package/src/generators/form/utils/get-form-utils-directory.js +15 -5
- package/src/generators/form/utils/get-form-utils-directory.js.map +1 -1
- package/src/generators/form/utils/index.d.ts +1 -0
- package/src/generators/form/utils/index.js +1 -0
- package/src/generators/form/utils/index.js.map +1 -1
- package/src/generators/lib-move/generator.d.ts +4 -0
- package/src/generators/lib-move/generator.js +34 -0
- package/src/generators/lib-move/generator.js.map +1 -0
- package/src/generators/lib-move/schema.d.ts +7 -0
- package/src/generators/lib-move/schema.json +34 -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-remove/schema.d.ts +3 -0
- package/src/generators/lib-remove/schema.json +14 -0
- package/src/generators/lib-rename/generator.d.ts +4 -0
- package/src/generators/lib-rename/generator.js +24 -0
- package/src/generators/lib-rename/generator.js.map +1 -0
- package/src/generators/lib-rename/schema.d.ts +4 -0
- package/src/generators/lib-rename/schema.json +19 -0
- package/src/generators/lib-tags/generator.js +7 -4
- package/src/generators/lib-tags/generator.js.map +1 -1
- package/src/generators/lib-tags/interfaces/context.d.ts +2 -0
- package/src/generators/lib-tags/schema.d.ts +1 -0
- package/src/generators/lib-tags/schema.json +5 -0
- package/src/generators/lib-tags/utils/check-lib-tags.js +18 -0
- package/src/generators/lib-tags/utils/check-lib-tags.js.map +1 -1
- package/src/generators/next-app/generator.js +1 -1
- package/src/generators/next-app/generator.js.map +1 -1
- package/src/generators/react-component/files/component.tsx.template +13 -3
- package/src/generators/react-component/generator.js +2 -1
- package/src/generators/react-component/generator.js.map +1 -1
- package/src/generators/react-component/schema.d.ts +1 -0
- package/src/generators/react-component/schema.json +5 -0
- package/src/generators/react-lib/files/lib/component.tsx.template +13 -3
- package/src/generators/react-lib/generator.js +12 -24
- package/src/generators/react-lib/generator.js.map +1 -1
- package/src/generators/react-lib/schema.d.ts +1 -0
- package/src/generators/react-lib/schema.json +4 -0
- package/src/generators/repo-config/files/README.md.template +3 -10
- package/src/shared/dependencies.d.ts +1 -0
- package/src/shared/dependencies.js +1 -0
- package/src/shared/dependencies.js.map +1 -1
- package/src/shared/generators/auth/generator.d.ts +2 -4
- package/src/shared/generators/auth/generator.js +3 -0
- package/src/shared/generators/auth/generator.js.map +1 -1
- package/src/shared/generators/auth/schema.d.ts +4 -0
- package/src/shared/generators/auth/schema.json +27 -0
- package/src/shared/generators/form-utils/generator.d.ts +0 -1
- package/src/shared/generators/form-utils/generator.js.map +1 -1
- package/src/shared/generators/ui-kitten/generator.d.ts +1 -2
- package/src/shared/generators/ui-kitten/generator.js +1 -9
- package/src/shared/generators/ui-kitten/generator.js.map +1 -1
- package/src/shared/generators/ui-kitten/schema.d.ts +0 -1
- package/src/shared/generators/ui-kitten/schema.json +1 -7
- package/src/shared/utils/cli-utils.d.ts +14 -1
- package/src/shared/utils/cli-utils.js +56 -1
- package/src/shared/utils/cli-utils.js.map +1 -1
- package/src/shared/utils/config-utils.d.ts +1 -1
- package/src/shared/utils/config-utils.js +13 -10
- package/src/shared/utils/config-utils.js.map +1 -1
- 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.d.ts +1 -0
- package/src/shared/utils/index.js +1 -0
- package/src/shared/utils/index.js.map +1 -1
- package/src/generators/code-checks/files/.eslint.ronasit.js.template +0 -186
|
@@ -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"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Tree } from '@nx/devkit';
|
|
2
|
+
export declare function getFormUtilsDirectory(tree: Tree, appName: string): Promise<string>;
|
|
@@ -3,18 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getFormUtilsDirectory = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const utils_1 = require("../../../shared/utils");
|
|
6
|
-
|
|
6
|
+
const generators_1 = require("../../../shared/generators");
|
|
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) {
|
|
7
13
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
8
14
|
const { default: autocomplete } = yield (0, utils_1.dynamicImport)('inquirer-autocomplete-standalone');
|
|
9
|
-
const
|
|
10
|
-
const formUtilsLibsPaths = (0, utils_1.searchNxLibsPaths)(utilsLibsPaths, 'utils/form/src', 'endsWith');
|
|
15
|
+
const formUtilsLibsPaths = getFormUtilsPaths();
|
|
11
16
|
if (!formUtilsLibsPaths.length) {
|
|
12
|
-
|
|
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]);
|
|
13
20
|
}
|
|
14
21
|
if (formUtilsLibsPaths.length > 1) {
|
|
22
|
+
if (appName === utils_1.constants.sharedValue) {
|
|
23
|
+
return (0, utils_1.searchAliasPath)(formUtilsLibsPaths.find((path) => (0, get_app_name_1.getAppName)(path) === utils_1.constants.sharedValue));
|
|
24
|
+
}
|
|
15
25
|
formUtilsLibsPaths[0] = yield autocomplete({
|
|
16
26
|
message: 'Select the path of the library with the form utilities: ',
|
|
17
|
-
source: (input) => (0, utils_1.filterSource)(input, formUtilsLibsPaths)
|
|
27
|
+
source: (input) => (0, utils_1.filterSource)(input, formUtilsLibsPaths.filter((path) => [appName, utils_1.constants.sharedValue].includes((0, get_app_name_1.getAppName)(path))))
|
|
18
28
|
});
|
|
19
29
|
}
|
|
20
30
|
return (0, utils_1.searchAliasPath)(formUtilsLibsPaths[0]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-form-utils-directory.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/form/utils/get-form-utils-directory.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"get-form-utils-directory.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/form/utils/get-form-utils-directory.ts"],"names":[],"mappings":";;;;AAAA,iDAS+B;AAC/B,2DAAmE;AAEnE,iDAA4C;AAE5C,SAAS,iBAAiB;IACxB,MAAM,cAAc,GAAG,IAAA,sBAAc,EAAC,CAAC,mBAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,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,EAAoD,kCAAkC,CAAC,CAAC;QAE7I,MAAM,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;QAE/C,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,qBAAqB,GAAG,CAAC,MAAM,IAAA,qBAAa,EAAC,IAAI,EAAE,aAAa,EAAE,iFAAiF,CAAC,CAAC,CAAC,IAAI,CAAC;YACjK,MAAM,IAAA,kCAAqB,EAAC,IAAI,EAAE,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC,CAAC;YAExE,OAAO,IAAA,uBAAe,EAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,IAAI,OAAO,KAAK,iBAAS,CAAC,WAAW,EAAE,CAAC;gBACtC,OAAO,IAAA,uBAAe,EAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,yBAAU,EAAC,IAAI,CAAC,KAAK,iBAAS,CAAC,WAAW,CAAC,CAAC,CAAA;YACvG,CAAC;YAED,kBAAkB,CAAC,CAAC,CAAC,GAAG,MAAM,YAAY,CAAC;gBACzC,OAAO,EAAE,0DAA0D;gBACnE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAC,KAAK,EAAE,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,CAAC;aACzI,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAA,uBAAe,EAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;CAAA;AAxBD,sDAwBC"}
|
|
@@ -4,4 +4,5 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
tslib_1.__exportStar(require("./get-form-utils-directory"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./update-index"), exports);
|
|
6
6
|
tslib_1.__exportStar(require("./add-form-usage"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./get-app-name"), exports);
|
|
7
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +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"}
|
|
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,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.libMoveGenerator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const utils_1 = require("../../shared/utils");
|
|
6
|
+
const child_process_1 = require("child_process");
|
|
7
|
+
const path = require("path");
|
|
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 = options.scope || (isSharedLib ? '' : yield (0, utils_1.askQuestion)(`Enter the scope (e.g: profile) or '${utils_1.constants.sharedValue}': `));
|
|
17
|
+
options.type = options.type ? (0, utils_1.validateLibraryType)(options.type) : yield autocomplete({
|
|
18
|
+
message: 'Select the library type: ',
|
|
19
|
+
source: (input) => (0, utils_1.filterSource)(input, Object.values(utils_1.LibraryType))
|
|
20
|
+
});
|
|
21
|
+
const libraryName = options.name || (yield (0, utils_1.askQuestion)('If you want to rename the library, enter its new name. Otherwise just press Enter: ', defaultLibraryName));
|
|
22
|
+
const libDirectoryName = (0, utils_1.getLibDirectoryName)(libraryName, options.scope);
|
|
23
|
+
const libPath = path.normalize(`${options.app}/${options.scope}/${options.type}/${libDirectoryName}`);
|
|
24
|
+
// NOTE: Disable selection for library name (as provided / as derived) by excluding stdio from options
|
|
25
|
+
const log = (0, child_process_1.execSync)(`npx nx g mv --project=${srcLibraryName} --destination=${libPath}`);
|
|
26
|
+
console.log(log.toString('utf8'));
|
|
27
|
+
return () => {
|
|
28
|
+
(0, child_process_1.execSync)('npx nx g lib-tags', { stdio: 'inherit' });
|
|
29
|
+
};
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
exports.libMoveGenerator = libMoveGenerator;
|
|
33
|
+
exports.default = libMoveGenerator;
|
|
34
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/lib-move/generator.ts"],"names":[],"mappings":";;;;AAEA,8CAU4B;AAC5B,iDAAyC;AACzC,6BAA6B;AAE7B,SAAsB,gBAAgB,CACpC,IAAU,EACV,OAA+B;;QAE/B,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,qBAAa,EAAoD,kCAAkC,CAAC,CAAC;QAE7I,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,GAAG,OAAO,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAA,mBAAW,EAAC,sCAAsC,iBAAS,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC;QAC1I,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,2BAAmB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC;YACnF,OAAO,EAAE,2BAA2B;YACpC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAW,CAAC,CAAC;SACnE,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,KAAI,MAAM,IAAA,mBAAW,EAAC,qFAAqF,EAAE,kBAAkB,CAAC,CAAA,CAAC;QACjK,MAAM,gBAAgB,GAAG,IAAA,2BAAmB,EAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,IAAI,gBAAgB,EAAE,CAAC,CAAC;QAEtG,sGAAsG;QACtG,MAAM,GAAG,GAAG,IAAA,wBAAQ,EAAC,yBAAyB,cAAc,kBAAkB,OAAO,EAAE,CAAC,CAAC;QAEzF,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAElC,OAAO,GAAG,EAAE;YACV,IAAA,wBAAQ,EAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC;IACJ,CAAC;CAAA;AAjCD,4CAiCC;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "Lib move utility",
|
|
4
|
+
"title": "",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"srcLibName": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Name of the library (project name)",
|
|
10
|
+
"default": ""
|
|
11
|
+
},
|
|
12
|
+
"app": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "Name of the app",
|
|
15
|
+
"default": ""
|
|
16
|
+
},
|
|
17
|
+
"scope": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Name of the scope",
|
|
20
|
+
"default": ""
|
|
21
|
+
},
|
|
22
|
+
"type": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "Type of the library",
|
|
25
|
+
"default": ""
|
|
26
|
+
},
|
|
27
|
+
"name": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"description": "New name of the library",
|
|
30
|
+
"default": ""
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"required": []
|
|
34
|
+
}
|
|
@@ -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 utils_1 = require("../../shared/utils");
|
|
6
|
+
const child_process_1 = require("child_process");
|
|
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":";;;;AAEA,8CAAgE;AAChE,iDAAyC;AAEzC,SAAsB,kBAAkB,CACtC,IAAU,EACV,OAAiC;;QAEjC,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;AAjBD,gDAiBC;AAED,kBAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "Lib remove utility",
|
|
4
|
+
"title": "",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"libName": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Name of the library (project name)",
|
|
10
|
+
"default": ""
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"required": []
|
|
14
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.libRenameGenerator = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const utils_1 = require("../../shared/utils");
|
|
6
|
+
const child_process_1 = require("child_process");
|
|
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 = libPathSegments.join('/');
|
|
17
|
+
// NOTE: Disable selection for library name (as provided / as derived) by excluding stdio from options
|
|
18
|
+
const log = (0, child_process_1.execSync)(`npx nx g mv --project=${currentLibraryName} --destination=${destLibraryPath}`);
|
|
19
|
+
console.log(log.toString('utf8'));
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
exports.libRenameGenerator = libRenameGenerator;
|
|
23
|
+
exports.default = libRenameGenerator;
|
|
24
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/lib-rename/generator.ts"],"names":[],"mappings":";;;;AAEA,8CAA0E;AAC1E,iDAAyC;AAEzC,SAAsB,kBAAkB,CACtC,IAAU,EACV,OAAiC;;QAEjC,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,MAAM,IAAA,+BAAuB,EAAC,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAE3H,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,MAAM,sBAAsB,GAAG,eAAe,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,KAAI,MAAM,IAAA,mBAAW,EAAC,4BAA4B,EAAE,sBAAsB,CAAC,CAAA,CAAC;QAEtH,8BAA8B;QAC9B,eAAe,CAAC,KAAK,EAAE,CAAC;QACxB,eAAe,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEtC,MAAM,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,sGAAsG;QACtG,MAAM,GAAG,GAAG,IAAA,wBAAQ,EAAC,yBAAyB,kBAAkB,kBAAkB,eAAe,EAAE,CAAC,CAAC;QAErG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,CAAC;CAAA;AAnBD,gDAmBC;AAED,kBAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/schema",
|
|
3
|
+
"$id": "Lib rename utility",
|
|
4
|
+
"title": "",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"currentLibName": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"description": "Name of the library (project name)",
|
|
10
|
+
"default": ""
|
|
11
|
+
},
|
|
12
|
+
"newLibName": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "New library name",
|
|
15
|
+
"default": ""
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"required": []
|
|
19
|
+
}
|
|
@@ -10,11 +10,15 @@ const utils_2 = require("./utils");
|
|
|
10
10
|
const context = {
|
|
11
11
|
config: {},
|
|
12
12
|
rules: [],
|
|
13
|
-
log: console.log
|
|
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
|
+
}
|
|
14
18
|
};
|
|
15
19
|
function libTagsGenerator(tree, options) {
|
|
16
20
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
const hasUnstagedChanges = (0, child_process_1.execSync)('git status -s').toString('utf8');
|
|
21
|
+
const hasUnstagedChanges = !options.skipRepoCheck && (0, child_process_1.execSync)('git status -s').toString('utf8');
|
|
18
22
|
if (hasUnstagedChanges) {
|
|
19
23
|
const shouldContinue = (yield (0, utils_1.askQuestion)('You have unstaged changes. Are you sure you want to continue? (y/n): ')) === 'y';
|
|
20
24
|
if (!shouldContinue) {
|
|
@@ -42,8 +46,7 @@ function libTagsGenerator(tree, options) {
|
|
|
42
46
|
}
|
|
43
47
|
});
|
|
44
48
|
applications.forEach((application) => (0, utils_2.checkApplicationTags)(application, tree, context));
|
|
45
|
-
context.
|
|
46
|
-
context.rules = (0, utils_1.getNxRules)(context.config);
|
|
49
|
+
context.reload(tree);
|
|
47
50
|
libraries.forEach((library) => (0, utils_2.checkLibraryTags)(library, tree, context));
|
|
48
51
|
yield (0, devkit_1.formatFiles)(tree);
|
|
49
52
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/lib-tags/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAA0F;AAE1F,iDAAyC;AACzC,8CAAmG;AACnG,mCAA8B;AAC9B,mCAAiE;AAGjE,MAAM,OAAO,GAAmB;IAC9B,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,OAAO,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/lib-tags/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAA0F;AAE1F,iDAAyC;AACzC,8CAAmG;AACnG,mCAA8B;AAC9B,mCAAiE;AAGjE,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,CACpC,IAAU,EACV,OAA+B;;QAE/B,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,GAAG,CAAA,MAAM,IAAA,mBAAW,EAAC,uEAAuE,CAAC,MAAK,GAAG,CAAC;YAE1H,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;AA/CD,4CA+CC;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { Tree } from '@nx/devkit';
|
|
1
2
|
import { Constraint } from '../../../shared/utils';
|
|
2
3
|
export interface LibTagsContext {
|
|
3
4
|
config: Record<string, any>;
|
|
4
5
|
rules: Array<Constraint>;
|
|
5
6
|
log: (message: any, ...optionalParams: Array<any>) => void;
|
|
7
|
+
reload: (tree: Tree) => void;
|
|
6
8
|
}
|
|
@@ -24,6 +24,20 @@ const verifyLibraryTag = (project, tree, tag, tagType, context, ruleNotFoundCall
|
|
|
24
24
|
const callback = ruleNotFoundCallback || defaultRuleNotFoundCallback;
|
|
25
25
|
callback();
|
|
26
26
|
}
|
|
27
|
+
const tagFromLibPath = getTagFromLibPath(project.root, tagType);
|
|
28
|
+
const isInvalidTag = tag !== `${tagType}:${tagFromLibPath}`;
|
|
29
|
+
if (isInvalidTag) {
|
|
30
|
+
context.log(`Invalid tag ${tag}. Updating...\n`);
|
|
31
|
+
project = (0, devkit_1.readProjectConfiguration)(tree, project.name);
|
|
32
|
+
const filteredTags = project.tags.filter((item) => item !== tag);
|
|
33
|
+
project.tags = [...filteredTags, `${tagType}:${tagFromLibPath}`];
|
|
34
|
+
(0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
|
|
35
|
+
if (tagType === 'scope') {
|
|
36
|
+
(0, utils_1.addNxScopeTag)(tree, tagFromLibPath);
|
|
37
|
+
context.reload(tree);
|
|
38
|
+
}
|
|
39
|
+
verifyLibraryTag(project, tree, `${tagType}:${tagFromLibPath}`, tagType, context);
|
|
40
|
+
}
|
|
27
41
|
}
|
|
28
42
|
else {
|
|
29
43
|
context.log(`Missing ${tagType} tag for ${project.name}. Adding...`);
|
|
@@ -38,6 +52,7 @@ const verifyLibraryTag = (project, tree, tag, tagType, context, ruleNotFoundCall
|
|
|
38
52
|
(0, devkit_1.updateProjectConfiguration)(tree, project.name, Object.assign(Object.assign({}, project), { tags: [...project.tags, `${tagType}:${tag}`] }));
|
|
39
53
|
if (tagType === 'scope') {
|
|
40
54
|
(0, utils_1.addNxScopeTag)(tree, tag);
|
|
55
|
+
context.reload(tree);
|
|
41
56
|
}
|
|
42
57
|
}
|
|
43
58
|
};
|
|
@@ -50,6 +65,7 @@ const checkApplicationTags = (project, tree, context) => {
|
|
|
50
65
|
if (!appTagRule) {
|
|
51
66
|
context.log(`Missing app tag rule for ${appTag}. Adding...\n`);
|
|
52
67
|
(0, utils_1.addNxAppTag)(tree, appTag.replace('app:', ''));
|
|
68
|
+
context.reload(tree);
|
|
53
69
|
}
|
|
54
70
|
}
|
|
55
71
|
else {
|
|
@@ -57,6 +73,7 @@ const checkApplicationTags = (project, tree, context) => {
|
|
|
57
73
|
const projectAppTag = project.root.split('/').pop();
|
|
58
74
|
(0, devkit_1.updateProjectConfiguration)(tree, project.name, Object.assign(Object.assign({}, project), { tags: [...project.tags, `app:${projectAppTag}`] }));
|
|
59
75
|
(0, utils_1.addNxAppTag)(tree, projectAppTag);
|
|
76
|
+
context.reload(tree);
|
|
60
77
|
}
|
|
61
78
|
if (!hasTypeTag) {
|
|
62
79
|
context.log(`Missing type tag for ${project.name}. Adding...`);
|
|
@@ -74,6 +91,7 @@ const checkLibraryTags = (project, tree, context) => {
|
|
|
74
91
|
verifyLibraryTag(project, tree, scopeTag, 'scope', context, () => {
|
|
75
92
|
context.log(`Missing scope tag rule for ${scopeTag}. Adding...`);
|
|
76
93
|
(0, utils_1.addNxScopeTag)(tree, scopeTag.replace('scope:', ''));
|
|
94
|
+
context.reload(tree);
|
|
77
95
|
});
|
|
78
96
|
verifyLibraryTag(project, tree, typeTag, 'type', context);
|
|
79
97
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-lib-tags.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/lib-tags/utils/check-lib-tags.ts"],"names":[],"mappings":";;;AAAA,uCAA8G;AAC9G,iDAA8E;AAK9E,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,IAAa,EAAU,EAAE;IACnE,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,KAAK;YACR,OAAO,aAAa,CAAC;QACvB,KAAK,OAAO;YACV,OAAO,aAAa,KAAK,iBAAS,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAS,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjG,KAAK,MAAM;YACT,OAAO,aAAa,KAAK,iBAAS,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,OAA6B,EAC7B,IAAU,EACV,GAAW,EACX,OAAgB,EAChB,OAAuB,EACvB,oBAAiC,EAC3B,EAAE;IACR,MAAM,2BAA2B,GAAG,GAAS,EAAE;QAC7C,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,iBAAiB,GAAG,4CAA4C,CAAC,CAAC;IACtG,CAAC,CAAC;IAEF,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,GAAG,CAAC,CAAC;QAErE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,oBAAoB,IAAI,2BAA2B,CAAC;YAErE,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,YAAY,OAAO,CAAC,IAAI,aAAa,CAAC,CAAC;QAErE,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEvD,MAAM,GAAG,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAErD,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,QAAQ,GAAG,EAAE,CAAC,CAAC;YAEnF,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,4CAA4C,CAAC,CAAC;YAChG,CAAC;QACH,CAAC;QAED,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,IAAI,kCAAO,OAAO,KAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC,IAAG,CAAC;QAE7G,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,IAAA,qBAAa,EAAC,IAAI,EAAG,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"check-lib-tags.js","sourceRoot":"","sources":["../../../../../../plugin/src/generators/lib-tags/utils/check-lib-tags.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ function nextAppGenerator(tree, options) {
|
|
|
22
22
|
yield (0, generators_1.runAppEnvGenerator)(tree, options);
|
|
23
23
|
const shouldGenerateStoreLib = (yield (0, utils_1.askQuestion)('Do you want to create store lib? (y/n): ')) === 'y';
|
|
24
24
|
if (shouldGenerateStoreLib) {
|
|
25
|
-
(0,
|
|
25
|
+
yield (0, generators_1.runStoreGenerator)(tree, Object.assign(Object.assign({}, options), { baseGeneratorType: enums_1.BaseGeneratorType.NEXT_APP }));
|
|
26
26
|
}
|
|
27
27
|
const shouldGenerateApiClientLib = shouldGenerateStoreLib && (yield (0, utils_1.askQuestion)('Do you want to create api client lib? (y/n): ')) === 'y';
|
|
28
28
|
if (shouldGenerateApiClientLib) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/next-app/generator.ts"],"names":[],"mappings":";;;;AAAA,iDAAyC;AACzC,uCAQoB;AAEpB,2BAAgC;AAChC,4DAAyD;AACzD,8CAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/next-app/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
import React, { Fragment, ReactElement } from 'react';
|
|
1
|
+
import React, { <% if(withForwardRef) { %>forwardRef, ForwardedRef, <% } %>Fragment, ReactElement } from 'react';
|
|
2
2
|
|
|
3
|
-
interface <%=
|
|
3
|
+
interface <%= name %>Props {
|
|
4
4
|
// TODO: Describe props
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
<% if(withForwardRef) { %>
|
|
8
|
+
export const <%= name %> = forwardRef(function Component(
|
|
9
|
+
props: <%= name %>Props,
|
|
10
|
+
ref: ForwardedRef<>, // TODO: add ref type
|
|
11
|
+
): ReactElement {
|
|
12
|
+
// TODO: Implement component
|
|
13
|
+
return <Fragment />;
|
|
14
|
+
});
|
|
15
|
+
<% } else { %>
|
|
16
|
+
export function <%= name %>(props: <%= name %>Props): ReactElement {
|
|
8
17
|
// TODO: Implement component
|
|
9
18
|
return <Fragment />;
|
|
10
19
|
}
|
|
20
|
+
<% } %>
|
|
@@ -20,6 +20,7 @@ function reactComponentGenerator(tree, options) {
|
|
|
20
20
|
});
|
|
21
21
|
options.name = options.name || (yield (0, utils_1.askQuestion)('Enter the name of the component (e.g: AppButton): '));
|
|
22
22
|
options.subcomponent = options.subcomponent || (yield (0, utils_1.askQuestion)('Generate component inside components folder? (y/n): ')) === 'y';
|
|
23
|
+
options.withForwardRef = options.withForwardRef || (yield (0, utils_1.askQuestion)('Generate component with forwardRef? (y/n): ')) === 'y';
|
|
23
24
|
const libRootPath = `${libPath}/lib`;
|
|
24
25
|
const componentsPath = `${libRootPath}/components`;
|
|
25
26
|
const componentPath = options.subcomponent
|
|
@@ -27,7 +28,7 @@ function reactComponentGenerator(tree, options) {
|
|
|
27
28
|
: libRootPath;
|
|
28
29
|
const shouldUpdateSrcIndex = !(0, fs_1.existsSync)(libRootPath);
|
|
29
30
|
const shouldUpdateLibIndex = !(0, fs_1.existsSync)(componentsPath) && options.subcomponent;
|
|
30
|
-
(0, devkit_1.generateFiles)(tree, path.join(__dirname, `files`), componentPath, Object.assign(Object.assign({}, options), {
|
|
31
|
+
(0, devkit_1.generateFiles)(tree, path.join(__dirname, `files`), componentPath, Object.assign(Object.assign({}, options), { name: (0, utils_1.formatName)(options.name, true) }));
|
|
31
32
|
const updateIndexes = () => {
|
|
32
33
|
const componentsIndexFilePath = `${libRootPath}/components/index.ts`;
|
|
33
34
|
if (shouldUpdateSrcIndex) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/react-component/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAA8D;AAC9D,6BAA6B;AAC7B,mCAAmC;AAEnC,8CAQ4B;AAC5B,2BAAgC;AAEhC,SAAsB,uBAAuB,CAC3C,IAAU,EACV,OAAsC;;QAEtC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,qBAAa,EAAoD,kCAAkC,CAAC,CAAC;QAE7I,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,CAAC,mBAAW,CAAC,QAAQ,EAAE,mBAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3E,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;YACjC,OAAO,EAAE,yBAAyB;YAClC,MAAM,EAAE,CAAO,KAAK,EAAE,EAAE;gBACtB,MAAM,mBAAmB,GAAG,IAAA,yBAAiB,EAAC,WAAW,EAAE,KAAK,CAAC,CAAA;gBAEjE,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAC7D,CAAC,CAAA;SACF,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,KAAI,MAAM,IAAA,mBAAW,EAAC,oDAAoD,CAAC,CAAA,CAAC;QACvG,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,CAAA,MAAM,IAAA,mBAAW,EAAC,sDAAsD,CAAC,MAAK,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/react-component/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,11 @@
|
|
|
17
17
|
"type": "boolean",
|
|
18
18
|
"description": "Generate a folder for components",
|
|
19
19
|
"default": false
|
|
20
|
+
},
|
|
21
|
+
"withForwardRef": {
|
|
22
|
+
"type": "boolean",
|
|
23
|
+
"description": "Generate a component with forwardRef",
|
|
24
|
+
"default": false
|
|
20
25
|
}
|
|
21
26
|
},
|
|
22
27
|
"required": []
|
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
import React, { Fragment, ReactElement } from 'react';
|
|
1
|
+
import React, { <% if(withComponentForwardRef) { %>forwardRef, ForwardedRef, <% } %>Fragment, ReactElement } from 'react';
|
|
2
2
|
|
|
3
|
-
interface <%=
|
|
3
|
+
interface <%= name %>Props {
|
|
4
4
|
// TODO: Describe props
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
<% if(withComponentForwardRef) { %>
|
|
8
|
+
export const <%= name %> = forwardRef(function Component(
|
|
9
|
+
props: <%= name %>Props,
|
|
10
|
+
ref: ForwardedRef<>, // TODO: add ref type
|
|
11
|
+
): ReactElement {
|
|
12
|
+
// TODO: Implement component
|
|
13
|
+
return <Fragment />;
|
|
14
|
+
});
|
|
15
|
+
<% } else { %>
|
|
16
|
+
export function <%= name %>(props: <%= name %>Props): ReactElement {
|
|
8
17
|
// TODO: Implement component
|
|
9
18
|
return <Fragment />;
|
|
10
19
|
}
|
|
20
|
+
<% } %>
|