@nrwl/react-native 14.5.5-beta.0 → 14.6.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 CHANGED
@@ -3,6 +3,6 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- ## [14.5.5-beta.0](https://github.com/nrwl/nx/compare/14.5.4...14.5.5-beta.0) (2022-08-09)
6
+ # [14.6.0-beta.1](https://github.com/nrwl/nx/compare/14.5.4...14.6.0-beta.1) (2022-08-11)
7
7
 
8
8
  **Note:** Version bump only for package @nrwl/react-native
package/migrations.json CHANGED
@@ -47,6 +47,12 @@
47
47
  "cli": "nx",
48
48
  "description": "Rename blacklistRE to blockList in metro.config.js",
49
49
  "factory": "./src/migrations/update-14-2-1/rename-blockList-metro-config"
50
+ },
51
+ "add-exclude-sync-deps-14-5-5": {
52
+ "version": "14.5.5-beta.0",
53
+ "cli": "nx",
54
+ "description": "Change include field from string to array for sync-deps target",
55
+ "factory": "./src/migrations/update-14-5-5/add-exclude-sync-deps"
50
56
  }
51
57
  },
52
58
  "packageJsonUpdates": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nrwl/react-native",
3
- "version": "14.5.5-beta.0",
3
+ "version": "14.6.0-beta.1",
4
4
  "description": "React Native brings React's declarative UI framework to iOS and Android. With React Native, you use native UI controls and have full access to the native platform.\n\nThe Nx Plugin for React Native contains generators for managing React Native applications and libraries within an Nx workspace. It provides:\n\n\n- Integration with libraries such as Jest, Detox, and Storybook.\n\n- Scaffolding for creating buildable libraries that can be published to npm.\n\n- Utilities for automatic workspace refactoring.",
5
5
  "keywords": [
6
6
  "Monorepo",
@@ -24,13 +24,13 @@
24
24
  "main": "index.js",
25
25
  "types": "index.d.ts",
26
26
  "dependencies": {
27
- "@nrwl/detox": "14.5.5-beta.0",
28
- "@nrwl/devkit": "14.5.5-beta.0",
29
- "@nrwl/jest": "14.5.5-beta.0",
30
- "@nrwl/linter": "14.5.5-beta.0",
31
- "@nrwl/react": "14.5.5-beta.0",
32
- "@nrwl/storybook": "14.5.5-beta.0",
33
- "@nrwl/workspace": "14.5.5-beta.0",
27
+ "@nrwl/detox": "14.6.0-beta.1",
28
+ "@nrwl/devkit": "14.6.0-beta.1",
29
+ "@nrwl/jest": "14.6.0-beta.1",
30
+ "@nrwl/linter": "14.6.0-beta.1",
31
+ "@nrwl/react": "14.6.0-beta.1",
32
+ "@nrwl/storybook": "14.6.0-beta.1",
33
+ "@nrwl/workspace": "14.6.0-beta.1",
34
34
  "chalk": "^4.1.0",
35
35
  "enhanced-resolve": "^5.8.3",
36
36
  "fs-extra": "^10.1.0",
@@ -50,5 +50,5 @@
50
50
  },
51
51
  "schematics": "./generators.json",
52
52
  "typings": "./index.d.ts",
53
- "gitHead": "efea1a511edfa904230b9e7b787ef71877ff6d9c"
53
+ "gitHead": "918ddf6d4b93849e3925b00f0e95457727cf3972"
54
54
  }
