@nrwl/react-native 14.8.8 → 14.9.0-beta.1
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/CHANGELOG.md +1 -1
- package/LICENSE +22 -22
- package/README.md +6 -27
- package/migrations.json +268 -0
- package/package.json +13 -13
- package/plugins/metro-resolver.js +16 -5
- package/plugins/metro-resolver.js.map +1 -1
- package/project.json +5 -35
- package/src/executors/build-android/build-android.impl.js +3 -4
- package/src/executors/build-android/build-android.impl.js.map +1 -1
- package/src/executors/build-android/build-android.impl.ts +4 -4
- package/src/executors/build-android/schema.json +4 -1
- package/src/executors/bundle/bundle.impl.js +2 -2
- package/src/executors/bundle/bundle.impl.js.map +1 -1
- package/src/executors/bundle/bundle.impl.ts +4 -3
- package/src/executors/bundle/schema.d.ts +1 -1
- package/src/executors/bundle/schema.json +5 -1
- package/src/executors/ensure-symlink/ensure-symlink.impl.js +1 -1
- package/src/executors/ensure-symlink/ensure-symlink.impl.js.map +1 -1
- package/src/executors/ensure-symlink/ensure-symlink.impl.ts +2 -1
- package/src/executors/ensure-symlink/schema.json +2 -0
- package/src/executors/run-android/run-android.impl.js +8 -4
- package/src/executors/run-android/run-android.impl.js.map +1 -1
- package/src/executors/run-android/run-android.impl.ts +8 -3
- package/src/executors/run-android/schema.d.ts +1 -0
- package/src/executors/run-android/schema.json +11 -2
- package/src/executors/run-ios/run-ios.impl.js +1 -1
- package/src/executors/run-ios/run-ios.impl.js.map +1 -1
- package/src/executors/run-ios/run-ios.impl.ts +2 -1
- package/src/executors/run-ios/schema.json +21 -7
- package/src/executors/start/schema.json +4 -1
- package/src/executors/start/start.impl.js +2 -2
- package/src/executors/start/start.impl.js.map +1 -1
- package/src/executors/start/start.impl.ts +3 -2
- package/src/executors/storybook/schema.json +2 -0
- package/src/executors/storybook/storybook.impl.js +1 -1
- package/src/executors/storybook/storybook.impl.js.map +1 -1
- package/src/executors/storybook/storybook.impl.ts +2 -1
- package/src/executors/sync-deps/schema.json +2 -0
- package/src/executors/sync-deps/sync-deps.impl.js +1 -1
- package/src/executors/sync-deps/sync-deps.impl.js.map +1 -1
- package/src/executors/sync-deps/sync-deps.impl.ts +2 -1
- package/src/generators/application/application.d.ts +1 -1
- package/src/generators/application/application.js +6 -8
- package/src/generators/application/application.js.map +1 -1
- package/src/generators/application/application.spec.ts +124 -5
- package/src/generators/application/files/app/.ruby-version +1 -0
- package/src/generators/application/files/app/Gemfile.template +6 -0
- package/src/generators/application/files/app/android/app/build.gradle.template +71 -217
- package/src/generators/application/files/app/android/app/src/androidTest/java/com/__lowerCaseName__/DetoxTest.java.template +2 -8
- package/src/generators/application/files/app/android/app/src/debug/java/com/__lowerCaseName__/ReactNativeFlipper.java.template +4 -2
- package/src/generators/application/files/app/android/app/src/main/AndroidManifest.xml.template +3 -3
- package/src/generators/application/files/app/android/app/src/main/java/com/__lowerCaseName__/MainActivity.java.template +13 -26
- package/src/generators/application/files/app/android/app/src/main/java/com/__lowerCaseName__/MainApplication.java.template +19 -48
- package/src/generators/application/files/app/android/app/src/release/java/com/__lowerCaseName__/ReactNativeFlipper.java.template +20 -0
- package/src/generators/application/files/app/android/build.gradle.template +13 -36
- package/src/generators/application/files/app/android/gradle.properties +4 -0
- package/src/generators/application/files/app/android/settings.gradle.template +2 -17
- package/src/generators/application/files/app/ios/Podfile.template +21 -5
- package/src/generators/application/files/app/ios/__className__/AppDelegate.h +2 -4
- package/src/generators/application/files/app/ios/__className__/AppDelegate.mm.template +12 -109
- package/src/generators/application/files/app/ios/__className__/Info.plist.template +2 -2
- package/src/generators/application/files/app/ios/__className__.xcodeproj/project.pbxproj.template +4 -2
- package/src/generators/application/files/app/ios/__className__.xcworkspace/{contents.xcworkspacedata → xcshareddata/contents.xcworkspacedata} +1 -1
- package/src/generators/application/files/app/src/app/App.tsx.template +224 -38
- package/src/generators/application/files/app/tsconfig.app.json.template +2 -2
- package/src/generators/application/files/app/tsconfig.json.template +3 -2
- package/src/generators/application/lib/add-detox.js +1 -1
- package/src/generators/application/lib/add-detox.js.map +1 -1
- package/src/generators/application/lib/add-project.js +2 -8
- package/src/generators/application/lib/add-project.js.map +1 -1
- package/src/generators/application/lib/create-application-files.js +2 -2
- package/src/generators/application/lib/create-application-files.js.map +1 -1
- package/src/generators/application/lib/nomalize-options.spec.ts +1 -1
- package/src/generators/application/lib/normalize-options.js +1 -1
- package/src/generators/application/lib/normalize-options.js.map +1 -1
- package/src/generators/application/schema.d.ts +1 -0
- package/src/generators/application/schema.json +14 -7
- package/src/generators/component/component.js +6 -2
- package/src/generators/component/component.js.map +1 -1
- package/src/generators/component/component.spec.ts +1 -1
- package/src/generators/component/lib/add-import.d.ts +1 -1
- package/src/generators/component/lib/add-import.js +7 -3
- package/src/generators/component/lib/add-import.js.map +1 -1
- package/src/generators/component/schema.json +3 -3
- package/src/generators/component-story/component-story.spec.ts +9 -14
- package/src/generators/init/init.d.ts +3 -3
- package/src/generators/init/init.js +16 -9
- package/src/generators/init/init.js.map +1 -1
- package/src/generators/init/init.spec.ts +1 -1
- package/src/generators/init/lib/gitignore-entries.d.ts +1 -1
- package/src/generators/init/lib/gitignore-entries.js +17 -9
- package/src/generators/init/lib/gitignore-entries.js.map +1 -1
- package/src/generators/init/schema.d.ts +1 -0
- package/src/generators/init/schema.json +8 -1
- package/src/generators/library/files/lib/tsconfig.json__tmpl__ +1 -1
- package/src/generators/library/files/lib/tsconfig.lib.json__tmpl__ +3 -4
- package/src/generators/library/library.js +8 -24
- package/src/generators/library/library.js.map +1 -1
- package/src/generators/library/library.spec.ts +14 -1
- package/src/generators/library/schema.d.ts +1 -1
- package/src/generators/library/schema.json +14 -10
- package/src/generators/stories/stories-app.spec.ts +1 -1
- package/src/generators/stories/stories-lib.spec.ts +1 -1
- package/src/generators/stories/stories.js +6 -4
- package/src/generators/stories/stories.js.map +1 -1
- package/src/generators/storybook-configuration/configuration.js +3 -2
- package/src/generators/storybook-configuration/configuration.js.map +1 -1
- package/src/generators/storybook-configuration/configuration.spec.ts +10 -6
- package/src/generators/storybook-configuration/files/app/storybook.ts.template +4 -4
- package/src/generators/storybook-configuration/lib/add-resolver-main-fields-to-metro-config.spec.ts +1 -1
- package/src/generators/storybook-configuration/lib/create-storybook-files.js +5 -6
- package/src/generators/storybook-configuration/lib/create-storybook-files.js.map +1 -1
- package/src/generators/storybook-configuration/lib/replace-app-import-with-storybook-toggle.spec.ts +1 -1
- package/src/generators/storybook-configuration/schema.json +6 -3
- package/src/generators/upgrade-native/schema.json +2 -1
- package/src/generators/upgrade-native/upgrade-native.d.ts +5 -1
- package/src/generators/upgrade-native/upgrade-native.js +10 -13
- package/src/generators/upgrade-native/upgrade-native.js.map +1 -1
- package/src/migrations/update-12-10-0/add-react-native-svg-12-10-0.spec.ts +1 -1
- package/src/migrations/update-12-5-0/update-jest-for-react-native.js +1 -1
- package/src/migrations/update-12-5-0/update-jest-for-react-native.js.map +1 -1
- package/src/migrations/update-13-5-0/add-babel-config-root-13-5-0.js +2 -2
- package/src/migrations/update-13-5-0/add-babel-config-root-13-5-0.js.map +1 -1
- package/src/migrations/update-13-5-0/add-babel-config-root-13-5-0.spec.ts +1 -1
- package/src/migrations/update-13-5-0/update-react-native-typing-svg-13-5-0.spec.ts +1 -1
- package/src/migrations/update-14-0-0/add-project-root-metro-config-14-0-0.spec.ts +1 -1
- package/src/migrations/update-14-0-0/update-entry-file-bundle-14-0-0.spec.ts +1 -1
- package/src/migrations/update-14-0-2/change-main-to-class-name-14-0-2.spec.ts +1 -1
- package/src/migrations/update-14-2-1/rename-blockList-metro-config.spec.ts +1 -1
- package/src/migrations/update-14-5-5/add-exclude-sync-deps.spec.ts +1 -1
- package/src/migrations/update-14-5-8/change-searchDir-storybook.spec.ts +1 -1
- package/src/migrations/update-14-6-0/remove-jest-transform.js +1 -1
- package/src/migrations/update-14-6-0/remove-jest-transform.js.map +1 -1
- package/src/migrations/update-14-6-0/remove-jest-transform.spec.ts +1 -1
- package/src/migrations/update-15-0-0/add-babel-inputs.d.ts +2 -0
- package/src/migrations/update-15-0-0/add-babel-inputs.js +11 -0
- package/src/migrations/update-15-0-0/add-babel-inputs.js.map +1 -0
- package/src/migrations/update-15-0-0/add-babel-inputs.spec.ts +73 -0
- package/src/utils/add-jest.d.ts +1 -1
- package/src/utils/add-jest.js +3 -2
- package/src/utils/add-jest.js.map +1 -1
- package/src/utils/add-linting.d.ts +3 -2
- package/src/utils/add-linting.js +16 -17
- package/src/utils/add-linting.js.map +1 -1
- package/src/utils/add-linting.spec.ts +2 -17
- package/src/utils/chmod-android-gradle-files.d.ts +3 -0
- package/src/utils/chmod-android-gradle-files.js +24 -0
- package/src/utils/chmod-android-gradle-files.js.map +1 -0
- package/src/utils/find-all-npm-dependencies.spec.ts +1 -1
- package/src/utils/pod-install-task.js +1 -1
- package/src/utils/pod-install-task.js.map +1 -1
- package/src/utils/versions.d.ts +17 -13
- package/src/utils/versions.js +18 -14
- package/src/utils/versions.js.map +1 -1
- package/src/generators/application/files/app/android/app/_BUCK.template +0 -55
- package/src/generators/application/files/app/android/app/build_defs.bzl +0 -19
- package/src/generators/application/files/app/android/app/src/main/java/com/__lowerCaseName__/newarchitecture/MainApplicationReactNativeHost.java.template +0 -116
- package/src/generators/application/files/app/android/app/src/main/java/com/__lowerCaseName__/newarchitecture/components/MainComponentsRegistry.java.template +0 -36
- package/src/generators/application/files/app/android/app/src/main/java/com/__lowerCaseName__/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate.java.template +0 -48
- package/src/generators/application/files/app/android/app/src/main/jni/CMakeLists.txt.template +0 -6
- package/src/generators/application/files/app/android/app/src/main/jni/MainApplicationModuleProvider.cpp +0 -32
- package/src/generators/application/files/app/android/app/src/main/jni/MainApplicationModuleProvider.h +0 -16
- package/src/generators/application/files/app/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.cpp +0 -45
- package/src/generators/application/files/app/android/app/src/main/jni/MainApplicationTurboModuleManagerDelegate.h.template +0 -38
- package/src/generators/application/files/app/android/app/src/main/jni/MainComponentsRegistry.cpp +0 -65
- package/src/generators/application/files/app/android/app/src/main/jni/MainComponentsRegistry.h.template +0 -32
- package/src/generators/application/files/app/android/app/src/main/jni/OnLoad.cpp +0 -11
- package/src/generators/application/files/app/ios/__className__.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/src/generators/application/files/app/src/app/icons/blog.svg +0 -1
- package/src/generators/application/files/app/src/app/icons/book.svg +0 -1
- package/src/generators/application/files/app/src/app/icons/checkmark.svg +0 -1
- package/src/generators/application/files/app/src/app/icons/chevron-right.svg +0 -1
- package/src/generators/application/files/app/src/app/icons/courses.svg +0 -1
- package/src/generators/application/files/app/src/app/icons/github.svg +0 -1
- package/src/generators/application/files/app/src/app/icons/heart.svg +0 -1
- package/src/generators/application/files/app/src/app/icons/logo.png +0 -0
- package/src/generators/application/files/app/src/app/icons/nx-cloud.svg +0 -1
- package/src/generators/application/files/app/src/app/icons/pointer.svg +0 -1
- package/src/generators/application/files/app/src/app/icons/terminal.svg +0 -1
- package/src/generators/application/files/app/src/app/icons/vscode.svg +0 -1
- package/src/generators/application/files/app/src/app/icons/youtube.svg +0 -1
- package/src/generators/init/lib/init-root-babel-config.d.ts +0 -2
- package/src/generators/init/lib/init-root-babel-config.js +0 -20
- package/src/generators/init/lib/init-root-babel-config.js.map +0 -1
- package/src/utils/chmod-task.d.ts +0 -2
- package/src/utils/chmod-task.js +0 -18
- package/src/utils/chmod-task.js.map +0 -1
|
@@ -9,7 +9,7 @@ describe('component', () => {
|
|
|
9
9
|
|
|
10
10
|
beforeEach(async () => {
|
|
11
11
|
projectName = 'my-lib';
|
|
12
|
-
appTree = createTreeWithEmptyWorkspace();
|
|
12
|
+
appTree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' });
|
|
13
13
|
appTree.write('.gitignore', '');
|
|
14
14
|
await createApp(appTree, 'my-app');
|
|
15
15
|
await createLib(appTree, projectName);
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addImport = void 0;
|
|
4
|
-
const typescript_1 = require("
|
|
5
|
-
const ts = require("typescript");
|
|
4
|
+
const typescript_1 = require("nx/src/utils/typescript");
|
|
6
5
|
const devkit_1 = require("@nrwl/devkit");
|
|
6
|
+
const ensure_typescript_1 = require("@nrwl/js/src/utils/typescript/ensure-typescript");
|
|
7
|
+
let tsModule;
|
|
7
8
|
function addImport(source, statement) {
|
|
8
|
-
|
|
9
|
+
if (!tsModule) {
|
|
10
|
+
tsModule = (0, ensure_typescript_1.ensureTypescript)();
|
|
11
|
+
}
|
|
12
|
+
const allImports = (0, typescript_1.findNodes)(source, tsModule.SyntaxKind.ImportDeclaration);
|
|
9
13
|
if (allImports.length > 0) {
|
|
10
14
|
const lastImport = allImports[allImports.length - 1];
|
|
11
15
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-import.js","sourceRoot":"","sources":["../../../../../../../packages/react-native/src/generators/component/lib/add-import.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"add-import.js","sourceRoot":"","sources":["../../../../../../../packages/react-native/src/generators/component/lib/add-import.ts"],"names":[],"mappings":";;;AAAA,wDAAoD;AAEpD,yCAAwD;AACxD,uFAAmF;AAEnF,IAAI,QAAqC,CAAC;AAC1C,SAAgB,SAAS,CACvB,MAAqB,EACrB,SAAiB;IAEjB,IAAI,CAAC,QAAQ,EAAE;QACb,QAAQ,GAAG,IAAA,oCAAgB,GAAE,CAAC;KAC/B;IACD,MAAM,UAAU,GAAG,IAAA,sBAAS,EAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC5E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;QACzB,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrD,OAAO;YACL;gBACE,IAAI,EAAE,mBAAU,CAAC,MAAM;gBACvB,KAAK,EAAE,UAAU,CAAC,GAAG,GAAG,CAAC;gBACzB,IAAI,EAAE,KAAK,SAAS,IAAI;aACzB;SACF,CAAC;KACH;SAAM;QACL,OAAO;YACL;gBACE,IAAI,EAAE,mBAAU,CAAC,MAAM;gBACvB,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,KAAK,SAAS,IAAI;aACzB;SACF,CAAC;KACH;AACH,CAAC;AA1BD,8BA0BC"}
|
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
"type": "object",
|
|
8
8
|
"examples": [
|
|
9
9
|
{
|
|
10
|
-
"command": "nx g component my-component --project=mylib",
|
|
10
|
+
"command": "nx g @nrwl/react-native:component my-component --project=mylib",
|
|
11
11
|
"description": "Generate a component in the `mylib` library"
|
|
12
12
|
},
|
|
13
13
|
{
|
|
14
|
-
"command": "nx g component my-component --project=mylib --classComponent",
|
|
14
|
+
"command": "nx g @nrwl/react-native:component my-component --project=mylib --classComponent",
|
|
15
15
|
"description": "Generate a class component in the `mylib` library"
|
|
16
16
|
}
|
|
17
17
|
],
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"directory": {
|
|
48
48
|
"type": "string",
|
|
49
49
|
"description": "Create the component under this directory (can be nested).",
|
|
50
|
-
"
|
|
50
|
+
"x-priority": "important"
|
|
51
51
|
},
|
|
52
52
|
"flat": {
|
|
53
53
|
"type": "boolean",
|
|
@@ -15,7 +15,7 @@ describe('react-native:component-story', () => {
|
|
|
15
15
|
|
|
16
16
|
describe('default setup', () => {
|
|
17
17
|
beforeEach(async () => {
|
|
18
|
-
appTree = await createTestUILib('test-ui-lib'
|
|
18
|
+
appTree = await createTestUILib('test-ui-lib');
|
|
19
19
|
});
|
|
20
20
|
|
|
21
21
|
describe('when file does not contain a component', () => {
|
|
@@ -376,7 +376,7 @@ describe('react-native:component-story', () => {
|
|
|
376
376
|
|
|
377
377
|
describe('using eslint', () => {
|
|
378
378
|
beforeEach(async () => {
|
|
379
|
-
appTree = await createTestUILib('test-ui-lib'
|
|
379
|
+
appTree = await createTestUILib('test-ui-lib');
|
|
380
380
|
await componentGenerator(appTree, {
|
|
381
381
|
name: 'test-ui-lib',
|
|
382
382
|
project: 'test-ui-lib',
|
|
@@ -404,16 +404,13 @@ describe('react-native:component-story', () => {
|
|
|
404
404
|
});
|
|
405
405
|
});
|
|
406
406
|
|
|
407
|
-
export async function createTestUILib(
|
|
408
|
-
|
|
409
|
-
useEsLint = false
|
|
410
|
-
): Promise<Tree> {
|
|
411
|
-
let appTree = createTreeWithEmptyWorkspace();
|
|
407
|
+
export async function createTestUILib(libName: string): Promise<Tree> {
|
|
408
|
+
let appTree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' });
|
|
412
409
|
appTree.write('.gitignore', '');
|
|
413
410
|
|
|
414
411
|
await libraryGenerator(appTree, {
|
|
415
412
|
name: libName,
|
|
416
|
-
linter:
|
|
413
|
+
linter: Linter.EsLint,
|
|
417
414
|
skipFormat: true,
|
|
418
415
|
skipTsConfig: false,
|
|
419
416
|
unitTestRunner: 'jest',
|
|
@@ -425,14 +422,12 @@ export async function createTestUILib(
|
|
|
425
422
|
export: true,
|
|
426
423
|
});
|
|
427
424
|
|
|
428
|
-
|
|
429
|
-
const currentWorkspaceJson = getProjects(appTree);
|
|
425
|
+
const currentWorkspaceJson = getProjects(appTree);
|
|
430
426
|
|
|
431
|
-
|
|
432
|
-
|
|
427
|
+
const projectConfig = currentWorkspaceJson.get(libName);
|
|
428
|
+
projectConfig.targets.lint.options.linter = 'eslint';
|
|
433
429
|
|
|
434
|
-
|
|
435
|
-
}
|
|
430
|
+
updateProjectConfiguration(appTree, libName, projectConfig);
|
|
436
431
|
|
|
437
432
|
return appTree;
|
|
438
433
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Tree } from '@nrwl/devkit';
|
|
1
|
+
import { GeneratorCallback, Tree } from '@nrwl/devkit';
|
|
2
2
|
import { Schema } from './schema';
|
|
3
|
-
export declare function reactNativeInitGenerator(host: Tree, schema: Schema): Promise<
|
|
4
|
-
export declare function updateDependencies(host: Tree):
|
|
3
|
+
export declare function reactNativeInitGenerator(host: Tree, schema: Schema): Promise<GeneratorCallback>;
|
|
4
|
+
export declare function updateDependencies(host: Tree): GeneratorCallback;
|
|
5
5
|
export default reactNativeInitGenerator;
|
|
6
6
|
export declare const reactNativeInitSchematic: (generatorOptions: Schema) => (tree: any, context: any) => Promise<any>;
|
|
@@ -3,39 +3,46 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.reactNativeInitSchematic = exports.updateDependencies = exports.reactNativeInitGenerator = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const devkit_1 = require("@nrwl/devkit");
|
|
6
|
-
const
|
|
6
|
+
const add_babel_inputs_1 = require("@nrwl/js/src/utils/add-babel-inputs");
|
|
7
7
|
const jest_1 = require("@nrwl/jest");
|
|
8
8
|
const detox_1 = require("@nrwl/detox");
|
|
9
9
|
const versions_1 = require("@nrwl/react/src/utils/versions");
|
|
10
|
+
const js_1 = require("@nrwl/js");
|
|
10
11
|
const versions_2 = require("../../utils/versions");
|
|
11
12
|
const add_git_ignore_entry_1 = require("./lib/add-git-ignore-entry");
|
|
12
|
-
const init_root_babel_config_1 = require("./lib/init-root-babel-config");
|
|
13
13
|
function reactNativeInitGenerator(host, schema) {
|
|
14
14
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
15
15
|
(0, add_git_ignore_entry_1.addGitIgnoreEntry)(host);
|
|
16
|
-
(0,
|
|
17
|
-
const tasks = [
|
|
16
|
+
(0, add_babel_inputs_1.addBabelInputs)(host);
|
|
17
|
+
const tasks = [];
|
|
18
|
+
tasks.push(yield (0, js_1.initGenerator)(host, Object.assign(Object.assign({}, schema), { skipFormat: true })));
|
|
19
|
+
if (!schema.skipPackageJson) {
|
|
20
|
+
const installTask = updateDependencies(host);
|
|
21
|
+
tasks.push(moveDependency(host));
|
|
22
|
+
tasks.push(installTask);
|
|
23
|
+
}
|
|
18
24
|
if (!schema.unitTestRunner || schema.unitTestRunner === 'jest') {
|
|
19
|
-
const jestTask = (0, jest_1.jestInitGenerator)(host, schema);
|
|
25
|
+
const jestTask = yield (0, jest_1.jestInitGenerator)(host, schema);
|
|
20
26
|
tasks.push(jestTask);
|
|
21
27
|
}
|
|
22
28
|
if (!schema.e2eTestRunner || schema.e2eTestRunner === 'detox') {
|
|
23
|
-
const detoxTask = yield (0, detox_1.detoxInitGenerator)(host, {});
|
|
29
|
+
const detoxTask = yield (0, detox_1.detoxInitGenerator)(host, Object.assign(Object.assign({}, schema), { skipFormat: true }));
|
|
24
30
|
tasks.push(detoxTask);
|
|
25
31
|
}
|
|
26
32
|
if (!schema.skipFormat) {
|
|
27
33
|
yield (0, devkit_1.formatFiles)(host);
|
|
28
34
|
}
|
|
29
|
-
return (0,
|
|
35
|
+
return (0, devkit_1.runTasksInSerial)(...tasks);
|
|
30
36
|
});
|
|
31
37
|
}
|
|
32
38
|
exports.reactNativeInitGenerator = reactNativeInitGenerator;
|
|
33
39
|
function updateDependencies(host) {
|
|
34
40
|
const isPnpm = (0, devkit_1.detectPackageManager)(host.root) === 'pnpm';
|
|
35
41
|
return (0, devkit_1.addDependenciesToPackageJson)(host, {
|
|
36
|
-
react:
|
|
42
|
+
react: versions_2.reactVersion,
|
|
43
|
+
'react-dom': versions_2.reactDomVersion,
|
|
37
44
|
'react-native': versions_2.reactNativeVersion,
|
|
38
|
-
}, Object.assign({ '@nrwl/react-native': versions_2.nxVersion, '@types/node': versions_2.typesNodeVersion, '@types/react':
|
|
45
|
+
}, Object.assign({ '@nrwl/react-native': versions_2.nxVersion, '@types/node': versions_2.typesNodeVersion, '@types/react': versions_2.typesReactVersion, '@types/react-native': versions_2.typesReactNativeVersion, '@react-native-community/cli': versions_2.reactNativeCommunityCli, '@react-native-community/cli-platform-android': versions_2.reactNativeCommunityCliAndroid, '@react-native-community/cli-platform-ios': versions_2.reactNativeCommunityCliIos, '@testing-library/react-native': versions_2.testingLibraryReactNativeVersion, '@testing-library/jest-native': versions_2.testingLibraryJestNativeVersion, 'jest-react-native': versions_2.jestReactNativeVersion, metro: versions_2.metroVersion, 'metro-resolver': versions_2.metroVersion, 'metro-babel-register': versions_2.metroVersion, 'metro-react-native-babel-preset': versions_2.metroVersion, 'metro-react-native-babel-transformer': versions_2.metroVersion, 'react-test-renderer': versions_2.reactTestRendererVersion, 'react-native-svg-transformer': versions_2.reactNativeSvgTransformerVersion, 'react-native-svg': versions_2.reactNativeSvgVersion, 'react-native-config': versions_2.reactNativeConfigVersion, '@react-native-async-storage/async-storage': versions_2.reactNativeAsyncStorageAsyncStorageVersion, '@babel/preset-react': versions_1.babelPresetReactVersion }, (isPnpm
|
|
39
46
|
? {
|
|
40
47
|
'metro-config': versions_2.metroVersion,
|
|
41
48
|
'@babel/runtime': versions_2.babelRuntimeVersion, // @babel/runtime is used by react-native-svg
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/generators/init/init.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/generators/init/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const gitIgnoreEntriesForReactNative = "\n# React Native\n\n# Xcode\n#\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n*.xccheckout\n*.moved-aside\nDerivedData\n*.hmap\n*.ipa\n*.xcuserstate\
|
|
1
|
+
export declare const gitIgnoreEntriesForReactNative = "\n# React Native\n\n# OSX\n#\n.DS_Store\n\n# Xcode\n#\nbuild/\n*.pbxuser\n!default.pbxuser\n*.mode1v3\n!default.mode1v3\n*.mode2v3\n!default.mode2v3\n*.perspectivev3\n!default.perspectivev3\nxcuserdata\n*.xccheckout\n*.moved-aside\nDerivedData\n*.hmap\n*.ipa\n*.xcuserstate\nios/.xcode.env.local\n\n# Android/IntelliJ\n#\nbuild/\n.idea\n.gradle\nlocal.properties\n*.iml\n*.hprof\n.cxx/\n*.keystore\n!debug.keystore\n\n# node.js\n#\nnode_modules/\nnpm-debug.log\nyarn-error.log\n\n# fastlane\n#\n# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the\n# screenshots whenever they are needed.\n# For more information about the recommended setup visit:\n# https://docs.fastlane.tools/best-practices/source-control/\n\n**/fastlane/report.xml\n**/fastlane/Preview.html\n**/fastlane/screenshots\n**/fastlane/test_output\n\n# Bundle artifact\n*.jsbundle\n\n# Ruby / CocoaPods\n/ios/Pods/\n/vendor/bundle/\n\n# Temporary files created by Metro to check the health of the file watcher\n.metro-health-check*\n\n# testing\n/coverage\n";
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.gitIgnoreEntriesForReactNative = void 0;
|
|
4
|
+
// template from https://github.com/facebook/react-native/blob/main/template/_gitignore
|
|
4
5
|
exports.gitIgnoreEntriesForReactNative = `
|
|
5
6
|
# React Native
|
|
6
7
|
|
|
8
|
+
# OSX
|
|
9
|
+
#
|
|
10
|
+
.DS_Store
|
|
11
|
+
|
|
7
12
|
# Xcode
|
|
8
13
|
#
|
|
9
14
|
build/
|
|
@@ -22,7 +27,7 @@ DerivedData
|
|
|
22
27
|
*.hmap
|
|
23
28
|
*.ipa
|
|
24
29
|
*.xcuserstate
|
|
25
|
-
|
|
30
|
+
ios/.xcode.env.local
|
|
26
31
|
|
|
27
32
|
# Android/IntelliJ
|
|
28
33
|
#
|
|
@@ -32,6 +37,9 @@ build/
|
|
|
32
37
|
local.properties
|
|
33
38
|
*.iml
|
|
34
39
|
*.hprof
|
|
40
|
+
.cxx/
|
|
41
|
+
*.keystore
|
|
42
|
+
!debug.keystore
|
|
35
43
|
|
|
36
44
|
# node.js
|
|
37
45
|
#
|
|
@@ -39,12 +47,6 @@ node_modules/
|
|
|
39
47
|
npm-debug.log
|
|
40
48
|
yarn-error.log
|
|
41
49
|
|
|
42
|
-
# BUCK
|
|
43
|
-
buck-out/
|
|
44
|
-
\.buckd/
|
|
45
|
-
*.keystore
|
|
46
|
-
!debug.keystore
|
|
47
|
-
|
|
48
50
|
# fastlane
|
|
49
51
|
#
|
|
50
52
|
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
|
|
@@ -61,7 +63,13 @@ buck-out/
|
|
|
61
63
|
*.jsbundle
|
|
62
64
|
|
|
63
65
|
# Ruby / CocoaPods
|
|
64
|
-
|
|
65
|
-
|
|
66
|
+
/ios/Pods/
|
|
67
|
+
/vendor/bundle/
|
|
68
|
+
|
|
69
|
+
# Temporary files created by Metro to check the health of the file watcher
|
|
70
|
+
.metro-health-check*
|
|
71
|
+
|
|
72
|
+
# testing
|
|
73
|
+
/coverage
|
|
66
74
|
`;
|
|
67
75
|
//# sourceMappingURL=gitignore-entries.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitignore-entries.js","sourceRoot":"","sources":["../../../../../../../packages/react-native/src/generators/init/lib/gitignore-entries.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"gitignore-entries.js","sourceRoot":"","sources":["../../../../../../../packages/react-native/src/generators/init/lib/gitignore-entries.ts"],"names":[],"mappings":";;;AAAA,uFAAuF;AAC1E,QAAA,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqE7C,CAAC"}
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
"skipFormat": {
|
|
16
16
|
"description": "Skip formatting files.",
|
|
17
17
|
"type": "boolean",
|
|
18
|
-
"default": false
|
|
18
|
+
"default": false,
|
|
19
|
+
"x-priority": "internal"
|
|
19
20
|
},
|
|
20
21
|
"e2eTestRunner": {
|
|
21
22
|
"description": "Adds the specified E2E test runner.",
|
|
@@ -27,6 +28,12 @@
|
|
|
27
28
|
"type": "boolean",
|
|
28
29
|
"default": false,
|
|
29
30
|
"description": "Use JavaScript instead of TypeScript"
|
|
31
|
+
},
|
|
32
|
+
"skipPackageJson": {
|
|
33
|
+
"description": "Do not add dependencies to `package.json`.",
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"default": false,
|
|
36
|
+
"x-priority": "internal"
|
|
30
37
|
}
|
|
31
38
|
},
|
|
32
39
|
"required": []
|
|
@@ -2,9 +2,8 @@
|
|
|
2
2
|
"extends": "./tsconfig.json",
|
|
3
3
|
"compilerOptions": {
|
|
4
4
|
"outDir": "<%= offsetFromRoot %>dist/out-tsc",
|
|
5
|
-
"types": ["node"]
|
|
6
|
-
"jsx": "react-native"
|
|
5
|
+
"types": ["node"]
|
|
7
6
|
},
|
|
8
|
-
"exclude": ["jest.config.ts", "
|
|
9
|
-
"include": ["
|
|
7
|
+
"exclude": ["jest.config.ts", "src/**/*.spec.ts", "src/**/*.spec.tsx", "test-setup.ts"],
|
|
8
|
+
"include": ["src/**/*.js", "src/**/*.jsx", "src/**/*.ts", "src/**/*.tsx"]
|
|
10
9
|
}
|
|
@@ -3,35 +3,34 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.reactNativeLibrarySchematic = exports.reactNativeLibraryGenerator = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const devkit_1 = require("@nrwl/devkit");
|
|
6
|
-
const
|
|
6
|
+
const js_1 = require("@nrwl/js");
|
|
7
7
|
const init_1 = require("../init/init");
|
|
8
8
|
const add_linting_1 = require("../../utils/add-linting");
|
|
9
9
|
const add_jest_1 = require("../../utils/add-jest");
|
|
10
10
|
const normalize_options_1 = require("./lib/normalize-options");
|
|
11
|
-
const typescript_1 = require("@nrwl/workspace/src/utilities/typescript");
|
|
12
11
|
function reactNativeLibraryGenerator(host, schema) {
|
|
13
12
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
14
13
|
const options = (0, normalize_options_1.normalizeOptions)(host, schema);
|
|
15
14
|
if (options.publishable === true && !schema.importPath) {
|
|
16
15
|
throw new Error(`For publishable libs you have to provide a proper "--importPath" which needs to be a valid npm package name (e.g. my-awesome-lib or @myorg/my-lib)`);
|
|
17
16
|
}
|
|
17
|
+
const initTask = yield (0, init_1.default)(host, Object.assign(Object.assign({}, options), { skipFormat: true, e2eTestRunner: 'none' }));
|
|
18
18
|
addProject(host, options);
|
|
19
19
|
createFiles(host, options);
|
|
20
|
-
const initTask = yield (0, init_1.default)(host, Object.assign(Object.assign({}, options), { skipFormat: true, e2eTestRunner: 'none' }));
|
|
21
20
|
const lintTask = yield (0, add_linting_1.addLinting)(host, Object.assign(Object.assign({}, options), { projectName: options.name, tsConfigPaths: [
|
|
22
21
|
(0, devkit_1.joinPathFragments)(options.projectRoot, 'tsconfig.lib.json'),
|
|
23
22
|
] }));
|
|
24
|
-
|
|
25
|
-
updateBaseTsConfig(host, options);
|
|
26
|
-
}
|
|
27
|
-
const jestTask = yield (0, add_jest_1.addJest)(host, options.unitTestRunner, options.name, options.projectRoot, options.js);
|
|
23
|
+
const jestTask = yield (0, add_jest_1.addJest)(host, options.unitTestRunner, options.name, options.projectRoot, options.js, options.skipPackageJson);
|
|
28
24
|
if (options.publishable || options.buildable) {
|
|
29
25
|
updateLibPackageNpmScope(host, options);
|
|
30
26
|
}
|
|
27
|
+
if (!options.skipTsConfig) {
|
|
28
|
+
(0, js_1.updateRootTsConfig)(host, Object.assign(Object.assign({}, options), { js: false }));
|
|
29
|
+
}
|
|
31
30
|
if (!options.skipFormat) {
|
|
32
31
|
yield (0, devkit_1.formatFiles)(host);
|
|
33
32
|
}
|
|
34
|
-
return (0,
|
|
33
|
+
return (0, devkit_1.runTasksInSerial)(initTask, lintTask, jestTask);
|
|
35
34
|
});
|
|
36
35
|
}
|
|
37
36
|
exports.reactNativeLibraryGenerator = reactNativeLibraryGenerator;
|
|
@@ -76,23 +75,8 @@ function updateTsConfig(tree, options) {
|
|
|
76
75
|
return json;
|
|
77
76
|
});
|
|
78
77
|
}
|
|
79
|
-
function updateBaseTsConfig(host, options) {
|
|
80
|
-
(0, devkit_1.updateJson)(host, (0, typescript_1.getRootTsConfigPathInTree)(host), (json) => {
|
|
81
|
-
const c = json.compilerOptions;
|
|
82
|
-
c.paths = c.paths || {};
|
|
83
|
-
delete c.paths[options.name];
|
|
84
|
-
if (c.paths[options.importPath]) {
|
|
85
|
-
throw new Error(`You already have a library using the import path "${options.importPath}". Make sure to specify a unique one.`);
|
|
86
|
-
}
|
|
87
|
-
const { libsDir } = (0, devkit_1.getWorkspaceLayout)(host);
|
|
88
|
-
c.paths[options.importPath] = [
|
|
89
|
-
maybeJs(options, (0, devkit_1.joinPathFragments)(libsDir, `${options.projectDirectory}/src/index.ts`)),
|
|
90
|
-
];
|
|
91
|
-
return json;
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
78
|
function createFiles(host, options) {
|
|
95
|
-
(0, devkit_1.generateFiles)(host, (0, devkit_1.joinPathFragments)(__dirname, './files/lib'), options.projectRoot, Object.assign(Object.assign(Object.assign({}, options), (0, devkit_1.names)(options.name)), { tmpl: '', offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.projectRoot), rootTsConfigPath: (0,
|
|
79
|
+
(0, devkit_1.generateFiles)(host, (0, devkit_1.joinPathFragments)(__dirname, './files/lib'), options.projectRoot, Object.assign(Object.assign(Object.assign({}, options), (0, devkit_1.names)(options.name)), { tmpl: '', offsetFromRoot: (0, devkit_1.offsetFromRoot)(options.projectRoot), rootTsConfigPath: (0, js_1.getRelativePathToRootTsConfig)(host, options.projectRoot) }));
|
|
96
80
|
if (!options.publishable && !options.buildable) {
|
|
97
81
|
host.delete(`${options.projectRoot}/package.json`);
|
|
98
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/generators/library/library.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"library.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/generators/library/library.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ describe('lib', () => {
|
|
|
22
22
|
};
|
|
23
23
|
|
|
24
24
|
beforeEach(() => {
|
|
25
|
-
appTree = createTreeWithEmptyWorkspace();
|
|
25
|
+
appTree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' });
|
|
26
26
|
appTree.write('.gitignore', '');
|
|
27
27
|
});
|
|
28
28
|
|
|
@@ -381,4 +381,17 @@ describe('lib', () => {
|
|
|
381
381
|
).not.toBeDefined();
|
|
382
382
|
});
|
|
383
383
|
});
|
|
384
|
+
|
|
385
|
+
describe('--skipPackageJson', () => {
|
|
386
|
+
it('should not add or update dependencies when true', async () => {
|
|
387
|
+
const packageJsonBefore = appTree.read('package.json', 'utf-8');
|
|
388
|
+
|
|
389
|
+
await libraryGenerator(appTree, {
|
|
390
|
+
...defaultSchema,
|
|
391
|
+
skipPackageJson: true,
|
|
392
|
+
});
|
|
393
|
+
|
|
394
|
+
expect(appTree.read('package.json', 'utf-8')).toEqual(packageJsonBefore);
|
|
395
|
+
});
|
|
396
|
+
});
|
|
384
397
|
});
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"type": "object",
|
|
8
8
|
"examples": [
|
|
9
9
|
{
|
|
10
|
-
"command": "nx g lib mylib --directory=myapp",
|
|
10
|
+
"command": "nx g @nrwl/react-native:lib mylib --directory=myapp",
|
|
11
11
|
"description": "Generate `libs/myapp/mylib`"
|
|
12
12
|
}
|
|
13
13
|
],
|
|
@@ -25,12 +25,13 @@
|
|
|
25
25
|
"directory": {
|
|
26
26
|
"type": "string",
|
|
27
27
|
"description": "A directory where the lib is placed.",
|
|
28
|
-
"alias": "
|
|
28
|
+
"alias": "dir",
|
|
29
|
+
"x-priority": "important"
|
|
29
30
|
},
|
|
30
31
|
"linter": {
|
|
31
32
|
"description": "The tool to use for running lint checks.",
|
|
32
33
|
"type": "string",
|
|
33
|
-
"enum": ["eslint"
|
|
34
|
+
"enum": ["eslint"],
|
|
34
35
|
"default": "eslint"
|
|
35
36
|
},
|
|
36
37
|
"unitTestRunner": {
|
|
@@ -47,12 +48,14 @@
|
|
|
47
48
|
"skipFormat": {
|
|
48
49
|
"description": "Skip formatting files.",
|
|
49
50
|
"type": "boolean",
|
|
50
|
-
"default": false
|
|
51
|
+
"default": false,
|
|
52
|
+
"x-priority": "internal"
|
|
51
53
|
},
|
|
52
54
|
"skipTsConfig": {
|
|
53
55
|
"type": "boolean",
|
|
54
56
|
"default": false,
|
|
55
|
-
"description": "Do not update `tsconfig.json` for development experience."
|
|
57
|
+
"description": "Do not update `tsconfig.json` for development experience.",
|
|
58
|
+
"x-priority": "internal"
|
|
56
59
|
},
|
|
57
60
|
"pascalCaseFiles": {
|
|
58
61
|
"type": "boolean",
|
|
@@ -78,11 +81,6 @@
|
|
|
78
81
|
"description": "Generate JavaScript files rather than TypeScript files.",
|
|
79
82
|
"default": false
|
|
80
83
|
},
|
|
81
|
-
"globalCss": {
|
|
82
|
-
"type": "boolean",
|
|
83
|
-
"description": "When `true`, the stylesheet is generated using global CSS instead of CSS modules (e.g. file is `*.css` rather than `*.module.css`).",
|
|
84
|
-
"default": false
|
|
85
|
-
},
|
|
86
84
|
"strict": {
|
|
87
85
|
"type": "boolean",
|
|
88
86
|
"description": "Whether to enable tsconfig strict mode or not.",
|
|
@@ -92,6 +90,12 @@
|
|
|
92
90
|
"type": "boolean",
|
|
93
91
|
"description": "Whether or not to configure the ESLint `parserOptions.project` option. We do not do this by default for lint performance reasons.",
|
|
94
92
|
"default": false
|
|
93
|
+
},
|
|
94
|
+
"skipPackageJson": {
|
|
95
|
+
"description": "Do not add dependencies to `package.json`.",
|
|
96
|
+
"type": "boolean",
|
|
97
|
+
"default": false,
|
|
98
|
+
"x-priority": "internal"
|
|
95
99
|
}
|
|
96
100
|
},
|
|
97
101
|
"required": ["name"]
|
|
@@ -130,7 +130,7 @@ describe('react:stories for applications', () => {
|
|
|
130
130
|
});
|
|
131
131
|
|
|
132
132
|
export async function createTestUIApp(libName: string): Promise<Tree> {
|
|
133
|
-
let appTree = createTreeWithEmptyWorkspace();
|
|
133
|
+
let appTree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' });
|
|
134
134
|
appTree.write('.gitignore', '');
|
|
135
135
|
|
|
136
136
|
await applicationGenerator(appTree, {
|
|
@@ -90,7 +90,7 @@ describe('react-native:stories for libraries', () => {
|
|
|
90
90
|
});
|
|
91
91
|
|
|
92
92
|
export async function createTestUILib(libName: string): Promise<Tree> {
|
|
93
|
-
let appTree = createTreeWithEmptyWorkspace();
|
|
93
|
+
let appTree = createTreeWithEmptyWorkspace({ layout: 'apps-libs' });
|
|
94
94
|
appTree.write('.gitignore', '');
|
|
95
95
|
|
|
96
96
|
await libraryGenerator(appTree, {
|
|
@@ -6,14 +6,16 @@ const devkit_1 = require("@nrwl/devkit");
|
|
|
6
6
|
const path_1 = require("path");
|
|
7
7
|
const component_story_1 = require("../component-story/component-story");
|
|
8
8
|
const stories_1 = require("@nrwl/react/src/generators/stories/stories");
|
|
9
|
-
const utilities_1 = require("@nrwl/storybook/src/utils/utilities");
|
|
10
9
|
const minimatch = require("minimatch");
|
|
10
|
+
const versions_1 = require("../../utils/versions");
|
|
11
11
|
function createAllStories(tree, projectName, ignorePaths) {
|
|
12
12
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
13
|
+
(0, devkit_1.ensurePackage)('@nrwl/storybook', versions_1.nxVersion);
|
|
14
|
+
const { isTheFileAStory } = yield Promise.resolve().then(() => require('@nrwl/storybook/src/utils/utilities'));
|
|
13
15
|
const projects = (0, devkit_1.getProjects)(tree);
|
|
14
16
|
const projectConfiguration = projects.get(projectName);
|
|
15
|
-
const { sourceRoot
|
|
16
|
-
const projectPath = (0, stories_1.projectRootPath)(projectConfiguration);
|
|
17
|
+
const { sourceRoot } = projectConfiguration;
|
|
18
|
+
const projectPath = yield (0, stories_1.projectRootPath)(tree, projectConfiguration);
|
|
17
19
|
let componentPaths = [];
|
|
18
20
|
(0, devkit_1.visitNotIgnoredFiles)(tree, projectPath, (path) => {
|
|
19
21
|
if (ignorePaths === null || ignorePaths === void 0 ? void 0 : ignorePaths.some((pattern) => minimatch(path, pattern)))
|
|
@@ -22,7 +24,7 @@ function createAllStories(tree, projectName, ignorePaths) {
|
|
|
22
24
|
(path.endsWith('.js') && !path.endsWith('.spec.js')) ||
|
|
23
25
|
(path.endsWith('.jsx') && !path.endsWith('.spec.jsx'))) {
|
|
24
26
|
// Check if file is NOT a story (either ts/tsx or js/jsx)
|
|
25
|
-
if (!
|
|
27
|
+
if (!isTheFileAStory(tree, path)) {
|
|
26
28
|
// Since the file is not a story
|
|
27
29
|
// Let's see if the .stories.* file exists
|
|
28
30
|
const ext = path.slice(path.lastIndexOf('.'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/generators/stories/stories.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"stories.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/generators/stories/stories.ts"],"names":[],"mappings":";;;;AAAA,yCAMsB;AACtB,+BAA4B;AAC5B,wEAAyE;AAEzE,wEAGoD;AACpD,uCAAwC;AACxC,mDAAiD;AAEjD,SAAsB,gBAAgB,CACpC,IAAU,EACV,WAAmB,EACnB,WAAsB;;QAEtB,IAAA,sBAAa,EAAC,iBAAiB,EAAE,oBAAS,CAAC,CAAC;QAC5C,MAAM,EAAE,eAAe,EAAE,GAAG,2CAC1B,qCAAqC,EACtC,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QACnC,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAEvD,MAAM,EAAE,UAAU,EAAE,GAAG,oBAAoB,CAAC;QAC5C,MAAM,WAAW,GAAG,MAAM,IAAA,yBAAe,EAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAEtE,IAAI,cAAc,GAAa,EAAE,CAAC;QAClC,IAAA,6BAAoB,EAAC,IAAI,EAAE,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;YAC/C,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAAE,OAAO;YAErE,IACE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACtD,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBACpD,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,EACtD;gBACA,yDAAyD;gBACzD,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;oBAChC,gCAAgC;oBAChC,0CAA0C;oBAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC9C,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC;oBAExD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;wBAC3B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC3B;iBACF;aACF;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CACf,cAAc,CAAC,GAAG,CAAC,CAAO,aAAa,EAAE,EAAE;YACzC,MAAM,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,IAAA,WAAI,EAAC,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAExE,IAAI,CAAC,IAAA,sCAA4B,EAAC,IAAI,EAAE,aAAa,CAAC,EAAE;gBACtD,OAAO;aACR;YAED,MAAM,IAAA,yBAAuB,EAAC,IAAI,EAAE;gBAClC,aAAa,EAAE,cAAc;gBAC7B,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACL,CAAC,CAAA,CAAC,CACH,CAAC;IACJ,CAAC;CAAA;AArDD,4CAqDC;AAED,SAAsB,gBAAgB,CACpC,IAAU,EACV,MAA8B;;QAE9B,MAAM,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACnE,CAAC;CAAA;AALD,4CAKC;AAED,kBAAe,gBAAgB,CAAC;AACnB,QAAA,gBAAgB,GAAG,IAAA,2BAAkB,EAAC,gBAAgB,CAAC,CAAC"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.storybookConfigurationSchematic = exports.storybookConfigurationGenerator = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const devkit_1 = require("@nrwl/devkit");
|
|
6
|
-
const
|
|
6
|
+
const versions_1 = require("../../utils/versions");
|
|
7
7
|
const stories_1 = require("../stories/stories");
|
|
8
8
|
const add_resolver_main_fields_to_metro_config_1 = require("./lib/add-resolver-main-fields-to-metro-config");
|
|
9
9
|
const create_storybook_files_1 = require("./lib/create-storybook-files");
|
|
@@ -18,7 +18,8 @@ function generateStories(host, schema) {
|
|
|
18
18
|
}
|
|
19
19
|
function storybookConfigurationGenerator(host, schema) {
|
|
20
20
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
21
|
-
const
|
|
21
|
+
const { configurationGenerator } = (0, devkit_1.ensurePackage)('@nrwl/storybook', versions_1.nxVersion);
|
|
22
|
+
const installTask = yield configurationGenerator(host, {
|
|
22
23
|
name: schema.name,
|
|
23
24
|
uiFramework: '@storybook/react-native',
|
|
24
25
|
configureCypress: false,
|