@ronas-it/nx-generators 0.15.0-alpha.0 → 0.15.0-alpha.2
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 +164 -2
- package/package.json +3 -3
- package/src/generators/code-checks/config.d.ts +7 -0
- package/src/generators/code-checks/config.js +7 -0
- package/src/generators/code-checks/config.js.map +1 -1
- package/src/generators/code-checks/files/.gitignore.template +2 -0
- package/src/generators/code-checks/generator.js +3 -1
- package/src/generators/code-checks/generator.js.map +1 -1
- package/src/generators/expo-app/app-files/app/_layout.tsx.template +1 -1
- package/src/generators/expo-app/app-files/app.config.ts.template +2 -2
- package/src/generators/expo-app/generator.js +2 -0
- package/src/generators/expo-app/generator.js.map +1 -1
- package/src/generators/expo-app/scripts.d.ts +2 -0
- package/src/generators/expo-app/scripts.js +2 -0
- package/src/generators/expo-app/scripts.js.map +1 -1
- package/src/generators/react-component/files/component.tsx.template +9 -8
- package/src/generators/react-lib/files/lib/component.tsx.template +9 -12
- package/src/generators/react-lib/generator.js +4 -3
- package/src/generators/react-lib/generator.js.map +1 -1
- package/src/shared/dependencies.d.ts +1 -0
- package/src/shared/dependencies.js +39 -40
- package/src/shared/dependencies.js.map +1 -1
- package/src/shared/generators/auth/lib-files/shared/data-access/api/src/lib/auth/api.ts.template +2 -2
- package/src/shared/generators/auth/lib-files/shared/data-access/api/src/lib/profile/api.ts.template +1 -1
- package/src/shared/generators/navigation-utils/{next-app-lib-files/shared/utils/navigation → filtering-search-params-lib-files/shared/utils/filtering-search-params}/src/lib/hooks/use-filtering-search-params.ts.template +28 -7
- package/src/shared/generators/navigation-utils/filtering-search-params-lib-files/shared/utils/filtering-search-params/src/lib/index.ts.template +2 -0
- package/src/shared/generators/navigation-utils/generator.js +5 -18
- package/src/shared/generators/navigation-utils/generator.js.map +1 -1
- package/src/shared/generators/navigation-utils/navigation-lib-files/shared/utils/navigation/src/index.ts.template +1 -0
- package/src/shared/generators/navigation-utils/utils/index.d.ts +1 -0
- package/src/shared/generators/navigation-utils/utils/index.js +5 -0
- package/src/shared/generators/navigation-utils/utils/index.js.map +1 -0
- package/src/shared/generators/navigation-utils/utils/setup-lib.d.ts +2 -0
- package/src/shared/generators/navigation-utils/utils/setup-lib.js +17 -0
- package/src/shared/generators/navigation-utils/utils/setup-lib.js.map +1 -0
- package/src/shared/generators/store/expo-app/lib-files/shared/data-access/store/src/store.ts.template +1 -1
- package/src/shared/generators/ui-kitten/lib-files/shared/ui/styles/src/lib/create-adaptive-styles.ts.template +1 -2
- package/src/shared/generators/ui-kitten/schema.json +1 -1
- /package/src/shared/generators/navigation-utils/{common-lib-files/shared/utils/navigation → filtering-search-params-lib-files/shared/utils/filtering-search-params}/src/index.ts.template +0 -0
- /package/src/shared/generators/navigation-utils/{next-app-lib-files/shared/utils/navigation → filtering-search-params-lib-files/shared/utils/filtering-search-params}/src/lib/hooks/index.ts.template +0 -0
- /package/src/shared/generators/navigation-utils/{next-app-lib-files/shared/utils/navigation → filtering-search-params-lib-files/shared/utils/filtering-search-params}/src/lib/types/filtering-search-params.ts.template +0 -0
- /package/src/shared/generators/navigation-utils/{next-app-lib-files/shared/utils/navigation → filtering-search-params-lib-files/shared/utils/filtering-search-params}/src/lib/types/index.ts.template +0 -0
- /package/src/shared/generators/navigation-utils/{common-lib-files → navigation-lib-files}/shared/utils/navigation/src/lib/config.ts.template +0 -0
- /package/src/shared/generators/navigation-utils/{common-lib-files → navigation-lib-files}/shared/utils/navigation/src/lib/index.ts.template +0 -0
- /package/src/shared/generators/navigation-utils/{common-lib-files → navigation-lib-files}/shared/utils/navigation/src/lib/utils/get-link-builder.ts.template +0 -0
- /package/src/shared/generators/navigation-utils/{common-lib-files → navigation-lib-files}/shared/utils/navigation/src/lib/utils/get-resource-path.ts.template +0 -0
- /package/src/shared/generators/navigation-utils/{common-lib-files → navigation-lib-files}/shared/utils/navigation/src/lib/utils/index.ts.template +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,28 @@
|
|
|
1
1
|
# Nx Generators
|
|
2
2
|
|
|
3
|
-
Nx generators for
|
|
3
|
+
This package provides a set of [Nx](https://nx.dev/getting-started/intro) generators that help maintain a consistent project structure, enforce best practices, and automate common development tasks. It is designed to streamline and standardize the development workflow for monorepos with React Native and/or Next.js apps.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **Automated setup**: Quick setup of new projects with pre-configured [best practices](#best-practices)
|
|
8
|
+
- **Cross-platform support**: Generators for both web (Next.js) and mobile (RN Expo) applications
|
|
9
|
+
- **Code quality tools**: Built-in configuration for ESLint, Prettier, and TypeScript pre-commit checks
|
|
10
|
+
- **Library management**: Tools for creating, moving, renaming, and managing libraries with pre-defined boundaries
|
|
11
|
+
- **Component generation**: Automated creation of components, form interaction, and other utility tools
|
|
12
|
+
- **Data access setup**: State management and API interaction setup using [Redux Toolkit](https://redux-toolkit.js.org/) and [RTKQ Entity API](https://github.com/RonasIT/rtkq-entity-api)
|
|
13
|
+
- **Internationalization**: Built-in support for i18n in both Next.js and RN Expo applications
|
|
14
|
+
|
|
15
|
+
See full list of generators [below](#generators-overview).
|
|
16
|
+
|
|
17
|
+
## Best Practices
|
|
18
|
+
|
|
19
|
+
The generators enforce several best practices according to [Nx concepts](https://nx.dev/concepts/decisions):
|
|
20
|
+
|
|
21
|
+
- Scalable [monorepo organization](https://nx.dev/concepts/decisions/why-monorepos)
|
|
22
|
+
- Consistent [project structure](https://nx.dev/concepts/decisions/folder-structure)
|
|
23
|
+
- Clear [libraries hierarchy](https://nx.dev/concepts/decisions/project-dependency-rules)
|
|
24
|
+
- Proper [module boundaries](https://nx.dev/features/enforce-module-boundaries)
|
|
25
|
+
- Streamlined [dependency management](https://nx.dev/concepts/decisions/dependency-management)
|
|
4
26
|
|
|
5
27
|
## Usage
|
|
6
28
|
|
|
@@ -75,6 +97,7 @@ Configures code checks and formatting with pre-commit hook.
|
|
|
75
97
|
### 3. `expo-app`
|
|
76
98
|
|
|
77
99
|
Generates and configures an Expo React Native app.
|
|
100
|
+
Also generates [navigation utilities](#navigation-utilities)
|
|
78
101
|
|
|
79
102
|
#### Options
|
|
80
103
|
|
|
@@ -97,6 +120,7 @@ npx nx g expo-app my-app mobile
|
|
|
97
120
|
### 4. `next-app`
|
|
98
121
|
|
|
99
122
|
Generates and configures a Next.js app.
|
|
123
|
+
Also generates [navigation utilities](#navigation-utilities).
|
|
100
124
|
|
|
101
125
|
#### Options
|
|
102
126
|
|
|
@@ -120,7 +144,7 @@ npx nx g next-app my-app web
|
|
|
120
144
|
|
|
121
145
|
### 5. `react-lib`
|
|
122
146
|
|
|
123
|
-
Generates a library according to [Nx notation](https://nx.dev/concepts/
|
|
147
|
+
Generates a library according to [Nx notation](https://nx.dev/concepts/decisions/project-dependency-rules).
|
|
124
148
|
|
|
125
149
|
#### Options
|
|
126
150
|
|
|
@@ -304,3 +328,141 @@ Creates [Sentry](https://sentry.io/) integration for Expo/Next application.
|
|
|
304
328
|
### 14. `dockerfile`
|
|
305
329
|
|
|
306
330
|
Generates a deployment-ready Dockerfile for Next.js applications in the monorepo.
|
|
331
|
+
|
|
332
|
+
## Navigation utilities
|
|
333
|
+
|
|
334
|
+
The generators `next-app` and `expo-app` also create customizable utilities for navigation
|
|
335
|
+
and empty `navigationConfig` - an object, where routes should be stored.
|
|
336
|
+
There are utilities, which may help to create routes
|
|
337
|
+
|
|
338
|
+
### getLinkBuilder
|
|
339
|
+
|
|
340
|
+
It's a function for building URLs based on a base path and optional query parameters.
|
|
341
|
+
Library - `navigation`.
|
|
342
|
+
|
|
343
|
+
#### Parameters
|
|
344
|
+
|
|
345
|
+
- `basePath` — the initial URL. It may contain placeholders for dynamic substitution (e.g., `[id]`).
|
|
346
|
+
|
|
347
|
+
#### Returns
|
|
348
|
+
|
|
349
|
+
`() => string` or `(args?: TRootParams) => string` - a function that constructs a URL by replacing placeholders in the `basePath`
|
|
350
|
+
with values from an optional args object and appends query parameters.
|
|
351
|
+
|
|
352
|
+
#### Example of usage
|
|
353
|
+
|
|
354
|
+
```ts
|
|
355
|
+
export class ItemSearchParams {
|
|
356
|
+
@Expose()
|
|
357
|
+
public categoryId?: number;
|
|
358
|
+
|
|
359
|
+
@Expose()
|
|
360
|
+
public tags?: Array<string>;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
const navigationConfig = {
|
|
364
|
+
routes: {
|
|
365
|
+
items: getLinkBuilder<ItemSearchParams>('/items'),
|
|
366
|
+
},
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
// /items
|
|
370
|
+
const allItemsLink = navigationConfig.routes.items();
|
|
371
|
+
// /items?categoryId=1&tags=fiction&tags=newest
|
|
372
|
+
const filteredItemsLink = navigationConfig.routes.items({
|
|
373
|
+
categoryId: 1,
|
|
374
|
+
tags: ['fiction', 'newest'],
|
|
375
|
+
});
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### getResourcePaths
|
|
379
|
+
|
|
380
|
+
It's a function that generates an object of URL paths related to a specific resource:
|
|
381
|
+
list, single view, creation, and editing.
|
|
382
|
+
Library - `navigation`.
|
|
383
|
+
|
|
384
|
+
#### Parameters
|
|
385
|
+
|
|
386
|
+
- `basePath` - the root path for the resource.
|
|
387
|
+
- `options` (optional) - an object to enable additional paths.
|
|
388
|
+
- `withCreation` (optional) includes a path for creation a new resource.
|
|
389
|
+
- `withEditing` (optional) includes a path for editing an existing resource.
|
|
390
|
+
|
|
391
|
+
#### Returns
|
|
392
|
+
|
|
393
|
+
`ResourcePaths<TRootParams>` - an object containing URL path builders for various resource operations:
|
|
394
|
+
|
|
395
|
+
- `list` - a function to generate the listing URL, supporting query parameters like a result of [getLinkBuilder](#getlinkbuilder).
|
|
396
|
+
- `view` - a function to generate a URL for viewing a specific resource by its id.
|
|
397
|
+
- `create` (optional) - URL string for the creation page, if `withCreation` is enabled.
|
|
398
|
+
- `edit` (optional) - a function to generate a URL for editing a specific resource by its id, if `withEditing` is enabled.
|
|
399
|
+
|
|
400
|
+
#### Example of usage
|
|
401
|
+
|
|
402
|
+
```ts
|
|
403
|
+
export class ItemSearchParams {
|
|
404
|
+
@Expose()
|
|
405
|
+
public categoryId?: number;
|
|
406
|
+
|
|
407
|
+
@Expose()
|
|
408
|
+
public tags?: Array<string>;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
const navigationConfig = {
|
|
412
|
+
routes: {
|
|
413
|
+
items: getResourcePaths<ItemSearchParams>('/items', {
|
|
414
|
+
withCreation: true,
|
|
415
|
+
withEditing: true,
|
|
416
|
+
}),
|
|
417
|
+
},
|
|
418
|
+
};
|
|
419
|
+
|
|
420
|
+
const allItemsLink = navigationConfig.routes.items.list(); // /items
|
|
421
|
+
const filteredItemsLink = navigationConfig.routes.items.list({
|
|
422
|
+
// /items?categoryId=1&tags=fiction&tags=newest
|
|
423
|
+
categoryId: 1,
|
|
424
|
+
tags: ['fiction', 'newest'],
|
|
425
|
+
});
|
|
426
|
+
const viewLink = navigationConfig.routes.items.view(1); // /items/1
|
|
427
|
+
const creationLink = navigationConfig.routes.items.create; // /items/create
|
|
428
|
+
const editingLink = navigationConfig.routes.items.edit?.(1); // /items/1/edit
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
### useFilteringSearchParams (web only)
|
|
432
|
+
|
|
433
|
+
It's a hook, which converts query parameters to and from a specified model for filtering purposes.
|
|
434
|
+
It calls `useSearchParams` from `next/navigation` under the hook.
|
|
435
|
+
Library - `filtering-search-params`
|
|
436
|
+
|
|
437
|
+
#### Parameters
|
|
438
|
+
|
|
439
|
+
- `searchParamsConstructor` - a class constructor used to instantiate the type `TParams` from the parsed search parameters.
|
|
440
|
+
|
|
441
|
+
#### Returns
|
|
442
|
+
|
|
443
|
+
An object containing:
|
|
444
|
+
|
|
445
|
+
- `initialSearchParams` - search parameters, instantiated from `searchParamsConstructor`.
|
|
446
|
+
- `setSearchParams` - a function to update the URL with new search parameters, accepting an instance of `TParams`.
|
|
447
|
+
|
|
448
|
+
#### Example of usage
|
|
449
|
+
|
|
450
|
+
```ts
|
|
451
|
+
export class ItemSearchParams {
|
|
452
|
+
@Expose()
|
|
453
|
+
public categoryId?: number;
|
|
454
|
+
|
|
455
|
+
@Expose()
|
|
456
|
+
public tags?: Array<string>;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
// It's necessary to add ItemSearchParams to this union type
|
|
460
|
+
// so that the hook can accept ItemSearchParams
|
|
461
|
+
export type FilteringSearchParams = ItemSearchParams;
|
|
462
|
+
|
|
463
|
+
const { initialSearchParams, setSearchParams } = useFilteringSearchParams<ItemSearchParams>({
|
|
464
|
+
searchParamsConstructor: ItemSearchParams,
|
|
465
|
+
});
|
|
466
|
+
|
|
467
|
+
setSearchParams({ categoryId: 5 });
|
|
468
|
+
```
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ronas-it/nx-generators",
|
|
3
|
-
"version": "0.15.0-alpha.
|
|
3
|
+
"version": "0.15.0-alpha.2",
|
|
4
4
|
"description": "Nx generators for Ronas IT projects",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Ronas IT",
|
|
@@ -24,11 +24,11 @@
|
|
|
24
24
|
"access": "public"
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
|
-
"@nx/devkit": "^
|
|
27
|
+
"@nx/devkit": "^21.2.1",
|
|
28
28
|
"@phenomnomnominal/tsquery": "~5.0.1",
|
|
29
29
|
"lodash": "^4.17.21",
|
|
30
30
|
"tslib": "^2.6.3",
|
|
31
|
-
"ts-morph": "^
|
|
31
|
+
"ts-morph": "^26.0.0"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"typescript": "^5.3.3"
|
|
@@ -5,6 +5,12 @@ declare const _default: {
|
|
|
5
5
|
'*.{ts,tsx,js}': string;
|
|
6
6
|
};
|
|
7
7
|
tsconfig: {
|
|
8
|
+
baseUrl: string;
|
|
9
|
+
rootDir: string;
|
|
10
|
+
sourceMap: boolean;
|
|
11
|
+
declaration: boolean;
|
|
12
|
+
emitDecoratorMetadata: boolean;
|
|
13
|
+
experimentalDecorators: boolean;
|
|
8
14
|
jsx: string;
|
|
9
15
|
allowJs: boolean;
|
|
10
16
|
noEmit: boolean;
|
|
@@ -14,5 +20,6 @@ declare const _default: {
|
|
|
14
20
|
strictPropertyInitialization: boolean;
|
|
15
21
|
strictNullChecks: boolean;
|
|
16
22
|
};
|
|
23
|
+
tsConfigExclude: string[];
|
|
17
24
|
};
|
|
18
25
|
export default _default;
|
|
@@ -7,6 +7,12 @@ exports.default = {
|
|
|
7
7
|
'*.{ts,tsx,js}': 'eslint --cache --fix',
|
|
8
8
|
},
|
|
9
9
|
tsconfig: {
|
|
10
|
+
baseUrl: '.',
|
|
11
|
+
rootDir: '.',
|
|
12
|
+
sourceMap: true,
|
|
13
|
+
declaration: false,
|
|
14
|
+
emitDecoratorMetadata: true,
|
|
15
|
+
experimentalDecorators: true,
|
|
10
16
|
jsx: 'react-native',
|
|
11
17
|
allowJs: true,
|
|
12
18
|
noEmit: true,
|
|
@@ -16,5 +22,6 @@ exports.default = {
|
|
|
16
22
|
strictPropertyInitialization: false,
|
|
17
23
|
strictNullChecks: true,
|
|
18
24
|
},
|
|
25
|
+
tsConfigExclude: ['**/*.cjs', '**/*.mjs', 'node_modules', 'dist'],
|
|
19
26
|
};
|
|
20
27
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,GAAG;QACZ,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,KAAK;QAClB,qBAAqB,EAAE,IAAI;QAC3B,sBAAsB,EAAE,IAAI;QAC5B,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;IACD,eAAe,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC;CAClE,CAAC"}
|
|
@@ -26,12 +26,14 @@ function codeChecksGenerator(tree, options) {
|
|
|
26
26
|
// Update tsconfig.base.json
|
|
27
27
|
const tsconfigJson = (0, devkit_1.readJson)(tree, 'tsconfig.base.json');
|
|
28
28
|
tsconfigJson.compilerOptions = Object.assign(Object.assign({}, config_1.default.tsconfig), tsconfigJson.compilerOptions);
|
|
29
|
+
tsconfigJson.exclude = [...config_1.default.tsConfigExclude];
|
|
29
30
|
(0, devkit_1.writeJson)(tree, 'tsconfig.base.json', tsconfigJson);
|
|
30
31
|
// Update .gitignore
|
|
31
32
|
const gitignoreContent = ((_a = tree.read('.gitignore')) === null || _a === void 0 ? void 0 : _a.toString()) + '\n.eslintcache\n';
|
|
32
33
|
tree.write('.gitignore', gitignoreContent);
|
|
33
34
|
// Update .prettierignore
|
|
34
|
-
const prettierignoreContent = ((_b = tree.read('.prettierignore')) === null || _b === void 0 ? void 0 : _b.toString()) +
|
|
35
|
+
const prettierignoreContent = ((_b = tree.read('.prettierignore')) === null || _b === void 0 ? void 0 : _b.toString()) +
|
|
36
|
+
'# Files with custom rules\n**/actions.ts\n**/epics.ts\n**/selectors.ts\n';
|
|
35
37
|
tree.write('.prettierignore', prettierignoreContent);
|
|
36
38
|
// Add files
|
|
37
39
|
(0, devkit_1.generateFiles)(tree, path.join(__dirname, 'files'), projectRoot, options);
|
|
@@ -1 +1 @@
|
|
|
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,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,yBAAyB;QACzB,MAAM,qBAAqB,
|
|
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,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,YAAY,CAAC,OAAO,GAAG,CAAC,GAAG,gBAAM,CAAC,eAAe,CAAC,CAAC;QACnD,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,yBAAyB;QACzB,MAAM,qBAAqB,GACzB,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,0CAAE,QAAQ,EAAE;YACxC,0EAA0E,CAAC;QAC7E,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;QAErD,YAAY;QACZ,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QAEzE,iCAAiC;QACjC,IAAA,qCAA4B,EAAC,IAAI,EAAE,EAAE,EAAE,8BAAe,CAAC,aAAa,CAAC,CAAC,CAAC;QAEvE,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAExB,OAAO,GAAS,EAAE;YAChB,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;QAC5B,CAAC,CAAC;;CACH;AA5CD,kDA4CC;AAED,kBAAe,mBAAmB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<% if(isStoreEnabled) { %> import { store } from '<%= libPath %>/shared/data-access/store';<% } %>
|
|
2
|
-
import { setLanguage } from '@ronas-it/react-native-common-modules';
|
|
2
|
+
import { setLanguage } from '@ronas-it/react-native-common-modules/src/utils/i18n';
|
|
3
3
|
<% if(isUIKittenEnabled) { %>
|
|
4
4
|
import { UserThemeProvider } from '<%= libPath %>/shared/features/user-theme-provider';
|
|
5
5
|
<% } %>
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { ExpoConfig } from '@expo/config';
|
|
2
|
-
import { EASConfig } from 'expo-constants/build/Constants.types';
|
|
1
|
+
import { EASConfig, ExpoConfig } from '@expo/config';
|
|
3
2
|
|
|
4
3
|
const createConfig = (): Omit<ExpoConfig, 'extra'> & { extra: { eas: EASConfig } & typeof extra } => {
|
|
5
4
|
const projectId = '';
|
|
@@ -40,6 +39,7 @@ const createConfig = (): Omit<ExpoConfig, 'extra'> & { extra: { eas: EASConfig }
|
|
|
40
39
|
foregroundImage: './assets/adaptive-icon.png',
|
|
41
40
|
backgroundColor: '#FFFFFF',
|
|
42
41
|
},
|
|
42
|
+
edgeToEdgeEnabled: true
|
|
43
43
|
},
|
|
44
44
|
plugins: ['expo-router'],
|
|
45
45
|
newArchEnabled: true,
|
|
@@ -76,6 +76,8 @@ function expoAppGenerator(tree, options) {
|
|
|
76
76
|
(0, devkit_1.generateFiles)(tree, path.join(__dirname, 'app-files'), appRoot, Object.assign(Object.assign({}, options), { formatName: utils_1.formatName,
|
|
77
77
|
formatAppIdentifier: utils_1.formatAppIdentifier,
|
|
78
78
|
libPath, isUIKittenEnabled: options.withUIKitten, isStoreEnabled: options.withStore, appDirectory: options.directory }));
|
|
79
|
+
// Remove unnecessary tsconfig.app.json file
|
|
80
|
+
tree.delete(`${appRoot}/tsconfig.app.json`);
|
|
79
81
|
(0, utils_1.addNxAppTag)(tree, options.directory);
|
|
80
82
|
(0, devkit_1.generateFiles)(tree, path.join(__dirname, 'i18n'), i18nRoot, {});
|
|
81
83
|
// Add dependencies
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/expo-app/generator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/expo-app/generator.ts"],"names":[],"mappings":";;;;AAAA,iDAAyC;AACzC,2BAAwC;AACxC,6BAA6B;AAC7B,uCAUoB;AACpB,4DAA0E;AAC1E,8CAAuD;AACvD,wDASiC;AACjC,8CAAgH;AAEhH,uCAAgC;AAEhC,SAAsB,gBAAgB,CAAC,IAAU,EAAE,OAA+B;;QAChF,MAAM,0BAA0B,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,MAAM,IAAA,eAAO,EAAC,uCAAuC,CAAC,CAAC,CAAC;QACjH,MAAM,sBAAsB,GAAG,0BAA0B,IAAI,CAAC,MAAM,IAAA,eAAO,EAAC,iCAAiC,CAAC,CAAC,CAAC;QAEhH,MAAM,OAAO,GAAG,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5C,MAAM,QAAQ,GAAG,QAAQ,OAAO,CAAC,SAAS,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,QAAQ,OAAO,CAAC,SAAS,MAAM,CAAC;QACtD,MAAM,OAAO,GAAG,GAAG,IAAA,2BAAmB,EAAC,IAAI,CAAC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACpE,MAAM,IAAI,GAAG,CAAC,OAAO,OAAO,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,CAAC;QAEtD,0BAA0B;QAC1B,IAAA,wBAAQ,EAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAEtD,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,IAAA,iCAAwB,EAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAElE,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,OAAO,CAAC,SAAS,EAAE,EAAE,UAAU,CAAC,CAAC;YAExD,IAAA,mCAA0B,EAAC,IAAI,EAAE,OAAO,CAAC,IAAc,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,IAAA,wBAAQ,EACN,yBAAyB,OAAO,CAAC,IAAI,qBAAqB,OAAO,CAAC,SAAS,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,4DAA4D,EAClK,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;QACJ,CAAC;QAED,uBAAuB;QACvB,MAAM,IAAA,+BAAkB,EAAC,IAAI,kCAAO,OAAO,KAAE,iBAAiB,EAAE,yBAAiB,CAAC,QAAQ,IAAG,CAAC;QAC9F,MAAM,IAAA,gCAAmB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,IAAA,iCAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,IAAA,wCAA2B,EAAC,IAAI,EAAE;YACtC,YAAY,EAAE,OAAO,CAAC,SAAS;YAC/B,iBAAiB,EAAE,yBAAiB,CAAC,QAAQ;SAC9C,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,IAAA,8BAAiB,EAAC,IAAI,kCACvB,OAAO,KACV,iBAAiB,EAAE,yBAAiB,CAAC,QAAQ,IAC7C,CAAC;QACL,CAAC;QAED,IAAI,0BAA0B,EAAE,CAAC;YAC/B,MAAM,IAAA,kCAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,MAAM,IAAA,kCAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,IAAA,iCAAoB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QAED,iHAAiH;QACjH,IAAI,IAAA,eAAU,EAAC,aAAa,CAAC,EAAE,CAAC;YAC9B,IAAA,WAAM,EAAC,aAAa,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,MAAM,cAAc,GAAG,GAAG,OAAO,eAAe,CAAC;QAEjD,2DAA2D;QAC3D,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,WAAW,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,oBAAoB,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,iBAAiB,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,oBAAoB,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,oBAAoB,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,WAAW,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,WAAW,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,kBAAkB,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,iBAAiB,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,oBAAoB,CAAC,CAAC;QAE5C,0BAA0B;QAC1B,MAAM,cAAc,GAAG,IAAA,iBAAQ,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACtD,cAAc,CAAC,IAAI,GAAG,mBAAmB,CAAC;QAC1C,cAAc,CAAC,OAAO,mCACjB,iBAAO,GACP,cAAc,CAAC,OAAO,CAC1B,CAAC;QACF,IAAA,kBAAS,EAAC,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QAEhD,gBAAgB;QAChB,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,OAAO,kCACzD,OAAO,KACV,UAAU,EAAV,kBAAU;YACV,mBAAmB,EAAnB,2BAAmB;YACnB,OAAO,EACP,iBAAiB,EAAE,OAAO,CAAC,YAAY,EACvC,cAAc,EAAE,OAAO,CAAC,SAAS,EACjC,YAAY,EAAE,OAAO,CAAC,SAAS,IAC/B,CAAC;QAEH,4CAA4C;QAC5C,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,oBAAoB,CAAC,CAAC;QAE5C,IAAA,mBAAW,EAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACrC,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEhE,mBAAmB;QACnB,IAAA,qCAA4B,EAC1B,IAAI,kCAEC,2BAAY,CAAC,UAAU,CAAC,GACxB,2BAAY,CAAC,eAAe,CAAC,mCAG7B,8BAAe,CAAC,UAAU,CAAC,GAC3B,8BAAe,CAAC,eAAe,CAAC,EAEtC,CAAC;QAEF,IAAA,qCAA4B,EAAC,IAAI,EAAE,2BAAY,CAAC,UAAU,CAAC,EAAE,8BAAe,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC,CAAC;QAE1G,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAExB,OAAO,GAAS,EAAE;YAChB,IAAA,4BAAmB,EAAC,IAAI,CAAC,CAAC;YAC1B,IAAA,wBAAQ,EAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAEzD,IAAI,sBAAsB,EAAE,CAAC;gBAC3B,IAAA,wBAAQ,EAAC,iBAAiB,OAAO,CAAC,SAAS,EAAE,EAAE;oBAC7C,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,IAAA,wBAAQ,EAAC,+BAA+B,OAAO,EAAE,EAAE;oBACjD,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;YACL,CAAC;YAED,IAAA,wBAAQ,EAAC,mCAAmC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACtE,CAAC,CAAC;IACJ,CAAC;CAAA;AAvID,4CAuIC;AAED,kBAAe,gBAAgB,CAAC"}
|
|
@@ -11,5 +11,7 @@ exports.default = {
|
|
|
11
11
|
'update:prod': 'cross-env EXPO_PUBLIC_APP_ENV=production eas update --branch production',
|
|
12
12
|
'submit:dev': 'cross-env EXPO_PUBLIC_APP_ENV=development eas submit --no-wait --profile=development',
|
|
13
13
|
'submit:prod': 'cross-env EXPO_PUBLIC_APP_ENV=production eas submit --no-wait --profile=production',
|
|
14
|
+
android: 'npx expo run:android',
|
|
15
|
+
ios: 'npx expo run:ios',
|
|
14
16
|
};
|
|
15
17
|
//# sourceMappingURL=scripts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/expo-app/scripts.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,KAAK,EAAE,0DAA0D;IACjE,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;
|
|
1
|
+
{"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/expo-app/scripts.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACb,KAAK,EAAE,0DAA0D;IACjE,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;IACnG,OAAO,EAAE,sBAAsB;IAC/B,GAAG,EAAE,kBAAkB;CACxB,CAAC"}
|
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, {<% if (withForwardRef) { %> useRefCallback,<% } %> Fragment, ReactElement} from 'react';
|
|
2
2
|
|
|
3
3
|
interface <%= name %>Props {
|
|
4
4
|
// TODO: Describe props
|
|
5
|
+
<% if (withForwardRef) { %>
|
|
6
|
+
forwardedRef?: React.Ref<any>;
|
|
7
|
+
<% } %>
|
|
5
8
|
}
|
|
6
9
|
|
|
7
|
-
<% if(withForwardRef) { %>
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
ref: ForwardedRef<>, // TODO: add ref type
|
|
11
|
-
): ReactElement {
|
|
10
|
+
<% if (withForwardRef) { %>
|
|
11
|
+
export function <%= name %>(props: <%= name %>Props): ReactElement {
|
|
12
|
+
const refCallback = useRefCallback(props.forwardedRef);
|
|
12
13
|
// TODO: Implement component
|
|
13
|
-
return <Fragment />;
|
|
14
|
-
}
|
|
14
|
+
return <Fragment ref={refCallback} />;
|
|
15
|
+
}
|
|
15
16
|
<% } else { %>
|
|
16
17
|
export function <%= name %>(props: <%= name %>Props): ReactElement {
|
|
17
18
|
// TODO: Implement component
|
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, {<% if (withComponentForwardRef) { %>useRefCallback,<% } %> Fragment, ReactElement} from 'react';
|
|
2
2
|
|
|
3
3
|
interface <%= name %>Props {
|
|
4
4
|
// TODO: Describe props
|
|
5
|
+
<% if (withComponentForwardRef) { %>
|
|
6
|
+
forwardedRef?: React.Ref<any>;
|
|
7
|
+
<% } %>
|
|
5
8
|
}
|
|
6
9
|
|
|
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
10
|
export function <%= name %>(props: <%= name %>Props): ReactElement {
|
|
11
|
+
<% if (withComponentForwardRef) { %>
|
|
12
|
+
const refCallback = useRefCallback(props.forwardedRef);
|
|
13
|
+
<% } %>
|
|
14
|
+
|
|
17
15
|
// TODO: Implement component
|
|
18
|
-
return <Fragment />;
|
|
16
|
+
return <Fragment <% if (withComponentForwardRef) { %>ref={refCallback}<% } %> />;
|
|
19
17
|
}
|
|
20
|
-
<% } %>
|
|
@@ -23,8 +23,7 @@ function reactLibGenerator(tree, options) {
|
|
|
23
23
|
limit: Object.values(utils_1.LibraryType).length,
|
|
24
24
|
choices: Object.values(utils_1.LibraryType),
|
|
25
25
|
}).run();
|
|
26
|
-
options.name =
|
|
27
|
-
options.name || (yield (0, utils_1.askQuestion)('Enter the name of the library (e.g: settings): '));
|
|
26
|
+
options.name = options.name || (yield (0, utils_1.askQuestion)('Enter the name of the library (e.g: settings): '));
|
|
28
27
|
if ([utils_1.LibraryType.FEATURES, utils_1.LibraryType.UI].includes(options.type) &&
|
|
29
28
|
!(0, lodash_1.isBoolean)(options.withComponent)) {
|
|
30
29
|
options.withComponent = yield (0, utils_1.confirm)('Generate component inside lib folder?');
|
|
@@ -46,8 +45,10 @@ function reactLibGenerator(tree, options) {
|
|
|
46
45
|
if (options.withComponent) {
|
|
47
46
|
const srcPath = `${libPath}/src`;
|
|
48
47
|
(0, devkit_1.generateFiles)(tree, path.join(__dirname, 'files'), srcPath, Object.assign(Object.assign({}, options), { name: (0, utils_1.formatName)(options.name, true) }));
|
|
49
|
-
tree.write(`${srcPath}/index.ts`,
|
|
48
|
+
tree.write(`${srcPath}/index.ts`, "export * from './lib';");
|
|
50
49
|
}
|
|
50
|
+
//Remove unnecessary tsconfig.lib.json
|
|
51
|
+
tree.delete(`${libPath}/tsconfig.lib.json`);
|
|
51
52
|
(0, utils_1.addNxScopeTag)(tree, scopeTag);
|
|
52
53
|
yield (0, devkit_1.formatFiles)(tree);
|
|
53
54
|
if (libDirectoryName !== options.name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/react-lib/generator.ts"],"names":[],"mappings":";;;;AAAA,iDAAyC;AACzC,6BAA6B;AAC7B,uCAAsE;AACtE,mCAAmC;AACnC,8CAU4B;AAG5B,SAAsB,iBAAiB,CAAC,IAAU,EAAE,OAAgC;;QAClF,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAE7C,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,IAAI,YAAY,CAAC;gBACrB,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,0BAA0B;gBACnC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAW,CAAC,CAAC,MAAM;gBACxC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,mBAAW,CAAC;aACpC,CAAC,CAAC,GAAG,EAAE,CAAC;QAEb,OAAO,CAAC,IAAI
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../plugin/src/generators/react-lib/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,76 +3,75 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.devDependencies = exports.dependencies = void 0;
|
|
4
4
|
exports.dependencies = {
|
|
5
5
|
'expo-app': {
|
|
6
|
-
'@ronas-it/react-native-common-modules': '^0.
|
|
6
|
+
'@ronas-it/react-native-common-modules': '^1.0.0',
|
|
7
7
|
'react-native-mmkv': '^3.2.0',
|
|
8
|
-
'expo-constants': '
|
|
9
|
-
'expo-dev-client': '^5.0
|
|
10
|
-
'expo-router': '~
|
|
11
|
-
'react-native-safe-area-context': '^4.
|
|
12
|
-
'react-native-screens': '~4.
|
|
13
|
-
'expo-linking': '~7.
|
|
14
|
-
'expo-status-bar': '^2.
|
|
15
|
-
'expo-updates': '^0.
|
|
16
|
-
'expo-insights': '~0.
|
|
8
|
+
'expo-constants': '17.1.6',
|
|
9
|
+
'expo-dev-client': '^5.2.0',
|
|
10
|
+
'expo-router': '~5.1.0',
|
|
11
|
+
'react-native-safe-area-context': '^5.4.0',
|
|
12
|
+
'react-native-screens': '~4.11.1',
|
|
13
|
+
'expo-linking': '~7.1.5',
|
|
14
|
+
'expo-status-bar': '^2.2.3',
|
|
15
|
+
'expo-updates': '^0.28.14',
|
|
16
|
+
'expo-insights': '~0.9.3',
|
|
17
17
|
'lodash-es': '^4.17.21',
|
|
18
18
|
},
|
|
19
19
|
'expo-app-root': {
|
|
20
|
-
|
|
21
|
-
// https://github.com/kristerkari/react-native-svg-transformer/issues/329
|
|
22
|
-
'react-native-svg-transformer': '^1.4.0',
|
|
20
|
+
'react-native-svg-transformer': '^1.5.1',
|
|
23
21
|
},
|
|
24
22
|
'next-app': {
|
|
25
|
-
'next-intl': '^
|
|
23
|
+
'next-intl': '^4.1.0',
|
|
26
24
|
'lodash-es': '^4.17.21',
|
|
25
|
+
'class-transformer': '^0.5.1',
|
|
27
26
|
},
|
|
28
27
|
'api-client': {
|
|
29
|
-
'@ronas-it/axios-api-client': '^0.1.
|
|
28
|
+
'@ronas-it/axios-api-client': '^0.1.2',
|
|
30
29
|
},
|
|
31
30
|
auth: {
|
|
32
|
-
luxon: '^3.
|
|
31
|
+
luxon: '^3.6.1',
|
|
33
32
|
},
|
|
34
33
|
'rn-styles': {
|
|
35
34
|
'react-native-extended-stylesheet': '^0.12.0',
|
|
36
35
|
},
|
|
37
36
|
store: {
|
|
38
|
-
'@ronas-it/rtkq-entity-api': '^0.4.
|
|
39
|
-
'react-redux': '^9.
|
|
37
|
+
'@ronas-it/rtkq-entity-api': '^0.4.11',
|
|
38
|
+
'react-redux': '^9.2.0',
|
|
40
39
|
},
|
|
41
40
|
'ui-kitten': {
|
|
42
41
|
'@eva-design/eva': '^2.2.0',
|
|
43
42
|
'@ui-kitten/components': '^5.3.1',
|
|
44
43
|
},
|
|
45
44
|
form: {
|
|
46
|
-
'@hookform/resolvers': '^
|
|
47
|
-
'react-hook-form': '^7.
|
|
48
|
-
yup: '^1.
|
|
45
|
+
'@hookform/resolvers': '^5.1.1',
|
|
46
|
+
'react-hook-form': '^7.57.0',
|
|
47
|
+
yup: '^1.6.1',
|
|
49
48
|
},
|
|
50
49
|
sentry: {
|
|
51
50
|
expo: {
|
|
52
|
-
'@sentry/react-native': '~6.
|
|
51
|
+
'@sentry/react-native': '~6.14.0',
|
|
53
52
|
},
|
|
54
53
|
next: {
|
|
55
|
-
'@sentry/nextjs': '^
|
|
54
|
+
'@sentry/nextjs': '^9.28.1',
|
|
56
55
|
},
|
|
57
56
|
},
|
|
58
57
|
};
|
|
59
58
|
exports.devDependencies = {
|
|
60
59
|
'code-checks': {
|
|
61
|
-
'@eslint/compat': '^1.
|
|
62
|
-
'@eslint/eslintrc': '^3.
|
|
63
|
-
eslint: '^9.
|
|
64
|
-
prettier: '^3.3
|
|
65
|
-
'eslint-config-prettier': '^
|
|
66
|
-
'eslint-import-resolver-typescript': '^
|
|
67
|
-
'eslint-plugin-import': '^2.
|
|
68
|
-
'eslint-plugin-jsx-a11y': '^6.
|
|
69
|
-
'eslint-plugin-react': '^7.
|
|
70
|
-
'eslint-plugin-react-hooks': '^5.
|
|
60
|
+
'@eslint/compat': '^1.3.0',
|
|
61
|
+
'@eslint/eslintrc': '^3.3.1',
|
|
62
|
+
eslint: '^9.28.0',
|
|
63
|
+
prettier: '^3.5.3',
|
|
64
|
+
'eslint-config-prettier': '^10.1.5',
|
|
65
|
+
'eslint-import-resolver-typescript': '^4.4.3',
|
|
66
|
+
'eslint-plugin-import': '^2.31.0',
|
|
67
|
+
'eslint-plugin-jsx-a11y': '^6.10.2',
|
|
68
|
+
'eslint-plugin-react': '^7.37.5',
|
|
69
|
+
'eslint-plugin-react-hooks': '^5.2.0',
|
|
71
70
|
'eslint-plugin-unused-imports': '^4.1.4',
|
|
72
|
-
husky: '^9.1.
|
|
73
|
-
'@stylistic/eslint-plugin': '^
|
|
74
|
-
'@typescript-eslint/eslint-plugin': '^8.
|
|
75
|
-
'@typescript-eslint/parser': '^8.
|
|
71
|
+
husky: '^9.1.7',
|
|
72
|
+
'@stylistic/eslint-plugin': '^4.4.1',
|
|
73
|
+
'@typescript-eslint/eslint-plugin': '^8.34.0',
|
|
74
|
+
'@typescript-eslint/parser': '^8.34.0',
|
|
76
75
|
'tsc-files': '^1.1.4',
|
|
77
76
|
},
|
|
78
77
|
'expo-app': {
|
|
@@ -83,14 +82,14 @@ exports.devDependencies = {
|
|
|
83
82
|
},
|
|
84
83
|
'next-app': {
|
|
85
84
|
// nx/next 20 adds package that doesn't support eslint 9
|
|
86
|
-
'eslint-config-next': '^15.
|
|
85
|
+
'eslint-config-next': '^15.3.3',
|
|
87
86
|
'@types/lodash-es': '^4.17.12',
|
|
88
87
|
},
|
|
89
88
|
'repo-config': {
|
|
90
|
-
syncpack: '^
|
|
89
|
+
syncpack: '^13.0.4',
|
|
91
90
|
},
|
|
92
91
|
auth: {
|
|
93
|
-
'@types/luxon': '3.
|
|
92
|
+
'@types/luxon': '3.6.2',
|
|
94
93
|
},
|
|
95
94
|
};
|
|
96
95
|
//# sourceMappingURL=dependencies.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../../plugin/src/shared/dependencies.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE;QACV,uCAAuC,EAAE,QAAQ;QACjD,mBAAmB,EAAE,QAAQ;QAC7B,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../../plugin/src/shared/dependencies.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG;IAC1B,UAAU,EAAE;QACV,uCAAuC,EAAE,QAAQ;QACjD,mBAAmB,EAAE,QAAQ;QAC7B,gBAAgB,EAAE,QAAQ;QAC1B,iBAAiB,EAAE,QAAQ;QAC3B,aAAa,EAAE,QAAQ;QACvB,gCAAgC,EAAE,QAAQ;QAC1C,sBAAsB,EAAE,SAAS;QACjC,cAAc,EAAE,QAAQ;QACxB,iBAAiB,EAAE,QAAQ;QAC3B,cAAc,EAAE,UAAU;QAC1B,eAAe,EAAE,QAAQ;QACzB,WAAW,EAAE,UAAU;KACxB;IACD,eAAe,EAAE;QACf,8BAA8B,EAAE,QAAQ;KACzC;IACD,UAAU,EAAE;QACV,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,UAAU;QACvB,mBAAmB,EAAE,QAAQ;KAC9B;IACD,YAAY,EAAE;QACZ,4BAA4B,EAAE,QAAQ;KACvC;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,QAAQ;KAChB;IACD,WAAW,EAAE;QACX,kCAAkC,EAAE,SAAS;KAC9C;IACD,KAAK,EAAE;QACL,2BAA2B,EAAE,SAAS;QACtC,aAAa,EAAE,QAAQ;KACxB;IACD,WAAW,EAAE;QACX,iBAAiB,EAAE,QAAQ;QAC3B,uBAAuB,EAAE,QAAQ;KAClC;IACD,IAAI,EAAE;QACJ,qBAAqB,EAAE,QAAQ;QAC/B,iBAAiB,EAAE,SAAS;QAC5B,GAAG,EAAE,QAAQ;KACd;IACD,MAAM,EAAE;QACN,IAAI,EAAE;YACJ,sBAAsB,EAAE,SAAS;SAClC;QACD,IAAI,EAAE;YACJ,gBAAgB,EAAE,SAAS;SAC5B;KACF;CACF,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,aAAa,EAAE;QACb,gBAAgB,EAAE,QAAQ;QAC1B,kBAAkB,EAAE,QAAQ;QAC5B,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,QAAQ;QAClB,wBAAwB,EAAE,SAAS;QACnC,mCAAmC,EAAE,QAAQ;QAC7C,sBAAsB,EAAE,SAAS;QACjC,wBAAwB,EAAE,SAAS;QACnC,qBAAqB,EAAE,SAAS;QAChC,2BAA2B,EAAE,QAAQ;QACrC,8BAA8B,EAAE,QAAQ;QACxC,KAAK,EAAE,QAAQ;QACf,0BAA0B,EAAE,QAAQ;QACpC,kCAAkC,EAAE,SAAS;QAC7C,2BAA2B,EAAE,SAAS;QACtC,WAAW,EAAE,QAAQ;KACtB;IACD,UAAU,EAAE;QACV,kBAAkB,EAAE,UAAU;KAC/B;IACD,eAAe,EAAE;QACf,WAAW,EAAE,QAAQ;KACtB;IACD,UAAU,EAAE;QACV,wDAAwD;QACxD,oBAAoB,EAAE,SAAS;QAC/B,kBAAkB,EAAE,UAAU;KAC/B;IACD,aAAa,EAAE;QACb,QAAQ,EAAE,SAAS;KACpB;IACD,IAAI,EAAE;QACJ,cAAc,EAAE,OAAO;KACxB;CACF,CAAC"}
|
package/src/shared/generators/auth/lib-files/shared/data-access/api/src/lib/auth/api.ts.template
CHANGED
|
@@ -23,7 +23,7 @@ export const authApi = createAppApi({
|
|
|
23
23
|
data: request,
|
|
24
24
|
};
|
|
25
25
|
},
|
|
26
|
-
transformResponse: (response) => plainToInstance(LogInResponse, response),
|
|
26
|
+
transformResponse: (response: object) => plainToInstance(LogInResponse, response),
|
|
27
27
|
transformErrorResponse: (response) => ({ ...response, skipToast: true }),
|
|
28
28
|
}),
|
|
29
29
|
register: builder.mutation<LogInResponse, RegisterRequest>({
|
|
@@ -36,7 +36,7 @@ export const authApi = createAppApi({
|
|
|
36
36
|
data: request,
|
|
37
37
|
};
|
|
38
38
|
},
|
|
39
|
-
transformResponse: (response) => plainToInstance(LogInResponse, response),
|
|
39
|
+
transformResponse: (response: object) => plainToInstance(LogInResponse, response),
|
|
40
40
|
transformErrorResponse: (response) => ({ ...response, skipToast: true }),
|
|
41
41
|
}),
|
|
42
42
|
refreshToken: builder.mutation<RefreshTokenResponse, void>({
|
package/src/shared/generators/auth/lib-files/shared/data-access/api/src/lib/profile/api.ts.template
CHANGED
|
@@ -24,7 +24,7 @@ export const profileApi = createAppApi({
|
|
|
24
24
|
params,
|
|
25
25
|
};
|
|
26
26
|
},
|
|
27
|
-
transformResponse: (response) => plainToInstance(User, response),
|
|
27
|
+
transformResponse: (response: object) => plainToInstance(User, response),
|
|
28
28
|
providesTags: [ProfileApiTag.PROFILE],
|
|
29
29
|
}),
|
|
30
30
|
updateProfile: builder.mutation<void, User>({
|
|
@@ -8,7 +8,7 @@ interface FilteringSearchParamsConfig<TParams> {
|
|
|
8
8
|
}
|
|
9
9
|
|
|
10
10
|
export const useFilteringSearchParams = <TParams extends FilteringSearchParams>({
|
|
11
|
-
searchParamsConstructor
|
|
11
|
+
searchParamsConstructor,
|
|
12
12
|
}: FilteringSearchParamsConfig<TParams>): typeof result => {
|
|
13
13
|
const initialParams = useRef<TParams | null>(null);
|
|
14
14
|
const searchParams = useSearchParams();
|
|
@@ -18,16 +18,30 @@ export const useFilteringSearchParams = <TParams extends FilteringSearchParams>(
|
|
|
18
18
|
const getSearchParams = useCallback((): TParams => {
|
|
19
19
|
const initialParams = {} as Record<string, any>;
|
|
20
20
|
searchParams.forEach((value, key) => {
|
|
21
|
+
let parsedValue: any;
|
|
22
|
+
|
|
21
23
|
try {
|
|
22
|
-
|
|
24
|
+
parsedValue = JSON.parse(value);
|
|
23
25
|
} catch {
|
|
24
|
-
|
|
26
|
+
parsedValue = value;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (key in initialParams) {
|
|
30
|
+
if (Array.isArray(initialParams[key])) {
|
|
31
|
+
if (!initialParams[key].includes(parsedValue)) {
|
|
32
|
+
initialParams[key].push(parsedValue);
|
|
33
|
+
}
|
|
34
|
+
} else {
|
|
35
|
+
initialParams[key] = [...new Set([initialParams[key], parsedValue])];
|
|
36
|
+
}
|
|
37
|
+
} else {
|
|
38
|
+
initialParams[key] = parsedValue;
|
|
25
39
|
}
|
|
26
40
|
});
|
|
27
41
|
|
|
28
42
|
return plainToInstance(searchParamsConstructor, initialParams, {
|
|
29
43
|
excludeExtraneousValues: true,
|
|
30
|
-
exposeUnsetFields: false
|
|
44
|
+
exposeUnsetFields: false,
|
|
31
45
|
});
|
|
32
46
|
}, [searchParams]);
|
|
33
47
|
|
|
@@ -39,8 +53,15 @@ export const useFilteringSearchParams = <TParams extends FilteringSearchParams>(
|
|
|
39
53
|
Object.keys(plainParams).forEach((field) => {
|
|
40
54
|
const value = plainParams[field];
|
|
41
55
|
|
|
42
|
-
if (value !== null && value !== undefined
|
|
43
|
-
|
|
56
|
+
if (value !== null && value !== undefined) {
|
|
57
|
+
if (Array.isArray(value)) {
|
|
58
|
+
const uniqueValues = new Set(value);
|
|
59
|
+
uniqueValues.forEach((item) => {
|
|
60
|
+
newSearchParams.append(field, JSON.stringify(item));
|
|
61
|
+
});
|
|
62
|
+
} else {
|
|
63
|
+
newSearchParams.set(field, JSON.stringify(value));
|
|
64
|
+
}
|
|
44
65
|
}
|
|
45
66
|
});
|
|
46
67
|
|
|
@@ -54,7 +75,7 @@ export const useFilteringSearchParams = <TParams extends FilteringSearchParams>(
|
|
|
54
75
|
|
|
55
76
|
const result = {
|
|
56
77
|
initialSearchParams: initialParams.current,
|
|
57
|
-
setSearchParams
|
|
78
|
+
setSearchParams,
|
|
58
79
|
};
|
|
59
80
|
|
|
60
81
|
return result;
|
|
@@ -2,27 +2,14 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.runNavigationUtilsGenerator = void 0;
|
|
4
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
5
|
const enums_1 = require("../../enums");
|
|
9
|
-
const utils_1 = require("
|
|
6
|
+
const utils_1 = require("./utils");
|
|
10
7
|
function runNavigationUtilsGenerator(tree, options) {
|
|
11
8
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
});
|
|
17
|
-
// Remove unnecessary files and files that will be replaced
|
|
18
|
-
const libPath = `${libRoot}/shared/utils/navigation/src`;
|
|
19
|
-
tree.delete(`${libPath}/index.ts`);
|
|
20
|
-
// Add lib files
|
|
21
|
-
(0, devkit_1.generateFiles)(tree, path.join(__dirname, '/common-lib-files'), libRoot, {});
|
|
22
|
-
if (options.baseGeneratorType === enums_1.BaseGeneratorType.NEXT_APP) {
|
|
23
|
-
(0, devkit_1.generateFiles)(tree, path.join(__dirname, '/next-app-lib-files'), libRoot, {});
|
|
24
|
-
const newIndexContent = `export * from './hooks';\nexport * from './types';`;
|
|
25
|
-
(0, utils_1.appendFileContent)(`${libPath}/lib/index.ts`, newIndexContent, tree);
|
|
9
|
+
const { appDirectory, baseGeneratorType } = options;
|
|
10
|
+
(0, utils_1.setupLib)(tree, appDirectory, 'navigation');
|
|
11
|
+
if (baseGeneratorType === enums_1.BaseGeneratorType.NEXT_APP) {
|
|
12
|
+
(0, utils_1.setupLib)(tree, appDirectory, 'filtering-search-params');
|
|
26
13
|
}
|
|
27
14
|
});
|
|
28
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../plugin/src/shared/generators/navigation-utils/generator.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../plugin/src/shared/generators/navigation-utils/generator.ts"],"names":[],"mappings":";;;;AACA,uCAAgD;AAEhD,mCAAmC;AAEnC,SAAsB,2BAA2B,CAAC,IAAU,EAAE,OAAuC;;QACnG,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC;QAEpD,IAAA,gBAAQ,EAAC,IAAI,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAE3C,IAAI,iBAAiB,KAAK,yBAAiB,CAAC,QAAQ,EAAE,CAAC;YACrD,IAAA,gBAAQ,EAAC,IAAI,EAAE,YAAY,EAAE,yBAAyB,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;CAAA;AARD,kEAQC;AAED,kBAAe,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './lib';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './setup-lib';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../plugin/src/shared/generators/navigation-utils/utils/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setupLib = void 0;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const devkit_1 = require("@nx/devkit");
|
|
7
|
+
function setupLib(tree, appDirectory, libName) {
|
|
8
|
+
(0, child_process_1.execSync)(`npx nx g react-lib --app=${appDirectory} --scope=shared --type=utils --name=${libName}`, {
|
|
9
|
+
stdio: 'inherit',
|
|
10
|
+
});
|
|
11
|
+
const libRoot = `libs/${appDirectory}`;
|
|
12
|
+
const libPath = `${libRoot}/shared/utils/${libName}/src`;
|
|
13
|
+
tree.delete(`${libPath}/index.ts`);
|
|
14
|
+
(0, devkit_1.generateFiles)(tree, path.join(__dirname, `../${libName}-lib-files`), libRoot, {});
|
|
15
|
+
}
|
|
16
|
+
exports.setupLib = setupLib;
|
|
17
|
+
//# sourceMappingURL=setup-lib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup-lib.js","sourceRoot":"","sources":["../../../../../../../plugin/src/shared/generators/navigation-utils/utils/setup-lib.ts"],"names":[],"mappings":";;;AAAA,iDAAyC;AACzC,6BAA6B;AAC7B,uCAAiD;AAEjD,SAAgB,QAAQ,CAAC,IAAU,EAAE,YAAoB,EAAE,OAAe;IACxE,IAAA,wBAAQ,EAAC,4BAA4B,YAAY,uCAAuC,OAAO,EAAE,EAAE;QACjG,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,QAAQ,YAAY,EAAE,CAAC;IACvC,MAAM,OAAO,GAAG,GAAG,OAAO,iBAAiB,OAAO,MAAM,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,WAAW,CAAC,CAAC;IAEnC,IAAA,sBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,OAAO,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;AACpF,CAAC;AAVD,4BAUC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Middleware, Reducer } from '@reduxjs/toolkit';
|
|
2
|
-
import { setupReactotron } from '@ronas-it/react-native-common-modules';
|
|
2
|
+
import { setupReactotron } from '@ronas-it/react-native-common-modules/src/data-access/store/utils/reactotron/builder';
|
|
3
3
|
import {
|
|
4
4
|
AppStateFromRootReducer,
|
|
5
5
|
createStoreInitializer,
|
|
@@ -23,7 +23,7 @@ export const isTablet = screenWidth <= ViewPortWidthBreakpoints.TABLET;
|
|
|
23
23
|
|
|
24
24
|
export function createAdaptiveStyles<T extends EStyleSet = EStyleSet>(
|
|
25
25
|
stylesOrGetter: EStyleSet<T> | ((theme: Theme) => T),
|
|
26
|
-
):
|
|
26
|
+
): (theme?: Theme) => StyleSet<T> {
|
|
27
27
|
const useAdaptiveStyles = (theme?: Theme): StyleSet<T> => {
|
|
28
28
|
const { width } = useWindowDimensions();
|
|
29
29
|
const appTheme = useAppTheme();
|
|
@@ -36,4 +36,3 @@ export function createAdaptiveStyles<T extends EStyleSet = EStyleSet>(
|
|
|
36
36
|
|
|
37
37
|
return useAdaptiveStyles;
|
|
38
38
|
}
|
|
39
|
-
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|