@@ -15,7 +15,12 @@ function reactNatievStorybookExecutor(options, context) {
15
15
  // add storybook addons to app's package.json
16
16
  const packageJsonPath = (0, path_1.join)(context.root, projectRoot, 'package.json');
17
17
  if ((0, fileutils_1.fileExists)(packageJsonPath))
18
- (0, sync_deps_impl_1.displayNewlyAddedDepsMessage)(context.projectName, yield tslib_1.__await((0, sync_deps_impl_1.syncDeps)(context.projectName, projectRoot, context.root, '@storybook/addon-ondevice-actions,@storybook/addon-ondevice-backgrounds,@storybook/addon-ondevice-controls,@storybook/addon-ondevice-notes')));
18
+ (0, sync_deps_impl_1.displayNewlyAddedDepsMessage)(context.projectName, yield tslib_1.__await((0, sync_deps_impl_1.syncDeps)(context.projectName, projectRoot, context.root, [
19
+ '@storybook/addon-ondevice-actions',
20
+ '@storybook/addon-ondevice-backgrounds',
21
+ '@storybook/addon-ondevice-controls',
22
+ '@storybook/addon-ondevice-notes',
23
+ ])));
19
24
  try {
20
25
  yield tslib_1.__await(runCliStorybook(context.root, projectRoot, options));
21
26
  yield yield tslib_1.__await({ success: true });
@@ -1 +1 @@
1
- {"version":3,"file":"storybook.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/storybook/storybook.impl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storybook.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/storybook/storybook.impl.ts"],"names":[],"mappings":"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"}
@@ -28,12 +28,12 @@ export default async function* reactNatievStorybookExecutor(
28
28
  if (fileExists(packageJsonPath))
29
29
  displayNewlyAddedDepsMessage(
30
30
  context.projectName,
31
- await syncDeps(
32
- context.projectName,
33
- projectRoot,
34
- context.root,
35
- '@storybook/addon-ondevice-actions,@storybook/addon-ondevice-backgrounds,@storybook/addon-ondevice-controls,@storybook/addon-ondevice-notes'
36
- )
31
+ await syncDeps(context.projectName, projectRoot, context.root, [
32
+ '@storybook/addon-ondevice-actions',
33
+ '@storybook/addon-ondevice-backgrounds',
34
+ '@storybook/addon-ondevice-controls',
35
+ '@storybook/addon-ondevice-notes',
36
+ ])
37
37
  );
38
38
 
39
39
  try {
@@ -1,3 +1,4 @@
1
1
  export interface ReactNativeSyncDepsOptions {
2
- include: string;
2
+ include: string[] | string; // default is an empty array []
3
+ exclude: string[] | string; // default is an empty array []
3
4
  }
@@ -7,8 +7,20 @@
7
7
  "type": "object",
8
8
  "properties": {
9
9
  "include": {
10
- "type": "string",
11
- "description": "A comma-separated list of additional npm packages to include. e.g. `nx sync-deps --include=react-native-gesture-handler,react-native-safe-area-context`"
10
+ "type": "array",
11
+ "items": {
12
+ "type": "string"
13
+ },
14
+ "default": [],
15
+ "description": "An array of additional npm packages to include."
16
+ },
17
+ "exclude": {
18
+ "type": "array",
19
+ "items": {
20
+ "type": "string"
21
+ },
22
+ "default": [],
23
+ "description": "An array of npm packages to exclude."
12
24
  }
13
25
  }
14
26
  }
@@ -4,5 +4,5 @@ export interface ReactNativeSyncDepsOutput {
4
4
  success: boolean;
5
5
  }
6
6
  export default function syncDepsExecutor(options: ReactNativeSyncDepsOptions, context: ExecutorContext): AsyncGenerator<ReactNativeSyncDepsOutput>;
7
- export declare function syncDeps(projectName: string, projectRoot: string, workspaceRoot: string, include?: string): Promise<string[]>;
7
+ export declare function syncDeps(projectName: string, projectRoot: string, workspaceRoot: string, include?: string[], exclude?: string[]): Promise<string[]>;
8
8
  export declare function displayNewlyAddedDepsMessage(projectName: string, deps: string[]): void;
@@ -3,33 +3,38 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.displayNewlyAddedDepsMessage = exports.syncDeps = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const path_1 = require("path");
6
- const find_all_npm_dependencies_1 = require("../../utils/find-all-npm-dependencies");
7
6
  const chalk = require("chalk");
8
7
  const devkit_1 = require("@nrwl/devkit");
9
- const devkit_2 = require("@nrwl/devkit");
8
+ const find_all_npm_dependencies_1 = require("../../utils/find-all-npm-dependencies");
10
9
  function syncDepsExecutor(options, context) {
11
10
  return tslib_1.__asyncGenerator(this, arguments, function* syncDepsExecutor_1() {
12
11
  const projectRoot = context.workspace.projects[context.projectName].root;
13
- displayNewlyAddedDepsMessage(context.projectName, yield tslib_1.__await(syncDeps(context.projectName, projectRoot, context.root, options.include)));
12
+ displayNewlyAddedDepsMessage(context.projectName, yield tslib_1.__await(syncDeps(context.projectName, projectRoot, context.root, typeof options.include === 'string'
13
+ ? options.include.split(',')
14
+ : options.include, typeof options.exclude === 'string'
15
+ ? options.exclude.split(',')
16
+ : options.exclude)));
14
17
  yield yield tslib_1.__await({ success: true });
15
18
  });
16
19
  }
17
20
  exports.default = syncDepsExecutor;
18
- function syncDeps(projectName, projectRoot, workspaceRoot, include) {
21
+ function syncDeps(projectName, projectRoot, workspaceRoot, include = [], exclude = []) {
19
22
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
20
- const graph = yield (0, devkit_2.createProjectGraphAsync)();
21
- const npmDeps = (0, find_all_npm_dependencies_1.findAllNpmDependencies)(graph, projectName);
23
+ const graph = yield (0, devkit_1.createProjectGraphAsync)();
24
+ let npmDeps = (0, find_all_npm_dependencies_1.findAllNpmDependencies)(graph, projectName);
22
25
  const packageJsonPath = (0, path_1.join)(workspaceRoot, projectRoot, 'package.json');
23
26
  const packageJson = (0, devkit_1.readJsonFile)(packageJsonPath);
24
27
  const newDeps = [];
25
- const includeDeps = include === null || include === void 0 ? void 0 : include.split(',');
26
28
  let updated = false;
27
29
  if (!packageJson.dependencies) {
28
30
  packageJson.dependencies = {};
29
31
  updated = true;
30
32
  }
31
- if (includeDeps) {
32
- npmDeps.push(...includeDeps);
33
+ if (include && include.length) {
34
+ npmDeps.push(...include);
35
+ }
36
+ if (exclude && exclude.length) {
37
+ npmDeps = npmDeps.filter((dep) => !exclude.includes(dep));
33
38
  }
34
39
  npmDeps.forEach((dep) => {
35
40
  if (!packageJson.dependencies[dep]) {
@@ -1 +1 @@
1
- {"version":3,"file":"sync-deps.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/sync-deps/sync-deps.impl.ts"],"names":[],"mappings":";;;;AAAA,+BAA4B;AAC5B,qFAA+E;AAC/E,+BAA+B;AAC/B,yCAKsB;AAEtB,yCAAuD;AAMvD,SAA+B,gBAAgB,CAC7C,OAAmC,EACnC,OAAwB;;QAExB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;QACzE,4BAA4B,CAC1B,OAAO,CAAC,WAAW,EACnB,sBAAM,QAAQ,CACZ,OAAO,CAAC,WAAW,EACnB,WAAW,EACX,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,OAAO,CAChB,CAAA,CACF,CAAC;QAEF,4BAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA,CAAC;IAC1B,CAAC;CAAA;AAhBD,mCAgBC;AAED,SAAsB,QAAQ,CAC5B,WAAmB,EACnB,WAAmB,EACnB,aAAqB,EACrB,OAAgB;;QAEhB,MAAM,KAAK,GAAG,MAAM,IAAA,gCAAuB,GAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAA,kDAAsB,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,aAAa,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,IAAA,qBAAY,EAAC,eAAe,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;YAC7B,WAAW,CAAC,YAAY,GAAG,EAAE,CAAC;YAC9B,OAAO,GAAG,IAAI,CAAC;SAChB;QAED,IAAI,WAAW,EAAE;YACf,OAAO,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;SAC9B;QAED,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;gBAClC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO,GAAG,IAAI,CAAC;aAChB;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE;YACX,IAAA,sBAAa,EAAC,eAAe,EAAE,WAAW,CAAC,CAAC;SAC7C;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CAAA;AApCD,4BAoCC;AAED,SAAgB,4BAA4B,CAC1C,WAAmB,EACnB,IAAc;IAEd,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACnB,eAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAC5B,MAAM,CACP,yCAAyC,WAAW;IACrD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KACjE;SAAM;QACL,eAAM,CAAC,IAAI,CACT,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAChB,MAAM,CACP,sBAAsB,WAAW,oCAAoC,CACvE,CAAC;KACH;AACH,CAAC;AAhBD,oEAgBC"}
1
+ {"version":3,"file":"sync-deps.impl.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/executors/sync-deps/sync-deps.impl.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,16 @@
1
1
  import { join } from 'path';
2
- import { findAllNpmDependencies } from '../../utils/find-all-npm-dependencies';
3
2
  import * as chalk from 'chalk';
4
3
  import {
5
4
  ExecutorContext,
6
5
  logger,
7
6
  readJsonFile,
8
7
  writeJsonFile,
8
+ createProjectGraphAsync,
9
9
  } from '@nrwl/devkit';
10
+
11
+ import { findAllNpmDependencies } from '../../utils/find-all-npm-dependencies';
12
+
10
13
  import { ReactNativeSyncDepsOptions } from './schema';
11
- import { createProjectGraphAsync } from '@nrwl/devkit';
12
14
 
13
15
  export interface ReactNativeSyncDepsOutput {
14
16
  success: boolean;
@@ -25,7 +27,12 @@ export default async function* syncDepsExecutor(
25
27
  context.projectName,
26
28
  projectRoot,
27
29
  context.root,
28
- options.include
30
+ typeof options.include === 'string'
31
+ ? options.include.split(',')
32
+ : options.include,
33
+ typeof options.exclude === 'string'
34
+ ? options.exclude.split(',')
35
+ : options.exclude
29
36
  )
30
37
  );
31
38
 
@@ -36,14 +43,14 @@ export async function syncDeps(
36
43
  projectName: string,
37
44
  projectRoot: string,
38
45
  workspaceRoot: string,
39
- include?: string
46
+ include: string[] = [],
47
+ exclude: string[] = []
40
48
  ): Promise<string[]> {
41
49
  const graph = await createProjectGraphAsync();
42
- const npmDeps = findAllNpmDependencies(graph, projectName);
50
+ let npmDeps = findAllNpmDependencies(graph, projectName);
43
51
  const packageJsonPath = join(workspaceRoot, projectRoot, 'package.json');
44
52
  const packageJson = readJsonFile(packageJsonPath);
45
53
  const newDeps = [];
46
- const includeDeps = include?.split(',');
47
54
  let updated = false;
48
55
 
49
56
  if (!packageJson.dependencies) {
@@ -51,8 +58,11 @@ export async function syncDeps(
51
58
  updated = true;
52
59
  }
53
60
 
54
- if (includeDeps) {
55
- npmDeps.push(...includeDeps);
61
+ if (include && include.length) {
62
+ npmDeps.push(...include);
63
+ }
64
+ if (exclude && exclude.length) {
65
+ npmDeps = npmDeps.filter((dep) => !exclude.includes(dep));
56
66
  }
57
67
 
58
68
  npmDeps.forEach((dep) => {
@@ -0,0 +1,5 @@
1
+ import { Tree } from '@nrwl/devkit';
2
+ /**
3
+ * This function changes include field from string to array for sync-deps target
4
+ */
5
+ export default function update(tree: Tree): Promise<void>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const devkit_1 = require("@nrwl/devkit");
5
+ /**
6
+ * This function changes include field from string to array for sync-deps target
7
+ */
8
+ function update(tree) {
9
+ var _a, _b, _c, _d, _e;
10
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
11
+ const projects = (0, devkit_1.getProjects)(tree);
12
+ for (const [name, config] of projects.entries()) {
13
+ if (((_b = (_a = config.targets) === null || _a === void 0 ? void 0 : _a['sync-deps']) === null || _b === void 0 ? void 0 : _b.executor) !== '@nrwl/react-native:sync-deps')
14
+ continue;
15
+ const include = (_e = (_d = (_c = config.targets) === null || _c === void 0 ? void 0 : _c['sync-deps']) === null || _d === void 0 ? void 0 : _d.options) === null || _e === void 0 ? void 0 : _e.include;
16
+ if (!include || !include.length) {
17
+ continue;
18
+ }
19
+ config.targets['sync-deps'].options.include = include.split(',');
20
+ (0, devkit_1.updateProjectConfiguration)(tree, name, config);
21
+ }
22
+ yield (0, devkit_1.formatFiles)(tree);
23
+ });
24
+ }
25
+ exports.default = update;
26
+ //# sourceMappingURL=add-exclude-sync-deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-exclude-sync-deps.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/migrations/update-14-5-5/add-exclude-sync-deps.ts"],"names":[],"mappings":";;;AAAA,yCAKsB;AAEtB;;GAEG;AACH,SAA8B,MAAM,CAAC,IAAU;;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE;YAC/C,IACE,CAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAG,WAAW,CAAC,0CAAE,QAAQ,MAAK,8BAA8B;gBAE1E,SAAS;YACX,MAAM,OAAO,GAAG,MAAA,MAAA,MAAA,MAAM,CAAC,OAAO,0CAAG,WAAW,CAAC,0CAAE,OAAO,0CAAE,OAAO,CAAC;YAChE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAC/B,SAAS;aACV;YACD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACjE,IAAA,mCAA0B,EAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;SAChD;QAED,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;;CACzB;AAjBD,yBAiBC"}
@@ -0,0 +1,36 @@
1
+ import { addProjectConfiguration, getProjects, Tree } from '@nrwl/devkit';
2
+ import { createTreeWithEmptyWorkspace } from '@nrwl/devkit/testing';
3
+ import update from './add-exclude-sync-deps';
4
+
5
+ describe('add-exclude-sync-deps', () => {
6
+ let tree: Tree;
7
+
8
+ beforeEach(async () => {
9
+ tree = createTreeWithEmptyWorkspace();
10
+ addProjectConfiguration(tree, 'products', {
11
+ root: 'apps/products',
12
+ sourceRoot: 'apps/products/src',
13
+ targets: {
14
+ 'sync-deps': {
15
+ executor: '@nrwl/react-native:sync-deps',
16
+ options: {
17
+ include: 'react-native-reanmiated,react-native-screens',
18
+ },
19
+ },
20
+ },
21
+ });
22
+ });
23
+
24
+ it(`should change include from string to array`, async () => {
25
+ await update(tree);
26
+
27
+ getProjects(tree).forEach((project) => {
28
+ expect(project.targets['sync-deps']).toEqual({
29
+ executor: '@nrwl/react-native:sync-deps',
30
+ options: {
31
+ include: ['react-native-reanmiated', 'react-native-screens'],
32
+ },
33
+ });
34
+ });
35
+ });
36
+ });