@ronas-it/nx-generators 0.10.2 → 0.10.4
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/.eslintrc.json +37 -0
- package/README.md +10 -1
- package/jest.config.ts +10 -0
- package/package.json +2 -2
- package/project.json +61 -0
- package/src/generators/code-checks/config.ts +17 -0
- package/src/generators/code-checks/files/.eslintrc.json.template +173 -1
- package/src/generators/code-checks/generator.ts +68 -0
- package/src/generators/code-checks/scripts.ts +5 -0
- package/src/generators/entity-api/generator.ts +127 -0
- package/src/generators/expo-app/generator.ts +152 -0
- package/src/generators/expo-app/scripts.ts +12 -0
- package/src/generators/form/generator.ts +61 -0
- package/src/generators/form/utils/add-form-usage.ts +99 -0
- package/src/generators/form/utils/get-app-name.ts +3 -0
- package/src/generators/form/utils/get-form-utils-directory.ts +59 -0
- package/src/generators/form/utils/update-index.ts +15 -0
- package/src/generators/lib-move/generator.ts +57 -0
- package/src/generators/lib-remove/generator.ts +22 -0
- package/src/generators/lib-rename/generator.ts +25 -0
- package/src/generators/lib-tags/generator.ts +66 -0
- package/src/generators/lib-tags/interfaces/context.ts +9 -0
- package/src/generators/lib-tags/interfaces/index.ts +2 -0
- package/src/generators/lib-tags/interfaces/verify-tag-config.ts +12 -0
- package/src/generators/lib-tags/types/index.ts +1 -0
- package/src/generators/lib-tags/types/tag.ts +1 -0
- package/src/generators/lib-tags/utils/check-lib-tags.ts +145 -0
- package/src/generators/next-app/generator.ts +104 -0
- package/src/generators/react-component/generator.ts +80 -0
- package/src/generators/react-lib/generator.ts +86 -0
- package/src/generators/repo-config/generator.ts +44 -0
- package/src/generators/repo-config/scripts.ts +3 -0
- package/src/shared/dependencies.ts +76 -0
- package/src/shared/enums/base-generator-type.ts +4 -0
- package/src/shared/generators/api-client/generator.ts +43 -0
- package/src/shared/generators/app-env/generator.ts +35 -0
- package/src/shared/generators/app-env/lib-files/shared/utils/app-env/src/app-env.ts.template +1 -1
- package/src/shared/generators/auth/generator.ts +100 -0
- package/src/shared/generators/form-utils/generator.ts +22 -0
- package/src/shared/generators/rn-styles/generator.ts +44 -0
- package/src/shared/generators/storage/generator.ts +29 -0
- package/src/shared/generators/store/generator.ts +42 -0
- package/src/shared/generators/store/schema.d.ts +1 -1
- package/src/shared/generators/ui-kitten/generator.ts +51 -0
- package/src/shared/templates/config-template.json +2 -12
- package/src/shared/utils/cli-utils.ts +164 -0
- package/src/shared/utils/config-utils.ts +159 -0
- package/src/shared/utils/constants.ts +3 -0
- package/src/shared/utils/dynamic-import.ts +3 -0
- package/src/shared/utils/format-utils.ts +15 -0
- package/src/shared/utils/get-lib-directory-name.ts +13 -0
- package/src/shared/utils/ts-utils.ts +20 -0
- package/tsconfig.json +16 -0
- package/tsconfig.lib.json +10 -0
- package/tsconfig.spec.json +9 -0
- package/src/generators/code-checks/config.d.ts +0 -18
- package/src/generators/code-checks/config.js +0 -20
- package/src/generators/code-checks/config.js.map +0 -1
- package/src/generators/code-checks/generator.d.ts +0 -4
- package/src/generators/code-checks/generator.js +0 -53
- package/src/generators/code-checks/generator.js.map +0 -1
- package/src/generators/code-checks/scripts.d.ts +0 -6
- package/src/generators/code-checks/scripts.js +0 -8
- package/src/generators/code-checks/scripts.js.map +0 -1
- package/src/generators/entity-api/generator.d.ts +0 -4
- package/src/generators/entity-api/generator.js +0 -84
- package/src/generators/entity-api/generator.js.map +0 -1
- package/src/generators/expo-app/generator.d.ts +0 -4
- package/src/generators/expo-app/generator.js +0 -93
- package/src/generators/expo-app/generator.js.map +0 -1
- package/src/generators/expo-app/scripts.d.ts +0 -13
- package/src/generators/expo-app/scripts.js +0 -15
- package/src/generators/expo-app/scripts.js.map +0 -1
- package/src/generators/form/generator.d.ts +0 -4
- package/src/generators/form/generator.js +0 -48
- package/src/generators/form/generator.js.map +0 -1
- package/src/generators/form/utils/add-form-usage.d.ts +0 -1
- package/src/generators/form/utils/add-form-usage.js +0 -67
- package/src/generators/form/utils/add-form-usage.js.map +0 -1
- package/src/generators/form/utils/get-app-name.d.ts +0 -1
- package/src/generators/form/utils/get-app-name.js +0 -8
- package/src/generators/form/utils/get-app-name.js.map +0 -1
- package/src/generators/form/utils/get-form-utils-directory.d.ts +0 -2
- package/src/generators/form/utils/get-form-utils-directory.js +0 -34
- package/src/generators/form/utils/get-form-utils-directory.js.map +0 -1
- package/src/generators/form/utils/index.js +0 -8
- package/src/generators/form/utils/index.js.map +0 -1
- package/src/generators/form/utils/update-index.d.ts +0 -2
- package/src/generators/form/utils/update-index.js +0 -18
- package/src/generators/form/utils/update-index.js.map +0 -1
- package/src/generators/lib-move/generator.d.ts +0 -4
- package/src/generators/lib-move/generator.js +0 -34
- package/src/generators/lib-move/generator.js.map +0 -1
- package/src/generators/lib-remove/generator.d.ts +0 -4
- package/src/generators/lib-remove/generator.js +0 -22
- package/src/generators/lib-remove/generator.js.map +0 -1
- package/src/generators/lib-rename/generator.d.ts +0 -4
- package/src/generators/lib-rename/generator.js +0 -24
- package/src/generators/lib-rename/generator.js.map +0 -1
- package/src/generators/lib-tags/generator.d.ts +0 -4
- package/src/generators/lib-tags/generator.js +0 -56
- package/src/generators/lib-tags/generator.js.map +0 -1
- package/src/generators/lib-tags/interfaces/context.d.ts +0 -8
- package/src/generators/lib-tags/interfaces/context.js +0 -3
- package/src/generators/lib-tags/interfaces/context.js.map +0 -1
- package/src/generators/lib-tags/interfaces/index.d.ts +0 -1
- package/src/generators/lib-tags/interfaces/index.js +0 -5
- package/src/generators/lib-tags/interfaces/index.js.map +0 -1
- package/src/generators/lib-tags/utils/check-lib-tags.d.ts +0 -4
- package/src/generators/lib-tags/utils/check-lib-tags.js +0 -99
- package/src/generators/lib-tags/utils/check-lib-tags.js.map +0 -1
- package/src/generators/lib-tags/utils/index.js +0 -5
- package/src/generators/lib-tags/utils/index.js.map +0 -1
- package/src/generators/next-app/generator.d.ts +0 -4
- package/src/generators/next-app/generator.js +0 -71
- package/src/generators/next-app/generator.js.map +0 -1
- package/src/generators/react-component/generator.d.ts +0 -4
- package/src/generators/react-component/generator.js +0 -55
- package/src/generators/react-component/generator.js.map +0 -1
- package/src/generators/react-lib/generator.d.ts +0 -4
- package/src/generators/react-lib/generator.js +0 -49
- package/src/generators/react-lib/generator.js.map +0 -1
- package/src/generators/repo-config/generator.d.ts +0 -3
- package/src/generators/repo-config/generator.js +0 -36
- package/src/generators/repo-config/generator.js.map +0 -1
- package/src/generators/repo-config/scripts.d.ts +0 -4
- package/src/generators/repo-config/scripts.js +0 -6
- package/src/generators/repo-config/scripts.js.map +0 -1
- package/src/index.js +0 -1
- package/src/index.js.map +0 -1
- package/src/shared/dependencies.d.ts +0 -73
- package/src/shared/dependencies.js +0 -79
- package/src/shared/dependencies.js.map +0 -1
- package/src/shared/enums/base-generator-type.d.ts +0 -4
- package/src/shared/enums/base-generator-type.js +0 -9
- package/src/shared/enums/base-generator-type.js.map +0 -1
- package/src/shared/enums/index.js +0 -5
- package/src/shared/enums/index.js.map +0 -1
- package/src/shared/generators/api-client/generator.d.ts +0 -6
- package/src/shared/generators/api-client/generator.js +0 -35
- package/src/shared/generators/api-client/generator.js.map +0 -1
- package/src/shared/generators/api-client/index.js +0 -5
- package/src/shared/generators/api-client/index.js.map +0 -1
- package/src/shared/generators/app-env/generator.d.ts +0 -6
- package/src/shared/generators/app-env/generator.js +0 -25
- package/src/shared/generators/app-env/generator.js.map +0 -1
- package/src/shared/generators/app-env/index.js +0 -5
- package/src/shared/generators/app-env/index.js.map +0 -1
- package/src/shared/generators/auth/generator.d.ts +0 -4
- package/src/shared/generators/auth/generator.js +0 -74
- package/src/shared/generators/auth/generator.js.map +0 -1
- package/src/shared/generators/auth/index.js +0 -5
- package/src/shared/generators/auth/index.js.map +0 -1
- package/src/shared/generators/form-utils/generator.d.ts +0 -5
- package/src/shared/generators/form-utils/generator.js +0 -22
- package/src/shared/generators/form-utils/generator.js.map +0 -1
- package/src/shared/generators/form-utils/index.js +0 -5
- package/src/shared/generators/form-utils/index.js.map +0 -1
- package/src/shared/generators/index.js +0 -12
- package/src/shared/generators/index.js.map +0 -1
- package/src/shared/generators/rn-styles/generator.d.ts +0 -6
- package/src/shared/generators/rn-styles/generator.js +0 -36
- package/src/shared/generators/rn-styles/generator.js.map +0 -1
- package/src/shared/generators/rn-styles/index.js +0 -5
- package/src/shared/generators/rn-styles/index.js.map +0 -1
- package/src/shared/generators/storage/generator.d.ts +0 -6
- package/src/shared/generators/storage/generator.js +0 -25
- package/src/shared/generators/storage/generator.js.map +0 -1
- package/src/shared/generators/storage/index.js +0 -5
- package/src/shared/generators/storage/index.js.map +0 -1
- package/src/shared/generators/store/generator.d.ts +0 -4
- package/src/shared/generators/store/generator.js +0 -34
- package/src/shared/generators/store/generator.js.map +0 -1
- package/src/shared/generators/store/index.js +0 -5
- package/src/shared/generators/store/index.js.map +0 -1
- package/src/shared/generators/ui-kitten/generator.d.ts +0 -6
- package/src/shared/generators/ui-kitten/generator.js +0 -40
- package/src/shared/generators/ui-kitten/generator.js.map +0 -1
- package/src/shared/generators/ui-kitten/index.js +0 -5
- package/src/shared/generators/ui-kitten/index.js.map +0 -1
- package/src/shared/utils/cli-utils.d.ts +0 -28
- package/src/shared/utils/cli-utils.js +0 -125
- package/src/shared/utils/cli-utils.js.map +0 -1
- package/src/shared/utils/config-utils.d.ts +0 -19
- package/src/shared/utils/config-utils.js +0 -115
- package/src/shared/utils/config-utils.js.map +0 -1
- package/src/shared/utils/constants.d.ts +0 -3
- package/src/shared/utils/constants.js +0 -7
- package/src/shared/utils/constants.js.map +0 -1
- package/src/shared/utils/dynamic-import.d.ts +0 -1
- package/src/shared/utils/dynamic-import.js +0 -5
- package/src/shared/utils/dynamic-import.js.map +0 -1
- package/src/shared/utils/format-utils.d.ts +0 -4
- package/src/shared/utils/format-utils.js +0 -18
- package/src/shared/utils/format-utils.js.map +0 -1
- package/src/shared/utils/get-lib-directory-name.d.ts +0 -1
- package/src/shared/utils/get-lib-directory-name.js +0 -15
- package/src/shared/utils/get-lib-directory-name.js.map +0 -1
- package/src/shared/utils/index.js +0 -11
- package/src/shared/utils/index.js.map +0 -1
- package/src/shared/utils/ts-utils.d.ts +0 -2
- package/src/shared/utils/ts-utils.js +0 -21
- package/src/shared/utils/ts-utils.js.map +0 -1
- /package/src/generators/form/utils/{index.d.ts → index.ts} +0 -0
- /package/src/generators/lib-tags/utils/{index.d.ts → index.ts} +0 -0
- /package/src/{index.d.ts → index.ts} +0 -0
- /package/src/shared/enums/{index.d.ts → index.ts} +0 -0
- /package/src/shared/generators/api-client/{index.d.ts → index.ts} +0 -0
- /package/src/shared/generators/app-env/{index.d.ts → index.ts} +0 -0
- /package/src/shared/generators/auth/{index.d.ts → index.ts} +0 -0
- /package/src/shared/generators/form-utils/{index.d.ts → index.ts} +0 -0
- /package/src/shared/generators/{index.d.ts → index.ts} +0 -0
- /package/src/shared/generators/rn-styles/{index.d.ts → index.ts} +0 -0
- /package/src/shared/generators/storage/{index.d.ts → index.ts} +0 -0
- /package/src/shared/generators/store/{index.d.ts → index.ts} +0 -0
- /package/src/shared/generators/ui-kitten/{index.d.ts → index.ts} +0 -0
- /package/src/shared/utils/{index.d.ts → index.ts} +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function getLibDirectoryName(libName: string, scopeName: string): string {
|
|
2
|
+
const libWords = libName.split('-');
|
|
3
|
+
const scopeWords = scopeName.split('-');
|
|
4
|
+
let newLibWords = libWords;
|
|
5
|
+
|
|
6
|
+
const startsWithScopeWords = scopeWords.every((word, index) => libWords[index] === word);
|
|
7
|
+
|
|
8
|
+
if (startsWithScopeWords && libWords.length > scopeWords.length) {
|
|
9
|
+
newLibWords = libWords.slice(scopeWords.length);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
return newLibWords.join('-');
|
|
13
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { SourceFile } from 'ts-morph';
|
|
2
|
+
|
|
3
|
+
export const addNamedImport = (namedImport: string, moduleSpecifier: string, file: SourceFile): void => {
|
|
4
|
+
const importDeclaration = file.getImportDeclaration(moduleSpecifier);
|
|
5
|
+
|
|
6
|
+
if (importDeclaration) {
|
|
7
|
+
const hasNamedImport = importDeclaration
|
|
8
|
+
.getNamedImports()
|
|
9
|
+
.find((declaration) => declaration.getName() === namedImport);
|
|
10
|
+
|
|
11
|
+
if (!hasNamedImport) {
|
|
12
|
+
importDeclaration.addNamedImport(namedImport);
|
|
13
|
+
}
|
|
14
|
+
} else {
|
|
15
|
+
file.addImportDeclaration({
|
|
16
|
+
namedImports: [namedImport],
|
|
17
|
+
moduleSpecifier,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
};
|
package/tsconfig.json
ADDED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
'lint-staged': {
|
|
3
|
-
'*.{ts,tsx}': string;
|
|
4
|
-
'*.{ts,tsx,js,html,json,md}': string;
|
|
5
|
-
'*.{ts,tsx,js}': string;
|
|
6
|
-
};
|
|
7
|
-
tsconfig: {
|
|
8
|
-
jsx: string;
|
|
9
|
-
allowJs: boolean;
|
|
10
|
-
noEmit: boolean;
|
|
11
|
-
strict: boolean;
|
|
12
|
-
allowSyntheticDefaultImports: boolean;
|
|
13
|
-
noImplicitAny: boolean;
|
|
14
|
-
strictPropertyInitialization: boolean;
|
|
15
|
-
strictNullChecks: boolean;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
export default _default;
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = {
|
|
4
|
-
'lint-staged': {
|
|
5
|
-
'*.{ts,tsx}': 'tsc-files --noEmit types.d.ts',
|
|
6
|
-
'*.{ts,tsx,js,html,json,md}': 'prettier --write',
|
|
7
|
-
'*.{ts,tsx,js}': 'eslint --cache --fix',
|
|
8
|
-
},
|
|
9
|
-
tsconfig: {
|
|
10
|
-
jsx: 'react-native',
|
|
11
|
-
allowJs: true,
|
|
12
|
-
noEmit: true,
|
|
13
|
-
strict: true,
|
|
14
|
-
allowSyntheticDefaultImports: true,
|
|
15
|
-
noImplicitAny: true,
|
|
16
|
-
strictPropertyInitialization: false,
|
|
17
|
-
strictNullChecks: true,
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=config.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/code-checks/config.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,aAAa,EAAE;QACb,YAAY,EAAE,+BAA+B;QAC7C,4BAA4B,EAAE,kBAAkB;QAChD,eAAe,EAAE,sBAAsB;KACxC;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,cAAc;QACnB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,4BAA4B,EAAE,IAAI;QAClC,aAAa,EAAE,IAAI;QACnB,4BAA4B,EAAE,KAAK;QACnC,gBAAgB,EAAE,IAAI;KACvB;CACF,CAAC"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.codeChecksGenerator = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const child_process_1 = require("child_process");
|
|
6
|
-
const path = require("path");
|
|
7
|
-
const devkit_1 = require("@nx/devkit");
|
|
8
|
-
const dependencies_1 = require("../../shared/dependencies");
|
|
9
|
-
const config_1 = require("./config");
|
|
10
|
-
const scripts_1 = require("./scripts");
|
|
11
|
-
function codeChecksGenerator(tree, options) {
|
|
12
|
-
var _a, _b;
|
|
13
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
14
|
-
const projectRoot = '.';
|
|
15
|
-
// Delete files
|
|
16
|
-
tree.delete('.eslintrc.json');
|
|
17
|
-
tree.delete('eslint.config.cjs');
|
|
18
|
-
tree.delete('.prettierrc');
|
|
19
|
-
// Configure pre-commit hook
|
|
20
|
-
(0, child_process_1.execSync)('npx mrm@2 lint-staged', { stdio: 'inherit' });
|
|
21
|
-
const packageJson = (0, devkit_1.readJson)(tree, 'package.json');
|
|
22
|
-
packageJson['lint-staged'] = config_1.default['lint-staged'];
|
|
23
|
-
packageJson.scripts = Object.assign(Object.assign({}, scripts_1.default), packageJson.scripts);
|
|
24
|
-
(0, devkit_1.writeJson)(tree, 'package.json', packageJson);
|
|
25
|
-
// Update tsconfig.base.json
|
|
26
|
-
const tsconfigJson = (0, devkit_1.readJson)(tree, 'tsconfig.base.json');
|
|
27
|
-
tsconfigJson.compilerOptions = Object.assign(Object.assign({}, config_1.default.tsconfig), tsconfigJson.compilerOptions);
|
|
28
|
-
(0, devkit_1.writeJson)(tree, 'tsconfig.base.json', tsconfigJson);
|
|
29
|
-
// Update .gitignore
|
|
30
|
-
const gitignoreContent = ((_a = tree.read('.gitignore')) === null || _a === void 0 ? void 0 : _a.toString()) + '\n.eslintcache\n';
|
|
31
|
-
tree.write('.gitignore', gitignoreContent);
|
|
32
|
-
// Update .eslintignore
|
|
33
|
-
const eslintignoreContent = ((_b = tree.read('.eslintignore')) === null || _b === void 0 ? void 0 : _b.toString()) + '\n**/*.js\napps/*/app.config.ts\n';
|
|
34
|
-
tree.write('.eslintignore', eslintignoreContent);
|
|
35
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
36
|
-
const configTemplate = require('../../shared/templates/config-template.json');
|
|
37
|
-
// Add files
|
|
38
|
-
(0, devkit_1.generateFiles)(tree, path.join(__dirname, 'files'), projectRoot, options);
|
|
39
|
-
// Add rules to .eslintrc.json
|
|
40
|
-
const esLintConfig = (0, devkit_1.readJson)(tree, '.eslintrc.json');
|
|
41
|
-
esLintConfig.overrides.push(configTemplate);
|
|
42
|
-
(0, devkit_1.writeJson)(tree, '.eslintrc.json', esLintConfig);
|
|
43
|
-
// Install necessary dependencies
|
|
44
|
-
(0, devkit_1.addDependenciesToPackageJson)(tree, {}, dependencies_1.devDependencies['code-checks']);
|
|
45
|
-
yield (0, devkit_1.formatFiles)(tree);
|
|
46
|
-
return () => {
|
|
47
|
-
(0, devkit_1.installPackagesTask)(tree);
|
|
48
|
-
};
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
exports.codeChecksGenerator = codeChecksGenerator;
|
|
52
|
-
exports.default = codeChecksGenerator;
|
|
53
|
-
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/code-checks/generator.ts"],"names":[],"mappings":";;;;AAAA,iDAAyC;AACzC,6BAA6B;AAC7B,uCAQoB;AACpB,4DAA4D;AAC5D,qCAA8B;AAE9B,uCAAgC;AAEhC,SAAsB,mBAAmB,CAAC,IAAU,EAAE,OAAkC;;;QACtF,MAAM,WAAW,GAAG,GAAG,CAAC;QAExB,eAAe;QACf,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAE3B,4BAA4B;QAC5B,IAAA,wBAAQ,EAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAExD,MAAM,WAAW,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACnD,WAAW,CAAC,aAAa,CAAC,GAAG,gBAAM,CAAC,aAAa,CAAC,CAAC;QACnD,WAAW,CAAC,OAAO,mCAAQ,iBAAO,GAAK,WAAW,CAAC,OAAO,CAAE,CAAC;QAC7D,IAAA,kBAAS,EAAC,IAAI,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QAE7C,4BAA4B;QAC5B,MAAM,YAAY,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAC1D,YAAY,CAAC,eAAe,mCAAQ,gBAAM,CAAC,QAAQ,GAAK,YAAY,CAAC,eAAe,CAAE,CAAC;QACvF,IAAA,kBAAS,EAAC,IAAI,EAAE,oBAAoB,EAAE,YAAY,CAAC,CAAC;QAEpD,oBAAoB;QACpB,MAAM,gBAAgB,GAAG,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,0CAAE,QAAQ,EAAE,IAAG,kBAAkB,CAAC;QAClF,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAE3C,uBAAuB;QACvB,MAAM,mBAAmB,GAAG,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,0CAAE,QAAQ,EAAE,IAAG,mCAAmC,CAAC;QACzG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;QAEjD,8DAA8D;QAC9D,MAAM,cAAc,GAAG,OAAO,CAAC,6CAA6C,CAAC,CAAC;QAE9E,YAAY;QACZ,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAEzE,8BAA8B;QAC9B,MAAM,YAAY,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAEtD,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5C,IAAA,kBAAS,EAAC,IAAI,EAAE,gBAAgB,EAAE,YAAY,CAAC,CAAC;QAEhD,iCAAiC;QACjC,IAAA,qCAA4B,EAC1B,IAAI,EACJ,EAAE,EACF,8BAAe,CAAC,aAAa,CAAC,CAC/B,CAAC;QAEF,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAExB,OAAO,GAAG,EAAE;YACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;;CACH;AArDD,kDAqDC;AAED,kBAAe,mBAAmB,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = {
|
|
4
|
-
'lint': 'npx tsc && cross-env ESLINT_USE_FLAT_CONFIG=false npx eslint ./',
|
|
5
|
-
'format': 'npx prettier --write . && npm run lint -- --fix',
|
|
6
|
-
'prepare': 'husky',
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=scripts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/code-checks/scripts.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,MAAM,EAAE,iEAAiE;IACzE,QAAQ,EAAE,iDAAiD;IAC3D,SAAS,EAAE,OAAO;CACnB,CAAA"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.entityApiGenerator = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const devkit_1 = require("@nx/devkit");
|
|
6
|
-
const ts_morph_1 = require("ts-morph");
|
|
7
|
-
const path = require("path");
|
|
8
|
-
const lodash_1 = require("lodash");
|
|
9
|
-
const utils_1 = require("../../shared/utils");
|
|
10
|
-
function entityApiGenerator(tree, options) {
|
|
11
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
12
|
-
const { default: autocomplete } = yield (0, utils_1.dynamicImport)('inquirer-autocomplete-standalone');
|
|
13
|
-
const nxLibsPaths = (0, utils_1.getNxLibsPaths)([utils_1.LibraryType.DATA_ACCESS]);
|
|
14
|
-
const apiLibsPaths = (0, utils_1.searchNxLibsPaths)(nxLibsPaths, 'data-access/api/src', 'endsWith');
|
|
15
|
-
const apiClientLibsPaths = (0, utils_1.searchNxLibsPaths)(nxLibsPaths, 'data-access/api-client/src', 'endsWith');
|
|
16
|
-
if (!apiClientLibsPaths.length) {
|
|
17
|
-
throw new Error('Could not find API Client path.');
|
|
18
|
-
}
|
|
19
|
-
if (!apiLibsPaths.length) {
|
|
20
|
-
throw new Error('Could not find API path.');
|
|
21
|
-
}
|
|
22
|
-
if (apiClientLibsPaths.length > 1) {
|
|
23
|
-
apiClientLibsPaths[0] = yield autocomplete({
|
|
24
|
-
message: 'Select the api client library path:',
|
|
25
|
-
source: (input) => (0, utils_1.filterSource)(input, apiClientLibsPaths),
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
if (apiLibsPaths.length > 1) {
|
|
29
|
-
apiLibsPaths[0] = yield autocomplete({
|
|
30
|
-
message: 'Select the api library path:',
|
|
31
|
-
source: (input) => (0, utils_1.filterSource)(input, apiLibsPaths),
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
const apiDirectory = (0, utils_1.searchAliasPath)(apiLibsPaths[0]);
|
|
35
|
-
const apiClientDirectory = (0, utils_1.searchAliasPath)(apiClientLibsPaths[0]);
|
|
36
|
-
const libPath = apiLibsPaths[0];
|
|
37
|
-
const libRootPath = `${libPath}/lib`;
|
|
38
|
-
options.name = options.name || (yield (0, utils_1.askQuestion)('Enter the name of the entity (e.g: User): '));
|
|
39
|
-
const apiName = (0, lodash_1.kebabCase)(options.name);
|
|
40
|
-
options.baseEndpoint =
|
|
41
|
-
options.baseEndpoint || (yield (0, utils_1.askQuestion)('Enter the base endpoint (e.g: /users): ', `/${apiName}`));
|
|
42
|
-
const apiPath = `${libRootPath}/${apiName}`;
|
|
43
|
-
const entityName = (0, lodash_1.startCase)((0, lodash_1.camelCase)(apiName)).replace(/\s+/g, '');
|
|
44
|
-
(0, devkit_1.generateFiles)(tree, path.join(__dirname, `files`), apiPath, Object.assign(Object.assign({}, options), { apiName: (0, lodash_1.camelCase)(options.name), entityName, entityFileName: apiName, apiClientDirectory, baseEndpoint: options.baseEndpoint.startsWith('/') ? options.baseEndpoint : `/${options.baseEndpoint}` }));
|
|
45
|
-
tree.rename(`${apiPath}/models/entity.ts`, `${apiPath}/models/${apiName}.ts`);
|
|
46
|
-
(0, utils_1.appendFileContent)(`${libRootPath}/index.ts`, `export * from './${apiName}';\n`, tree);
|
|
47
|
-
const storeLibsPaths = (0, utils_1.searchNxLibsPaths)(nxLibsPaths, 'data-access/store/src', 'endsWith');
|
|
48
|
-
if (!storeLibsPaths.length) {
|
|
49
|
-
yield (0, devkit_1.formatFiles)(tree);
|
|
50
|
-
throw new Error('Could not find redux store path.');
|
|
51
|
-
}
|
|
52
|
-
if (storeLibsPaths.length > 1) {
|
|
53
|
-
storeLibsPaths[0] = yield autocomplete({
|
|
54
|
-
message: 'Select the store library path:',
|
|
55
|
-
source: (input) => (0, utils_1.filterSource)(input, storeLibsPaths),
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
// Update redux store
|
|
59
|
-
const apiNameDeclaration = (0, lodash_1.camelCase)(options.name + 'Api');
|
|
60
|
-
const project = new ts_morph_1.Project({
|
|
61
|
-
manipulationSettings: {
|
|
62
|
-
indentationText: ts_morph_1.IndentationText.TwoSpaces,
|
|
63
|
-
quoteKind: ts_morph_1.QuoteKind.Single,
|
|
64
|
-
},
|
|
65
|
-
});
|
|
66
|
-
const store = project.addSourceFileAtPath(`${storeLibsPaths[0]}/store.ts`);
|
|
67
|
-
(0, utils_1.addNamedImport)(apiNameDeclaration, apiDirectory, store);
|
|
68
|
-
const rootReducer = store.getVariableDeclarationOrThrow('rootReducer');
|
|
69
|
-
rootReducer.getInitializerIfKindOrThrow(ts_morph_1.SyntaxKind.ObjectLiteralExpression).addProperty({
|
|
70
|
-
name: `[${apiNameDeclaration}.reducerPath]`,
|
|
71
|
-
initializer: `${apiNameDeclaration}.reducer`,
|
|
72
|
-
kind: ts_morph_1.StructureKind.PropertyAssignment,
|
|
73
|
-
});
|
|
74
|
-
const middlewares = store.getVariableDeclarationOrThrow('middlewares');
|
|
75
|
-
middlewares
|
|
76
|
-
.getInitializerIfKindOrThrow(ts_morph_1.SyntaxKind.ArrayLiteralExpression)
|
|
77
|
-
.addElement(`${apiNameDeclaration}.middleware`);
|
|
78
|
-
project.saveSync();
|
|
79
|
-
yield (0, devkit_1.formatFiles)(tree);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
exports.entityApiGenerator = entityApiGenerator;
|
|
83
|
-
exports.default = entityApiGenerator;
|
|
84
|
-
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/entity-api/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAA8D;AAC9D,uCAA0F;AAC1F,6BAA6B;AAC7B,mCAAyD;AAEzD,8CAU4B;AAE5B,SAAsB,kBAAkB,CAAC,IAAU,EAAE,OAAiC;;QACpF,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,qBAAa,EACnD,kCAAkC,CACnC,CAAC;QACF,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,CAAC,mBAAW,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9D,MAAM,YAAY,GAAG,IAAA,yBAAiB,EAAC,WAAW,EAAE,qBAAqB,EAAE,UAAU,CAAC,CAAC;QACvF,MAAM,kBAAkB,GAAG,IAAA,yBAAiB,EAAC,WAAW,EAAE,4BAA4B,EAAE,UAAU,CAAC,CAAC;QAEpG,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,kBAAkB,CAAC,CAAC,CAAC,GAAG,MAAM,YAAY,CAAC;gBACzC,OAAO,EAAE,qCAAqC;gBAC9C,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAC,KAAK,EAAE,kBAAkB,CAAC;aAC3D,CAAC,CAAC;QACL,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,YAAY,CAAC,CAAC,CAAC,GAAG,MAAM,YAAY,CAAC;gBACnC,OAAO,EAAE,8BAA8B;gBACvC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAC,KAAK,EAAE,YAAY,CAAC;aACrD,CAAC,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,kBAAkB,GAAG,IAAA,uBAAe,EAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;QAElE,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,WAAW,GAAG,GAAG,OAAO,MAAM,CAAC;QAErC,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,IAAA,mBAAW,EAAC,4CAA4C,CAAC,CAAC,CAAC;QAEjG,MAAM,OAAO,GAAG,IAAA,kBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAExC,OAAO,CAAC,YAAY;YAClB,OAAO,CAAC,YAAY,IAAI,CAAC,MAAM,IAAA,mBAAW,EAAC,yCAAyC,EAAE,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC;QAExG,MAAM,OAAO,GAAG,GAAG,WAAW,IAAI,OAAO,EAAE,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAA,kBAAS,EAAC,IAAA,kBAAS,EAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAErE,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,kCACrD,OAAO,KACV,OAAO,EAAE,IAAA,kBAAS,EAAC,OAAO,CAAC,IAAI,CAAC,EAChC,UAAU,EACV,cAAc,EAAE,OAAO,EACvB,kBAAkB,EAClB,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,YAAY,EAAE,IACtG,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,mBAAmB,EAAE,GAAG,OAAO,WAAW,OAAO,KAAK,CAAC,CAAC;QAE9E,IAAA,yBAAiB,EAAC,GAAG,WAAW,WAAW,EAAE,oBAAoB,OAAO,MAAM,EAAE,IAAI,CAAC,CAAC;QAEtF,MAAM,cAAc,GAAG,IAAA,yBAAiB,EAAC,WAAW,EAAE,uBAAuB,EAAE,UAAU,CAAC,CAAC;QAE3F,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;YAExB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,cAAc,CAAC,CAAC,CAAC,GAAG,MAAM,YAAY,CAAC;gBACrC,OAAO,EAAE,gCAAgC;gBACzC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,oBAAY,EAAC,KAAK,EAAE,cAAc,CAAC;aACvD,CAAC,CAAC;QACL,CAAC;QAED,qBAAqB;QACrB,MAAM,kBAAkB,GAAG,IAAA,kBAAS,EAAC,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,IAAI,kBAAO,CAAC;YAC1B,oBAAoB,EAAE;gBACpB,eAAe,EAAE,0BAAe,CAAC,SAAS;gBAC1C,SAAS,EAAE,oBAAS,CAAC,MAAM;aAC5B;SACF,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAE3E,IAAA,sBAAc,EAAC,kBAAkB,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAExD,MAAM,WAAW,GAAG,KAAK,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;QAEvE,WAAW,CAAC,2BAA2B,CAAC,qBAAU,CAAC,uBAAuB,CAAC,CAAC,WAAW,CAAC;YACtF,IAAI,EAAE,IAAI,kBAAkB,eAAe;YAC3C,WAAW,EAAE,GAAG,kBAAkB,UAAU;YAC5C,IAAI,EAAE,wBAAa,CAAC,kBAAkB;SACvC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,KAAK,CAAC,6BAA6B,CAAC,aAAa,CAAC,CAAC;QAEvE,WAAW;aACR,2BAA2B,CAAC,qBAAU,CAAC,sBAAsB,CAAC;aAC9D,UAAU,CAAC,GAAG,kBAAkB,aAAa,CAAC,CAAC;QAElD,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEnB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AAvGD,gDAuGC;AAED,kBAAe,kBAAkB,CAAC"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.expoAppGenerator = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const child_process_1 = require("child_process");
|
|
6
|
-
const path = require("path");
|
|
7
|
-
const devkit_1 = require("@nx/devkit");
|
|
8
|
-
const scripts_1 = require("./scripts");
|
|
9
|
-
const fs_1 = require("fs");
|
|
10
|
-
const dependencies_1 = require("../../shared/dependencies");
|
|
11
|
-
const enums_1 = require("../../shared/enums");
|
|
12
|
-
const generators_1 = require("../../shared/generators");
|
|
13
|
-
const utils_1 = require("../../shared/utils");
|
|
14
|
-
function expoAppGenerator(tree, options) {
|
|
15
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
16
|
-
const shouldGenerateStoreLib = (yield (0, utils_1.askQuestion)('Do you want to create store lib? (y/n): ')) === 'y';
|
|
17
|
-
const shouldGenerateApiClientLib = shouldGenerateStoreLib && (yield (0, utils_1.askQuestion)('Do you want to create api client lib? (y/n): ')) === 'y';
|
|
18
|
-
const shouldGenerateAuthLibs = shouldGenerateApiClientLib && (yield (0, utils_1.askQuestion)('Do you want to create auth lib? (y/n): ')) === 'y';
|
|
19
|
-
const shouldGenerateFormUtilsLib = (yield (0, utils_1.askQuestion)('Do you want to create a lib with the form utils? (y/n): ')) === 'y';
|
|
20
|
-
const shouldGenerateUIKittenLib = (yield (0, utils_1.askQuestion)('Do you want to install @ui-kitten? (y/n): ')) === 'y';
|
|
21
|
-
const appRoot = `apps/${options.directory}`;
|
|
22
|
-
const i18nRoot = `i18n/${options.directory}`;
|
|
23
|
-
const appTestFolder = `apps/${options.directory}-e2e`;
|
|
24
|
-
const libPath = `${(0, utils_1.getImportPathPrefix)(tree)}/${options.directory}`;
|
|
25
|
-
const tags = [`app:${options.directory}`, 'type:app'];
|
|
26
|
-
// Install @nx/expo plugin
|
|
27
|
-
(0, child_process_1.execSync)('npx nx add @nx/expo', { stdio: 'inherit' });
|
|
28
|
-
if ((0, fs_1.existsSync)(appRoot)) {
|
|
29
|
-
const project = (0, devkit_1.readProjectConfiguration)(tree, options.directory);
|
|
30
|
-
project.tags = [`app:${options.directory}`, 'type:app'];
|
|
31
|
-
(0, devkit_1.updateProjectConfiguration)(tree, project.name, project);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
(0, child_process_1.execSync)(`npx nx g @nx/expo:app ${options.name} --directory=apps/${options.directory} --tags="${tags.join(', ')}" --linter=eslint --unitTestRunner=none --e2eTestRunner=none`, { stdio: 'inherit' });
|
|
35
|
-
}
|
|
36
|
-
// Generate shared libs
|
|
37
|
-
yield (0, generators_1.runAppEnvGenerator)(tree, options);
|
|
38
|
-
yield (0, generators_1.runStorageGenerator)(tree, options);
|
|
39
|
-
yield (0, generators_1.runRNStylesGenerator)(tree, options);
|
|
40
|
-
if (shouldGenerateStoreLib) {
|
|
41
|
-
yield (0, generators_1.runStoreGenerator)(tree, Object.assign(Object.assign({}, options), { baseGeneratorType: enums_1.BaseGeneratorType.EXPO_APP }));
|
|
42
|
-
}
|
|
43
|
-
if (shouldGenerateApiClientLib) {
|
|
44
|
-
yield (0, generators_1.runApiClientGenerator)(tree, options);
|
|
45
|
-
}
|
|
46
|
-
if (shouldGenerateFormUtilsLib) {
|
|
47
|
-
yield (0, generators_1.runFormUtilsGenerator)(tree, options);
|
|
48
|
-
}
|
|
49
|
-
if (shouldGenerateUIKittenLib) {
|
|
50
|
-
yield (0, generators_1.runUIKittenGenerator)(tree, options);
|
|
51
|
-
}
|
|
52
|
-
// Workaround: Even with the '--e2eTestRunner=none' parameter, the test folder is created. We delete it manually.
|
|
53
|
-
if ((0, fs_1.existsSync)(appTestFolder)) {
|
|
54
|
-
(0, fs_1.rmSync)(appTestFolder, { recursive: true, force: true });
|
|
55
|
-
}
|
|
56
|
-
const appPackagePath = `${appRoot}/package.json`;
|
|
57
|
-
// Remove unnecessary files and files that will be replaced
|
|
58
|
-
tree.delete(`${appRoot}/src`);
|
|
59
|
-
tree.delete(`${appRoot}/index.js`);
|
|
60
|
-
tree.delete(`${appRoot}/webpack.config.js`);
|
|
61
|
-
tree.delete(`${appRoot}/.eslintrc.json`);
|
|
62
|
-
tree.delete(`${appRoot}/eslint.config.cjs`);
|
|
63
|
-
tree.delete(`${appRoot}/app.json`);
|
|
64
|
-
tree.delete(`${appRoot}/eas.json`);
|
|
65
|
-
tree.delete(`${appRoot}/metro.config.js`);
|
|
66
|
-
tree.delete(`${appRoot}/jest.config.ts`);
|
|
67
|
-
tree.delete(`${appRoot}/tsconfig.app.json`);
|
|
68
|
-
// Update app package.json
|
|
69
|
-
const appPackageJson = (0, devkit_1.readJson)(tree, appPackagePath);
|
|
70
|
-
appPackageJson.main = 'expo-router/entry';
|
|
71
|
-
appPackageJson.scripts = Object.assign(Object.assign({}, scripts_1.default), appPackageJson.scripts);
|
|
72
|
-
(0, devkit_1.writeJson)(tree, appPackagePath, appPackageJson);
|
|
73
|
-
// Add app files
|
|
74
|
-
(0, devkit_1.generateFiles)(tree, path.join(__dirname, 'app-files'), appRoot, Object.assign(Object.assign({}, options), { formatName: utils_1.formatName,
|
|
75
|
-
formatAppIdentifier: utils_1.formatAppIdentifier, formatDirectory: () => libPath, isUIKittenEnabled: shouldGenerateUIKittenLib, isStoreEnabled: shouldGenerateStoreLib, appDirectory: options.directory }));
|
|
76
|
-
(0, utils_1.addNxAppTag)(tree, options.directory);
|
|
77
|
-
(0, devkit_1.generateFiles)(tree, path.join(__dirname, 'i18n'), i18nRoot, {});
|
|
78
|
-
// Add dependencies
|
|
79
|
-
(0, devkit_1.addDependenciesToPackageJson)(tree, Object.assign(Object.assign({}, dependencies_1.dependencies['expo-app']), dependencies_1.dependencies['expo-app-root']), Object.assign(Object.assign({}, dependencies_1.devDependencies['expo-app']), dependencies_1.devDependencies['expo-app-root']));
|
|
80
|
-
(0, devkit_1.addDependenciesToPackageJson)(tree, dependencies_1.dependencies['expo-app'], dependencies_1.devDependencies['expo-app'], appPackagePath);
|
|
81
|
-
yield (0, devkit_1.formatFiles)(tree);
|
|
82
|
-
return () => {
|
|
83
|
-
(0, devkit_1.installPackagesTask)(tree);
|
|
84
|
-
(0, child_process_1.execSync)('npx expo install --fix', { stdio: 'inherit' });
|
|
85
|
-
if (shouldGenerateAuthLibs) {
|
|
86
|
-
(0, child_process_1.execSync)(`npx nx g auth ${options.name} ${options.directory}`, { stdio: 'inherit' });
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
exports.expoAppGenerator = expoAppGenerator;
|
|
92
|
-
exports.default = expoAppGenerator;
|
|
93
|
-
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/expo-app/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
declare const _default: {
|
|
2
|
-
start: string;
|
|
3
|
-
'start:prod': string;
|
|
4
|
-
'build:dev': string;
|
|
5
|
-
'build:internal': string;
|
|
6
|
-
'build:debug': string;
|
|
7
|
-
'build:prod': string;
|
|
8
|
-
'update:dev': string;
|
|
9
|
-
'update:prod': string;
|
|
10
|
-
'submit:dev': string;
|
|
11
|
-
'submit:prod': string;
|
|
12
|
-
};
|
|
13
|
-
export default _default;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = {
|
|
4
|
-
'start': 'cross-env EXPO_PUBLIC_APP_ENV=development npx expo start',
|
|
5
|
-
'start:prod': 'cross-env EXPO_PUBLIC_APP_ENV=production npx expo start',
|
|
6
|
-
'build:dev': 'eas build --no-wait -p all --profile=development',
|
|
7
|
-
'build:internal': 'npm run build:dev -- --profile=internal',
|
|
8
|
-
'build:debug': 'npm run build:dev -- --profile=debug',
|
|
9
|
-
'build:prod': 'npm run build:dev -- --profile=production',
|
|
10
|
-
'update:dev': 'cross-env EXPO_PUBLIC_APP_ENV=development eas update --branch development',
|
|
11
|
-
'update:prod': 'cross-env EXPO_PUBLIC_APP_ENV=production eas update --branch production',
|
|
12
|
-
'submit:dev': 'cross-env EXPO_PUBLIC_APP_ENV=development eas submit --no-wait --profile=development',
|
|
13
|
-
'submit:prod': 'cross-env EXPO_PUBLIC_APP_ENV=production eas submit --no-wait --profile=production',
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=scripts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/expo-app/scripts.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,OAAO,EAAE,0DAA0D;IACnE,YAAY,EAAE,yDAAyD;IACvE,WAAW,EAAE,kDAAkD;IAC/D,gBAAgB,EAAE,yCAAyC;IAC3D,aAAa,EAAE,sCAAsC;IACrD,YAAY,EAAE,2CAA2C;IACzD,YAAY,EAAE,2EAA2E;IACzF,aAAa,EAAE,yEAAyE;IACxF,YAAY,EAAE,sFAAsF;IACpG,aAAa,EAAE,oFAAoF;CACpG,CAAC"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.formGenerator = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const devkit_1 = require("@nx/devkit");
|
|
6
|
-
const path = require("path");
|
|
7
|
-
const utils_1 = require("../../shared/utils");
|
|
8
|
-
const dependencies_1 = require("../../shared/dependencies");
|
|
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
|
-
// Generate form class
|
|
25
|
-
const formsPath = `${libPath}/lib/forms`;
|
|
26
|
-
const formFilePath = `${formsPath}/${fileName}.ts`;
|
|
27
|
-
if (tree.exists(formFilePath)) {
|
|
28
|
-
throw new Error('The form already exists');
|
|
29
|
-
}
|
|
30
|
-
const formUtilsDirectory = yield (0, utils_2.getFormUtilsDirectory)(tree, (0, utils_2.getAppName)(libPath));
|
|
31
|
-
const formClassName = `${(0, utils_1.formatName)(fileName, true)}FormSchema`;
|
|
32
|
-
(0, devkit_1.generateFiles)(tree, path.join(__dirname, `files`), formsPath, { className: formClassName, fileName, formUtilsDirectory });
|
|
33
|
-
(0, utils_2.updateIndex)(formsPath, fileName, tree);
|
|
34
|
-
// Add form usage
|
|
35
|
-
if (placeOfUse) {
|
|
36
|
-
yield (0, utils_2.addFormUsage)(libPath, placeOfUse, formClassName);
|
|
37
|
-
}
|
|
38
|
-
yield (0, devkit_1.formatFiles)(tree);
|
|
39
|
-
// Install dependencies
|
|
40
|
-
(0, devkit_1.addDependenciesToPackageJson)(tree, dependencies_1.dependencies.form, {});
|
|
41
|
-
return () => {
|
|
42
|
-
(0, devkit_1.installPackagesTask)(tree);
|
|
43
|
-
};
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
exports.formGenerator = formGenerator;
|
|
47
|
-
exports.default = formGenerator;
|
|
48
|
-
//# sourceMappingURL=generator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/form/generator.ts"],"names":[],"mappings":";;;;AAAA,uCAAiH;AACjH,6BAA6B;AAE7B,8CAA+G;AAC/G,4DAAyD;AACzD,mCAAuF;AAEvF,SAAsB,aAAa,CAAC,IAAU,EAAE,OAA4B;;QAC1E,iBAAiB;QACjB,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,qBAAa,EAAoD,kCAAkC,CAAC,CAAC;QAC7I,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,KAAK,CAAC,CAAA;gBAExE,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;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;QAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEtC,sBAAsB;QACtB,MAAM,SAAS,GAAG,GAAG,OAAO,YAAY,CAAC;QACzC,MAAM,YAAY,GAAG,GAAG,SAAS,IAAI,QAAQ,KAAK,CAAC;QACnD,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,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC1H,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;QAC1D,OAAO,GAAG,EAAE;YACV,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC;CAAA;AAvCD,sCAuCC;AAED,kBAAe,aAAa,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function addFormUsage(libPath: string, placeOfUseName: string, formClassName: string): Promise<void>;
|
|
@@ -1,67 +0,0 @@
|
|
|
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
|
-
return argument.asKind(argument.getKind() === ts_morph_1.SyntaxKind.FunctionExpression ? ts_morph_1.SyntaxKind.FunctionExpression : ts_morph_1.SyntaxKind.ArrowFunction);
|
|
26
|
-
}
|
|
27
|
-
function getPlaceOfUse(file, placeOfUseName) {
|
|
28
|
-
const placeOfUseFunction = file.getFunction(placeOfUseName);
|
|
29
|
-
if (placeOfUseFunction) {
|
|
30
|
-
return placeOfUseFunction;
|
|
31
|
-
}
|
|
32
|
-
const variable = file.getVariableDeclaration(placeOfUseName);
|
|
33
|
-
if (!variable) {
|
|
34
|
-
throw new Error(`Could not find the place where the form should be used (${placeOfUseName}).`);
|
|
35
|
-
}
|
|
36
|
-
return variable.getInitializerIfKind(ts_morph_1.SyntaxKind.FunctionExpression)
|
|
37
|
-
|| variable.getInitializerIfKind(ts_morph_1.SyntaxKind.ArrowFunction)
|
|
38
|
-
|| getForwardRefFunction(variable);
|
|
39
|
-
}
|
|
40
|
-
function addFormUsage(libPath, placeOfUseName, formClassName) {
|
|
41
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
const project = new ts_morph_1.Project({
|
|
43
|
-
manipulationSettings: {
|
|
44
|
-
indentationText: ts_morph_1.IndentationText.TwoSpaces,
|
|
45
|
-
quoteKind: ts_morph_1.QuoteKind.Single
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
const files = project.addSourceFilesAtPaths([`${libPath}/lib/**/*.tsx`, `${libPath}/lib/**/*.ts`]);
|
|
49
|
-
const file = files.find((file) => file.getFunction(placeOfUseName) || file.getVariableDeclaration(placeOfUseName));
|
|
50
|
-
if (!file) {
|
|
51
|
-
throw new Error('Could not find the place where the form should be used.');
|
|
52
|
-
}
|
|
53
|
-
const pathToForm = file.getFilePath().includes('components')
|
|
54
|
-
? '../../forms'
|
|
55
|
-
: file.getFilePath().includes('hooks')
|
|
56
|
-
? '../forms'
|
|
57
|
-
: './forms';
|
|
58
|
-
(0, utils_1.addNamedImport)(formClassName, pathToForm, file);
|
|
59
|
-
(0, utils_1.addNamedImport)('useForm', 'react-hook-form', file);
|
|
60
|
-
(0, utils_1.addNamedImport)('yupResolver', '@hookform/resolvers/yup', file);
|
|
61
|
-
const placeOfUse = getPlaceOfUse(file, placeOfUseName);
|
|
62
|
-
placeOfUse.setBodyText(`${getFormUsageCode(formClassName)}${placeOfUse.getBodyText()}`);
|
|
63
|
-
project.saveSync();
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
exports.addFormUsage = addFormUsage;
|
|
67
|
-
//# sourceMappingURL=add-form-usage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function getAppName(path: string): string;
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|