@nrwl/react-native 13.4.5-beta.1 → 13.4.5-beta.5

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.
Files changed (32) hide show
  1. package/executors.json +4 -4
  2. package/generators.json +6 -6
  3. package/migrations.json +49 -0
  4. package/package.json +8 -8
  5. package/plugins/jest/svg-mock.js +0 -1
  6. package/plugins/jest/svg-mock.js.map +1 -1
  7. package/project.json +7 -2
  8. package/src/generators/application/files/app/src/app/App.tsx.template +2 -2
  9. package/src/generators/application/files/app/tsconfig.app.json.template +1 -1
  10. package/src/generators/application/files/app/tsconfig.json.template +1 -1
  11. package/src/generators/init/init.js +10 -8
  12. package/src/generators/init/init.js.map +1 -1
  13. package/src/generators/init/init.spec.ts +31 -0
  14. package/src/generators/init/lib/init-root-babel-config.d.ts +2 -0
  15. package/src/generators/init/lib/init-root-babel-config.js +14 -0
  16. package/src/generators/init/lib/init-root-babel-config.js.map +1 -0
  17. package/src/generators/library/files/lib/tsconfig.lib.json__tmpl__ +1 -1
  18. package/src/migrations/update-12-10-0/add-react-native-svg-12-10-0.js +1 -1
  19. package/src/migrations/update-12-10-0/add-react-native-svg-12-10-0.js.map +1 -1
  20. package/src/migrations/update-12-10-0/add-react-native-svg-12-10-0.spec.ts +1 -1
  21. package/src/migrations/update-13-5-0/add-babel-config-root-13-5-0.d.ts +2 -0
  22. package/src/migrations/update-13-5-0/add-babel-config-root-13-5-0.js +26 -0
  23. package/src/migrations/update-13-5-0/add-babel-config-root-13-5-0.js.map +1 -0
  24. package/src/migrations/update-13-5-0/add-babel-config-root-13-5-0.spec.ts +48 -0
  25. package/src/migrations/update-13-5-0/update-react-native-typing-svg-13-5-0.d.ts +6 -0
  26. package/src/migrations/update-13-5-0/update-react-native-typing-svg-13-5-0.js +41 -0
  27. package/src/migrations/update-13-5-0/update-react-native-typing-svg-13-5-0.js.map +1 -0
  28. package/src/migrations/update-13-5-0/update-react-native-typing-svg-13-5-0.spec.ts +61 -0
  29. package/src/utils/versions.d.ts +8 -8
  30. package/src/utils/versions.js +9 -9
  31. package/src/utils/versions.js.map +1 -1
  32. package/typings/svg.d.ts +7 -0
package/executors.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "bundle": {
14
14
  "implementation": "./src/executors/bundle/bundle.impl",
15
15
  "schema": "./src/executors/bundle/schema.json",
16
- "description": "Builds the JS bundle."
16
+ "description": "Builds the JavaScript bundle for offline use."
17
17
  },
18
18
  "build-android": {
19
19
  "implementation": "./src/executors/build-android/build-android.impl",
@@ -23,7 +23,7 @@
23
23
  "start": {
24
24
  "implementation": "./src/executors/start/start.impl",
25
25
  "schema": "./src/executors/start/schema.json",
26
- "description": "Starts the dev server for JS bundle."
26
+ "description": "Starts the Javascript server that communicates with connected devices."
27
27
  },
28
28
  "sync-deps": {
29
29
  "implementation": "./src/executors/sync-deps/sync-deps.impl",
@@ -50,7 +50,7 @@
50
50
  "bundle": {
51
51
  "implementation": "./src/executors/bundle/compat",
52
52
  "schema": "./src/executors/bundle/schema.json",
53
- "description": "Builds the JS bundle."
53
+ "description": "Builds the JavaScript bundle for offline use."
54
54
  },
55
55
  "build-android": {
56
56
  "implementation": "./src/executors/build-android/compat",
@@ -60,7 +60,7 @@
60
60
  "start": {
61
61
  "implementation": "./src/executors/start/compat",
62
62
  "schema": "./src/executors/start/schema.json",
63
- "description": "Starts the dev server for JS bundle."
63
+ "description": "Starts the Javascript server that communicates with connected devices."
64
64
  },
65
65
  "sync-deps": {
66
66
  "implementation": "./src/executors/sync-deps/compat",
package/generators.json CHANGED
@@ -14,19 +14,19 @@
14
14
  "schema": "./src/generators/application/schema.json",
15
15
  "aliases": ["app"],
16
16
  "x-type": "application",
17
- "description": "Create an application"
17
+ "description": "Create a React Native application"
18
18
  },
19
19
  "library": {
20
20
  "factory": "./src/generators/library/library#reactNativeLibrarySchematic",
21
21
  "schema": "./src/generators/library/schema.json",
22
22
  "aliases": ["lib"],
23
23
  "x-type": "library",
24
- "description": "Create a library"
24
+ "description": "Create a React Native library"
25
25
  },
26
26
  "component": {
27
27
  "factory": "./src/generators/component/component#reactNativeComponentSchematic",
28
28
  "schema": "./src/generators/component/schema.json",
29
- "description": "Create a component",
29
+ "description": "Create a React Native component",
30
30
  "aliases": ["c"]
31
31
  }
32
32
  },
@@ -42,19 +42,19 @@
42
42
  "schema": "./src/generators/application/schema.json",
43
43
  "aliases": ["app"],
44
44
  "x-type": "application",
45
- "description": "Create an application"
45
+ "description": "Create a React Native application"
46
46
  },
47
47
  "library": {
48
48
  "factory": "./src/generators/library/library#reactNativeLibraryGenerator",
49
49
  "schema": "./src/generators/library/schema.json",
50
50
  "aliases": ["lib"],
51
51
  "x-type": "library",
52
- "description": "Create a library"
52
+ "description": "Create a React Native library"
53
53
  },
54
54
  "component": {
55
55
  "factory": "./src/generators/component/component#reactNativeComponentGenerator",
56
56
  "schema": "./src/generators/component/schema.json",
57
- "description": "Create a component",
57
+ "description": "Create a React Native component",
58
58
  "aliases": ["c"]
59
59
  }
60
60
  }
package/migrations.json CHANGED
@@ -11,6 +11,18 @@
11
11
  "cli": "nx",
12
12
  "description": "Add support to display svg in react native",
13
13
  "factory": "./src/migrations/update-12-10-0/add-react-native-svg-12-10-0"
14
+ },
15
+ "update-react-native-typing-svg-13-5-0": {
16
+ "version": "13.5.0-beta.0",
17
+ "cli": "nx",
18
+ "description": "Update typing for svg in react native",
19
+ "factory": "./src/migrations/update-13-5-0/update-react-native-typing-svg-13-5-0"
20
+ },
21
+ "add-babel-config-root-13-5-0": {
22
+ "version": "13.5.0-beta.0",
23
+ "cli": "nx",
24
+ "description": "Add babel.config.json at root for react native workspace if it does not exist",
25
+ "factory": "./src/migrations/update-13-5-0/add-babel-config-root-13-5-0"
14
26
  }
15
27
  },
16
28
  "packageJsonUpdates": {
@@ -279,6 +291,43 @@
279
291
  "alwaysAddToPackageJson": false
280
292
  }
281
293
  }
294
+ },
295
+ "13.5.0": {
296
+ "version": "13.5.0-beta.0",
297
+ "packages": {
298
+ "react-native": {
299
+ "version": "0.66.4",
300
+ "alwaysAddToPackageJson": false
301
+ },
302
+ "@types/react-native": {
303
+ "version": "0.66.11",
304
+ "alwaysAddToPackageJson": false
305
+ },
306
+ "@react-native-community/cli": {
307
+ "version": "6.3.1",
308
+ "alwaysAddToPackageJson": false
309
+ },
310
+ "@react-native-community/cli-platform-android": {
311
+ "version": "6.3.0",
312
+ "alwaysAddToPackageJson": false
313
+ },
314
+ "@react-native-community/cli-platform-ios": {
315
+ "version": "6.2.0",
316
+ "alwaysAddToPackageJson": false
317
+ },
318
+ "@testing-library/react-native": {
319
+ "version": "9.0.0",
320
+ "alwaysAddToPackageJson": false
321
+ },
322
+ "react-native-svg-transformer": {
323
+ "version": "1.0.0",
324
+ "alwaysAddToPackageJson": false
325
+ },
326
+ "@babel/runtime": {
327
+ "version": "7.16.7",
328
+ "alwaysAddToPackageJson": false
329
+ }
330
+ }
282
331
  }
283
332
  }
284
333
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nrwl/react-native",
3
- "version": "13.4.5-beta.1",
3
+ "version": "13.4.5-beta.5",
4
4
  "description": "React Native Plugin for Nx",
5
5
  "keywords": [
6
6
  "Monorepo",
@@ -24,12 +24,12 @@
24
24
  "main": "index.js",
25
25
  "types": "index.d.ts",
26
26
  "dependencies": {
27
- "@nrwl/detox": "13.4.5-beta.1",
28
- "@nrwl/devkit": "13.4.5-beta.1",
29
- "@nrwl/jest": "13.4.5-beta.1",
30
- "@nrwl/linter": "13.4.5-beta.1",
31
- "@nrwl/react": "13.4.5-beta.1",
32
- "@nrwl/workspace": "13.4.5-beta.1",
27
+ "@nrwl/detox": "13.4.5-beta.5",
28
+ "@nrwl/devkit": "13.4.5-beta.5",
29
+ "@nrwl/jest": "13.4.5-beta.5",
30
+ "@nrwl/linter": "13.4.5-beta.5",
31
+ "@nrwl/react": "13.4.5-beta.5",
32
+ "@nrwl/workspace": "13.4.5-beta.5",
33
33
  "chalk": "^4.1.0",
34
34
  "enhanced-resolve": "^5.8.3",
35
35
  "fs-extra": "^9.1.0",
@@ -39,7 +39,7 @@
39
39
  "tsconfig-paths": "^3.9.0"
40
40
  },
41
41
  "peerDependencies": {
42
- "react-native": "^0.66.2"
42
+ "react-native": "^0.66.4"
43
43
  },
44
44
  "builders": "./executors.json",
45
45
  "ng-update": {
@@ -1,5 +1,4 @@
1
1
  // From https://github.com/kristerkari/react-native-svg-transformer#usage-with-jest
2
- // __mocks__/svgMock.js
3
2
  module.exports = 'SvgMock';
4
3
  module.exports.ReactComponent = 'SvgMock';
5
4
  //# sourceMappingURL=svg-mock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"svg-mock.js","sourceRoot":"","sources":["../../../../../packages/react-native/plugins/jest/svg-mock.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,uBAAuB;AACvB,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;AAC3B,MAAM,CAAC,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC"}
1
+ {"version":3,"file":"svg-mock.js","sourceRoot":"","sources":["../../../../../packages/react-native/plugins/jest/svg-mock.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;AAC3B,MAAM,CAAC,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC"}
package/project.json CHANGED
@@ -46,18 +46,23 @@
46
46
  {
47
47
  "input": "./packages/react-native/src",
48
48
  "glob": "**/*.!(ts)",
49
- "output": "./src"
49
+ "output": "/src"
50
50
  },
51
51
  {
52
52
  "input": "./packages/react-native",
53
53
  "glob": "*.rb",
54
- "output": "."
54
+ "output": "/"
55
55
  },
56
56
  {
57
57
  "input": "./packages/react-native",
58
58
  "glob": "**/*.json",
59
59
  "ignore": ["**/tsconfig*.json"],
60
60
  "output": "/"
61
+ },
62
+ {
63
+ "input": "packages/react-native",
64
+ "glob": "**/*.d.ts",
65
+ "output": "/"
61
66
  }
62
67
  ]
63
68
  },
@@ -75,7 +75,7 @@ const App = () => {
75
75
  </View>
76
76
  </View>
77
77
  <View style={styles.section}>
78
- <View style={[styles.middleContent, styles.shadowBox]}>
78
+ <View style={[styles.shadowBox]}>
79
79
  <Text style={[styles.marginBottomMd, styles.textLg]}>
80
80
  Learning materials
81
81
  </Text>
@@ -371,7 +371,7 @@ const styles = StyleSheet.create({
371
371
  },
372
372
  monospace: {
373
373
  color: '#ffffff',
374
- fontFamily: 'Courier',
374
+ fontFamily: 'Courier New',
375
375
  marginVertical: 4,
376
376
  },
377
377
  comment: {
@@ -4,6 +4,6 @@
4
4
  "outDir": "<%= offsetFromRoot %>dist/out-tsc",
5
5
  "types": ["node"]
6
6
  },
7
- "exclude": ["**/*.spec.ts", "**/*.spec.tsx"],
7
+ "exclude": ["**/*.spec.ts", "**/*.spec.tsx", "test-setup.ts"],
8
8
  "include": ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"]
9
9
  }
@@ -10,7 +10,7 @@
10
10
  "resolveJsonModule": true
11
11
  },
12
12
  "files": [
13
- "../../node_modules/@nrwl/react/typings/image.d.ts"
13
+ "../../node_modules/@nrwl/react-native/typings/svg.d.ts"
14
14
  ],
15
15
  "include": [],
16
16
  "references": [
@@ -4,16 +4,18 @@ exports.reactNativeInitSchematic = exports.updateDependencies = exports.reactNat
4
4
  const tslib_1 = require("tslib");
5
5
  const set_default_collection_1 = require("@nrwl/workspace/src/utilities/set-default-collection");
6
6
  const devkit_1 = require("@nrwl/devkit");
7
- const versions_1 = require("../../utils/versions");
8
7
  const run_tasks_in_serial_1 = require("@nrwl/workspace/src/utilities/run-tasks-in-serial");
9
- const add_git_ignore_entry_1 = require("./lib/add-git-ignore-entry");
10
8
  const jest_1 = require("@nrwl/jest");
11
9
  const detox_1 = require("@nrwl/detox");
12
- const versions_2 = require("@nrwl/react/src/utils/versions");
10
+ const versions_1 = require("@nrwl/react/src/utils/versions");
11
+ const versions_2 = require("../../utils/versions");
12
+ const add_git_ignore_entry_1 = require("./lib/add-git-ignore-entry");
13
+ const init_root_babel_config_1 = require("./lib/init-root-babel-config");
13
14
  function reactNativeInitGenerator(host, schema) {
14
15
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
15
16
  (0, set_default_collection_1.setDefaultCollection)(host, '@nrwl/react-native');
16
17
  (0, add_git_ignore_entry_1.addGitIgnoreEntry)(host);
18
+ (0, init_root_babel_config_1.initRootBabelConfig)(host);
17
19
  const tasks = [moveDependency(host), updateDependencies(host)];
18
20
  if (!schema.unitTestRunner || schema.unitTestRunner === 'jest') {
19
21
  const jestTask = (0, jest_1.jestInitGenerator)(host, {});
@@ -33,12 +35,12 @@ exports.reactNativeInitGenerator = reactNativeInitGenerator;
33
35
  function updateDependencies(host) {
34
36
  const isPnpm = (0, devkit_1.detectPackageManager)(host.root) === 'pnpm';
35
37
  return (0, devkit_1.addDependenciesToPackageJson)(host, {
36
- react: versions_2.reactVersion,
37
- 'react-native': versions_1.reactNativeVersion,
38
- }, Object.assign({ '@nrwl/react-native': versions_1.nxVersion, '@types/react': versions_2.typesReactVersion, '@types/react-native': versions_1.typesReactNativeVersion, '@react-native-community/cli': versions_1.reactNativeCommunityCli, '@react-native-community/cli-platform-android': versions_1.reactNativeCommunityCliAndroid, '@react-native-community/cli-platform-ios': versions_1.reactNativeCommunityCliIos, 'metro-react-native-babel-preset': versions_1.metroReactNativeBabelPresetVersion, '@testing-library/react-native': versions_1.testingLibraryReactNativeVersion, '@testing-library/jest-native': versions_1.testingLibraryJestNativeVersion, 'jest-react-native': versions_1.jestReactNativeVersion, metro: versions_1.metroVersion, 'metro-resolver': versions_1.metroVersion, 'react-test-renderer': versions_1.reactTestRendererVersion, 'react-native-svg-transformer': versions_1.reactNativeSvgTransformerVersion, 'react-native-svg': versions_1.reactNativeSvgVersion }, (isPnpm
38
+ react: versions_1.reactVersion,
39
+ 'react-native': versions_2.reactNativeVersion,
40
+ }, Object.assign({ '@nrwl/react-native': versions_2.nxVersion, '@types/react': versions_1.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, 'metro-react-native-babel-preset': versions_2.metroReactNativeBabelPresetVersion, '@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, 'react-test-renderer': versions_2.reactTestRendererVersion, 'react-native-svg-transformer': versions_2.reactNativeSvgTransformerVersion, 'react-native-svg': versions_2.reactNativeSvgVersion }, (isPnpm
39
41
  ? {
40
- 'metro-config': versions_1.metroVersion,
41
- '@babel/runtime': versions_1.babelRuntimeVersion, // @babel/runtime is used by react-native-svg
42
+ 'metro-config': versions_2.metroVersion,
43
+ '@babel/runtime': versions_2.babelRuntimeVersion, // @babel/runtime is used by react-native-svg
42
44
  }
43
45
  : {})));
44
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/generators/init/init.ts"],"names":[],"mappings":";;;;AAAA,iGAA4F;AAC5F,yCAOsB;AAEtB,mDAgB8B;AAC9B,2FAAqF;AACrF,qEAA+D;AAC/D,qCAA+C;AAC/C,uCAAiD;AACjD,6DAGwC;AAExC,SAAsB,wBAAwB,CAAC,IAAU,EAAE,MAAc;;QACvE,IAAA,6CAAoB,EAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QACjD,IAAA,wCAAiB,EAAC,IAAI,CAAC,CAAC;QAExB,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/D,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,KAAK,MAAM,EAAE;YAC9D,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtB;QAED,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,KAAK,OAAO,EAAE;YAC7D,MAAM,SAAS,GAAG,MAAM,IAAA,0BAAkB,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACvB;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACtB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,sCAAgB,EAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;CAAA;AArBD,4DAqBC;AAED,SAAgB,kBAAkB,CAAC,IAAU;IAC3C,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC;IAC1D,OAAO,IAAA,qCAA4B,EACjC,IAAI,EACJ;QACE,KAAK,EAAE,uBAAY;QACnB,cAAc,EAAE,6BAAkB;KACnC,kBAEC,oBAAoB,EAAE,oBAAS,EAC/B,cAAc,EAAE,4BAAiB,EACjC,qBAAqB,EAAE,kCAAuB,EAC9C,6BAA6B,EAAE,kCAAuB,EACtD,8CAA8C,EAC5C,yCAA8B,EAChC,0CAA0C,EAAE,qCAA0B,EACtE,iCAAiC,EAAE,6CAAkC,EACrE,+BAA+B,EAAE,2CAAgC,EACjE,8BAA8B,EAAE,0CAA+B,EAC/D,mBAAmB,EAAE,iCAAsB,EAC3C,KAAK,EAAE,uBAAY,EACnB,gBAAgB,EAAE,uBAAY,EAC9B,qBAAqB,EAAE,mCAAwB,EAC/C,8BAA8B,EAAE,2CAAgC,EAChE,kBAAkB,EAAE,gCAAqB,IACtC,CAAC,MAAM;QACR,CAAC,CAAC;YACE,cAAc,EAAE,uBAAY;YAC5B,gBAAgB,EAAE,8BAAmB,EAAE,6CAA6C;SACrF;QACH,CAAC,CAAC,EAAE,CAAC,EAEV,CAAC;AACJ,CAAC;AAjCD,gDAiCC;AAED,SAAS,cAAc,CAAC,IAAU;IAChC,OAAO,IAAA,0CAAiC,EAAC,IAAI,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,kBAAe,wBAAwB,CAAC;AAC3B,QAAA,wBAAwB,GAAG,IAAA,2BAAkB,EACxD,wBAAwB,CACzB,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/generators/init/init.ts"],"names":[],"mappings":";;;;AAAA,iGAA4F;AAC5F,yCAOsB;AAEtB,2FAAqF;AACrF,qCAA+C;AAC/C,uCAAiD;AACjD,6DAGwC;AAExC,mDAgB8B;AAE9B,qEAA+D;AAC/D,yEAAmE;AAEnE,SAAsB,wBAAwB,CAAC,IAAU,EAAE,MAAc;;QACvE,IAAA,6CAAoB,EAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QACjD,IAAA,wCAAiB,EAAC,IAAI,CAAC,CAAC;QACxB,IAAA,4CAAmB,EAAC,IAAI,CAAC,CAAC;QAE1B,MAAM,KAAK,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/D,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,KAAK,MAAM,EAAE;YAC9D,MAAM,QAAQ,GAAG,IAAA,wBAAiB,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7C,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtB;QAED,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,KAAK,OAAO,EAAE;YAC7D,MAAM,SAAS,GAAG,MAAM,IAAA,0BAAkB,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACrD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACvB;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YACtB,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;SACzB;QAED,OAAO,IAAA,sCAAgB,EAAC,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;CAAA;AAtBD,4DAsBC;AAED,SAAgB,kBAAkB,CAAC,IAAU;IAC3C,MAAM,MAAM,GAAG,IAAA,6BAAoB,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC;IAC1D,OAAO,IAAA,qCAA4B,EACjC,IAAI,EACJ;QACE,KAAK,EAAE,uBAAY;QACnB,cAAc,EAAE,6BAAkB;KACnC,kBAEC,oBAAoB,EAAE,oBAAS,EAC/B,cAAc,EAAE,4BAAiB,EACjC,qBAAqB,EAAE,kCAAuB,EAC9C,6BAA6B,EAAE,kCAAuB,EACtD,8CAA8C,EAC5C,yCAA8B,EAChC,0CAA0C,EAAE,qCAA0B,EACtE,iCAAiC,EAAE,6CAAkC,EACrE,+BAA+B,EAAE,2CAAgC,EACjE,8BAA8B,EAAE,0CAA+B,EAC/D,mBAAmB,EAAE,iCAAsB,EAC3C,KAAK,EAAE,uBAAY,EACnB,gBAAgB,EAAE,uBAAY,EAC9B,qBAAqB,EAAE,mCAAwB,EAC/C,8BAA8B,EAAE,2CAAgC,EAChE,kBAAkB,EAAE,gCAAqB,IACtC,CAAC,MAAM;QACR,CAAC,CAAC;YACE,cAAc,EAAE,uBAAY;YAC5B,gBAAgB,EAAE,8BAAmB,EAAE,6CAA6C;SACrF;QACH,CAAC,CAAC,EAAE,CAAC,EAEV,CAAC;AACJ,CAAC;AAjCD,gDAiCC;AAED,SAAS,cAAc,CAAC,IAAU;IAChC,OAAO,IAAA,0CAAiC,EAAC,IAAI,EAAE,CAAC,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,kBAAe,wBAAwB,CAAC;AAC3B,QAAA,wBAAwB,GAAG,IAAA,2BAAkB,EACxD,wBAAwB,CACzB,CAAC"}
@@ -56,4 +56,35 @@ describe('init', () => {
56
56
  expect(cli.defaultCollection).toEqual('@nrwl/react');
57
57
  });
58
58
  });
59
+
60
+ describe('babel config', () => {
61
+ it('should create babel config if not present', async () => {
62
+ await reactNativeInitGenerator(tree, {
63
+ unitTestRunner: 'none',
64
+ e2eTestRunner: 'none',
65
+ });
66
+ expect(tree.exists('babel.config.json')).toBe(true);
67
+ });
68
+
69
+ it('should not overwrite existing babel config', async () => {
70
+ tree.write('babel.config.json', '{ "preset": ["preset-awesome"] }');
71
+
72
+ await reactNativeInitGenerator(tree, {
73
+ unitTestRunner: 'none',
74
+ e2eTestRunner: 'none',
75
+ });
76
+
77
+ const existing = readJson(tree, 'babel.config.json');
78
+ expect(existing).toEqual({ preset: ['preset-awesome'] });
79
+ });
80
+
81
+ it('should not overwrite existing babel config (.js)', async () => {
82
+ tree.write('/babel.config.js', 'module.exports = () => {};');
83
+ await reactNativeInitGenerator(tree, {
84
+ unitTestRunner: 'none',
85
+ e2eTestRunner: 'none',
86
+ });
87
+ expect(tree.exists('babel.config.json')).toBe(false);
88
+ });
89
+ });
59
90
  });
@@ -0,0 +1,2 @@
1
+ import { Tree } from '@nrwl/devkit';
2
+ export declare function initRootBabelConfig(tree: Tree): void;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initRootBabelConfig = void 0;
4
+ const devkit_1 = require("@nrwl/devkit");
5
+ function initRootBabelConfig(tree) {
6
+ if (tree.exists('/babel.config.json') || tree.exists('/babel.config.js')) {
7
+ return;
8
+ }
9
+ (0, devkit_1.writeJson)(tree, '/babel.config.json', {
10
+ babelrcRoots: ['*'], // Make sure .babelrc files other than root can be loaded in a monorepo
11
+ });
12
+ }
13
+ exports.initRootBabelConfig = initRootBabelConfig;
14
+ //# sourceMappingURL=init-root-babel-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-root-babel-config.js","sourceRoot":"","sources":["../../../../../../../packages/react-native/src/generators/init/lib/init-root-babel-config.ts"],"names":[],"mappings":";;;AAAA,yCAA+C;AAE/C,SAAgB,mBAAmB,CAAC,IAAU;IAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;QACxE,OAAO;KACR;IAED,IAAA,kBAAS,EAAC,IAAI,EAAE,oBAAoB,EAAE;QACpC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,uEAAuE;KAC7F,CAAC,CAAC;AACL,CAAC;AARD,kDAQC"}
@@ -4,6 +4,6 @@
4
4
  "outDir": "<%= offsetFromRoot %>dist/out-tsc",
5
5
  "types": ["node"]
6
6
  },
7
- "exclude": ["**/*.spec.ts", "**/*.spec.tsx"],
7
+ "exclude": ["**/*.spec.ts", "**/*.spec.tsx", "test-setup.ts"],
8
8
  "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"]
9
9
  }
@@ -40,7 +40,7 @@ function addReactNativeSvgToTsconfig(host, project) {
40
40
  const offset = (0, devkit_1.offsetFromRoot)(project.root);
41
41
  (0, devkit_1.updateJson)(host, tsconfigPath, (json) => {
42
42
  const files = json.files || [];
43
- files.push(`${offset}node_modules/@nrwl/react/typings/image.d.ts`);
43
+ files.push(`${offset}node_modules/@nrwl/react-native/typings/svg.d.ts`);
44
44
  json.files = files;
45
45
  return json;
46
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"add-react-native-svg-12-10-0.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/migrations/update-12-10-0/add-react-native-svg-12-10-0.ts"],"names":[],"mappings":";;;AAAA,yCASsB;AAEtB;;;;;GAKG;AACH,SAA8B,MAAM,CAAC,IAAU;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;;YAC3B,IAAI,CAAA,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,KAAK,0CAAE,QAAQ,MAAK,0BAA0B;gBAAE,OAAO;YAE5E,iCAAiC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,2BAA2B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3C,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AAZD,yBAYC;AAED,SAAS,iCAAiC,CACxC,IAAU,EACV,OAA6B;IAE7B,MAAM,eAAe,GAAG,GAAG,OAAO,CAAC,IAAI,eAAe,CAAC;IACvD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QAAE,OAAO;IAC1C,IAAA,mBAAU,EAAC,IAAI,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QAC7C,YAAY,CAAC,kBAAkB,CAAC,GAAG,GAAG,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAClC,IAAU,EACV,OAA6B;IAE7B,MAAM,YAAY,GAAG,GAAG,OAAO,CAAC,IAAI,gBAAgB,CAAC;IACrD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAAE,OAAO;IACvC,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAA,mBAAU,EAAC,IAAI,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,6CAA6C,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAU,EAAE,OAA6B;;IACpE,MAAM,cAAc,GAAG,MAAA,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,IAAI,0CAAE,OAAO,0CAAE,UAAU,CAAC;IAClE,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAAE,OAAO;IAC5D,IAAI;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAAE,OAAO;QAClD,IAAI,CAAC,KAAK,CACR,cAAc,EACd,QAAQ,CAAC,OAAO,CACd,WAAW,EACX,gFAAgF,CACjF,CACF,CAAC;KACH;IAAC,WAAM;QACN,eAAM,CAAC,KAAK,CACV,IAAA,qBAAY,EAAA,oBAAoB,cAAc,gBAAgB,OAAO,CAAC,IAAI,GAAG,CAC9E,CAAC;KACH;AACH,CAAC"}
1
+ {"version":3,"file":"add-react-native-svg-12-10-0.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/migrations/update-12-10-0/add-react-native-svg-12-10-0.ts"],"names":[],"mappings":";;;AAAA,yCASsB;AAEtB;;;;;GAKG;AACH,SAA8B,MAAM,CAAC,IAAU;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;;YAC3B,IAAI,CAAA,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,KAAK,0CAAE,QAAQ,MAAK,0BAA0B;gBAAE,OAAO;YAE5E,iCAAiC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,2BAA2B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC3C,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AAZD,yBAYC;AAED,SAAS,iCAAiC,CACxC,IAAU,EACV,OAA6B;IAE7B,MAAM,eAAe,GAAG,GAAG,OAAO,CAAC,IAAI,eAAe,CAAC;IACvD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QAAE,OAAO;IAC1C,IAAA,mBAAU,EAAC,IAAI,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;QACzC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QAC7C,YAAY,CAAC,kBAAkB,CAAC,GAAG,GAAG,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,2BAA2B,CAClC,IAAU,EACV,OAA6B;IAE7B,MAAM,YAAY,GAAG,GAAG,OAAO,CAAC,IAAI,gBAAgB,CAAC;IACrD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAAE,OAAO;IACvC,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAA,mBAAU,EAAC,IAAI,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,kDAAkD,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAU,EAAE,OAA6B;;IACpE,MAAM,cAAc,GAAG,MAAA,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,IAAI,0CAAE,OAAO,0CAAE,UAAU,CAAC;IAClE,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAAE,OAAO;IAC5D,IAAI;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAAE,OAAO;QAClD,IAAI,CAAC,KAAK,CACR,cAAc,EACd,QAAQ,CAAC,OAAO,CACd,WAAW,EACX,gFAAgF,CACjF,CACF,CAAC;KACH;IAAC,WAAM;QACN,eAAM,CAAC,KAAK,CACV,IAAA,qBAAY,EAAA,oBAAoB,cAAc,gBAAgB,OAAO,CAAC,IAAI,GAAG,CAC9E,CAAC;KACH;AACH,CAAC"}
@@ -50,7 +50,7 @@ describe('Add react-native-svg to dev dependencies', () => {
50
50
 
51
51
  const tsconfig = readJson(tree, 'apps/products/tsconfig.json');
52
52
  expect(tsconfig.files).toEqual([
53
- '../../node_modules/@nrwl/react/typings/image.d.ts',
53
+ '../../node_modules/@nrwl/react-native/typings/svg.d.ts',
54
54
  ]);
55
55
 
56
56
  const packageJson = readJson(tree, 'apps/products/package.json');
@@ -0,0 +1,2 @@
1
+ import { Tree } from '@nrwl/devkit';
2
+ 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
+ const init_root_babel_config_1 = require("../../generators/init/lib/init-root-babel-config");
6
+ function update(tree) {
7
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
8
+ const projects = (0, devkit_1.getProjects)(tree);
9
+ if (tree.exists('/babel.config.json') || tree.exists('/babel.config.js')) {
10
+ return;
11
+ }
12
+ let hasReactNaiveProject = false;
13
+ projects.forEach((project) => {
14
+ var _a, _b;
15
+ if (hasReactNaiveProject)
16
+ return;
17
+ hasReactNaiveProject =
18
+ ((_b = (_a = project.targets) === null || _a === void 0 ? void 0 : _a.start) === null || _b === void 0 ? void 0 : _b.executor) === '@nrwl/react-native:start';
19
+ });
20
+ if (hasReactNaiveProject) {
21
+ (0, init_root_babel_config_1.initRootBabelConfig)(tree);
22
+ }
23
+ });
24
+ }
25
+ exports.default = update;
26
+ //# sourceMappingURL=add-babel-config-root-13-5-0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-babel-config-root-13-5-0.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/migrations/update-13-5-0/add-babel-config-root-13-5-0.ts"],"names":[],"mappings":";;;AAAA,yCAAiD;AAEjD,6FAAuF;AAEvF,SAA8B,MAAM,CAAC,IAAU;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;YACxE,OAAO;SACR;QAED,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;;YAC3B,IAAI,oBAAoB;gBAAE,OAAO;YACjC,oBAAoB;gBAClB,CAAA,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,KAAK,0CAAE,QAAQ,MAAK,0BAA0B,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,IAAI,oBAAoB,EAAE;YACxB,IAAA,4CAAmB,EAAC,IAAI,CAAC,CAAC;SAC3B;IACH,CAAC;CAAA;AAjBD,yBAiBC"}
@@ -0,0 +1,48 @@
1
+ import { addProjectConfiguration, readJson, Tree } from '@nrwl/devkit';
2
+ import { createTreeWithEmptyWorkspace } from '@nrwl/devkit/testing';
3
+ import update from './add-babel-config-root-13-5-0';
4
+
5
+ describe('Add react-native-svg to dev dependencies', () => {
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
+ start: {
15
+ executor: '@nrwl/react-native:start',
16
+ options: {
17
+ port: 8081,
18
+ },
19
+ },
20
+ test: {
21
+ executor: '@nrwl/jest:jest',
22
+ options: {
23
+ jestConfig: 'apps/products/jest.config.js',
24
+ passWithNoTests: true,
25
+ },
26
+ },
27
+ },
28
+ });
29
+ });
30
+
31
+ it(`should add babel.config.json at root`, async () => {
32
+ await update(tree);
33
+
34
+ const babelConfigJson = readJson(tree, 'babel.config.json');
35
+ expect(babelConfigJson).toEqual({
36
+ babelrcRoots: ['*'],
37
+ });
38
+ });
39
+
40
+ it(`should not change babel.config.json if it already exists`, async () => {
41
+ tree.write('babel.config.json', '{}');
42
+
43
+ await update(tree);
44
+
45
+ const babelConfigJson = readJson(tree, 'babel.config.json');
46
+ expect(babelConfigJson).toEqual({});
47
+ });
48
+ });
@@ -0,0 +1,6 @@
1
+ import { Tree } from '@nrwl/devkit';
2
+ /**
3
+ * Update svg typings in tsconfig for react native app
4
+ * Replace node_modules/@nrwl/react/typings/image.d.ts with node_modules/@nrwl/react-native/typings/svg.d.ts
5
+ */
6
+ export default function update(tree: Tree): Promise<void>;
@@ -0,0 +1,41 @@
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
+ * Update svg typings in tsconfig for react native app
7
+ * Replace node_modules/@nrwl/react/typings/image.d.ts with node_modules/@nrwl/react-native/typings/svg.d.ts
8
+ */
9
+ function update(tree) {
10
+ return (0, tslib_1.__awaiter)(this, void 0, void 0, function* () {
11
+ const projects = (0, devkit_1.getProjects)(tree);
12
+ projects.forEach((project) => {
13
+ var _a, _b;
14
+ if (((_b = (_a = project.targets) === null || _a === void 0 ? void 0 : _a.start) === null || _b === void 0 ? void 0 : _b.executor) !== '@nrwl/react-native:start')
15
+ return;
16
+ updateReactNativeSvgTypingInTsconfig(tree, project);
17
+ });
18
+ yield (0, devkit_1.formatFiles)(tree);
19
+ });
20
+ }
21
+ exports.default = update;
22
+ function updateReactNativeSvgTypingInTsconfig(host, project) {
23
+ const tsconfigPath = `${project.root}/tsconfig.json`;
24
+ if (!host.exists(tsconfigPath))
25
+ return;
26
+ const offset = (0, devkit_1.offsetFromRoot)(project.root);
27
+ (0, devkit_1.updateJson)(host, tsconfigPath, (json) => {
28
+ const files = json.files || [];
29
+ const imageTypingIndex = files.findIndex((file) => file === `${offset}node_modules/@nrwl/react/typings/image.d.ts`);
30
+ const reactNativeSvgTypingPath = `${offset}node_modules/@nrwl/react-native/typings/svg.d.ts`;
31
+ if (imageTypingIndex === -1) {
32
+ files.push(reactNativeSvgTypingPath);
33
+ }
34
+ else {
35
+ files[imageTypingIndex] = reactNativeSvgTypingPath;
36
+ }
37
+ json.files = files;
38
+ return json;
39
+ });
40
+ }
41
+ //# sourceMappingURL=update-react-native-typing-svg-13-5-0.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-react-native-typing-svg-13-5-0.js","sourceRoot":"","sources":["../../../../../../packages/react-native/src/migrations/update-13-5-0/update-react-native-typing-svg-13-5-0.ts"],"names":[],"mappings":";;;AAAA,yCAOsB;AAEtB;;;GAGG;AACH,SAA8B,MAAM,CAAC,IAAU;;QAC7C,MAAM,QAAQ,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;QAEnC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;;YAC3B,IAAI,CAAA,MAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,KAAK,0CAAE,QAAQ,MAAK,0BAA0B;gBAAE,OAAO;YAC5E,oCAAoC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CAAA;AATD,yBASC;AAED,SAAS,oCAAoC,CAC3C,IAAU,EACV,OAA6B;IAE7B,MAAM,YAAY,GAAG,GAAG,OAAO,CAAC,IAAI,gBAAgB,CAAC;IACrD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAAE,OAAO;IACvC,MAAM,MAAM,GAAG,IAAA,uBAAc,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAA,mBAAU,EAAC,IAAI,EAAE,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/B,MAAM,gBAAgB,GAAG,KAAK,CAAC,SAAS,CACtC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,MAAM,6CAA6C,CAC1E,CAAC;QACF,MAAM,wBAAwB,GAAG,GAAG,MAAM,kDAAkD,CAAC;QAC7F,IAAI,gBAAgB,KAAK,CAAC,CAAC,EAAE;YAC3B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;SACtC;aAAM;YACL,KAAK,CAAC,gBAAgB,CAAC,GAAG,wBAAwB,CAAC;SACpD;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { addProjectConfiguration, readJson, Tree } from '@nrwl/devkit';
2
+ import { createTreeWithEmptyWorkspace } from '@nrwl/devkit/testing';
3
+ import update from './update-react-native-typing-svg-13-5-0';
4
+
5
+ describe('Update svg typings in tsconfig for react native app', () => {
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
+ start: {
15
+ executor: '@nrwl/react-native:start',
16
+ options: {
17
+ port: 8081,
18
+ },
19
+ },
20
+ test: {
21
+ executor: '@nrwl/jest:jest',
22
+ options: {
23
+ jestConfig: 'apps/products/jest.config.js',
24
+ passWithNoTests: true,
25
+ },
26
+ },
27
+ },
28
+ });
29
+ });
30
+
31
+ it(`should add svg typing to tsconfig.json`, async () => {
32
+ tree.write('apps/products/tsconfig.json', '{}');
33
+ await update(tree);
34
+
35
+ const tsconfig = readJson(tree, 'apps/products/tsconfig.json');
36
+ expect(tsconfig.files).toEqual([
37
+ '../../node_modules/@nrwl/react-native/typings/svg.d.ts',
38
+ ]);
39
+ });
40
+
41
+ it(`should update to svg typing in tsconfig.json if image typing from react exists`, async () => {
42
+ tree.write(
43
+ 'apps/products/tsconfig.json',
44
+ `{
45
+ "files": ["../../node_modules/@nrwl/react/typings/image.d.ts"]
46
+ }`
47
+ );
48
+ await update(tree);
49
+
50
+ const tsconfig = readJson(tree, 'apps/products/tsconfig.json');
51
+ expect(tsconfig.files).toEqual([
52
+ '../../node_modules/@nrwl/react-native/typings/svg.d.ts',
53
+ ]);
54
+ });
55
+
56
+ it(`should update app's tsconfig.json and package.json if file does not exist`, async () => {
57
+ await update(tree);
58
+
59
+ expect(() => readJson(tree, 'apps/products/tsconfig.json')).toThrow();
60
+ });
61
+ });
@@ -1,15 +1,15 @@
1
1
  export declare const nxVersion = "*";
2
- export declare const reactNativeVersion = "0.66.2";
3
- export declare const typesReactNativeVersion = "0.66.2";
2
+ export declare const reactNativeVersion = "0.66.4";
3
+ export declare const typesReactNativeVersion = "0.66.11";
4
4
  export declare const metroVersion = "0.66.2";
5
- export declare const reactNativeCommunityCli = "6.1.0";
6
- export declare const reactNativeCommunityCliIos = "6.1.0";
7
- export declare const reactNativeCommunityCliAndroid = "6.1.0";
5
+ export declare const reactNativeCommunityCli = "6.3.1";
6
+ export declare const reactNativeCommunityCliIos = "6.2.0";
7
+ export declare const reactNativeCommunityCliAndroid = "6.3.0";
8
8
  export declare const metroReactNativeBabelPresetVersion = "0.66.2";
9
- export declare const testingLibraryReactNativeVersion = "8.0.0";
9
+ export declare const testingLibraryReactNativeVersion = "9.0.0";
10
10
  export declare const testingLibraryJestNativeVersion = "4.0.4";
11
11
  export declare const jestReactNativeVersion = "18.0.0";
12
12
  export declare const reactTestRendererVersion = "17.0.2";
13
- export declare const reactNativeSvgTransformerVersion = "0.14.3";
13
+ export declare const reactNativeSvgTransformerVersion = "1.0.0";
14
14
  export declare const reactNativeSvgVersion = "12.1.1";
15
- export declare const babelRuntimeVersion = "7.16.3";
15
+ export declare const babelRuntimeVersion = "7.16.7";
@@ -1,19 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.babelRuntimeVersion = exports.reactNativeSvgVersion = exports.reactNativeSvgTransformerVersion = exports.reactTestRendererVersion = exports.jestReactNativeVersion = exports.testingLibraryJestNativeVersion = exports.testingLibraryReactNativeVersion = exports.metroReactNativeBabelPresetVersion = exports.reactNativeCommunityCliAndroid = exports.reactNativeCommunityCliIos = exports.reactNativeCommunityCli = exports.metroVersion = exports.typesReactNativeVersion = exports.reactNativeVersion = exports.nxVersion = void 0;
4
- exports.nxVersion = '13.4.5-beta.1';
5
- exports.reactNativeVersion = '0.66.2';
6
- exports.typesReactNativeVersion = '0.66.2';
4
+ exports.nxVersion = '13.4.5-beta.5';
5
+ exports.reactNativeVersion = '0.66.4';
6
+ exports.typesReactNativeVersion = '0.66.11';
7
7
  exports.metroVersion = '0.66.2';
8
- exports.reactNativeCommunityCli = '6.1.0';
9
- exports.reactNativeCommunityCliIos = '6.1.0';
10
- exports.reactNativeCommunityCliAndroid = '6.1.0';
8
+ exports.reactNativeCommunityCli = '6.3.1';
9
+ exports.reactNativeCommunityCliIos = '6.2.0';
10
+ exports.reactNativeCommunityCliAndroid = '6.3.0';
11
11
  exports.metroReactNativeBabelPresetVersion = '0.66.2';
12
- exports.testingLibraryReactNativeVersion = '8.0.0';
12
+ exports.testingLibraryReactNativeVersion = '9.0.0';
13
13
  exports.testingLibraryJestNativeVersion = '4.0.4';
14
14
  exports.jestReactNativeVersion = '18.0.0';
15
15
  exports.reactTestRendererVersion = '17.0.2';
16
- exports.reactNativeSvgTransformerVersion = '0.14.3';
16
+ exports.reactNativeSvgTransformerVersion = '1.0.0';
17
17
  exports.reactNativeSvgVersion = '12.1.1';
18
- exports.babelRuntimeVersion = '7.16.3';
18
+ exports.babelRuntimeVersion = '7.16.7';
19
19
  //# sourceMappingURL=versions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/react-native/src/utils/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,GAAG,CAAC;AAEhB,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAC9B,QAAA,uBAAuB,GAAG,QAAQ,CAAC;AAEnC,QAAA,YAAY,GAAG,QAAQ,CAAC;AAExB,QAAA,uBAAuB,GAAG,OAAO,CAAC;AAClC,QAAA,0BAA0B,GAAG,OAAO,CAAC;AACrC,QAAA,8BAA8B,GAAG,OAAO,CAAC;AAEzC,QAAA,kCAAkC,GAAG,QAAQ,CAAC;AAE9C,QAAA,gCAAgC,GAAG,OAAO,CAAC;AAC3C,QAAA,+BAA+B,GAAG,OAAO,CAAC;AAE1C,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAElC,QAAA,wBAAwB,GAAG,QAAQ,CAAC;AAEpC,QAAA,gCAAgC,GAAG,QAAQ,CAAC;AAC5C,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AAEjC,QAAA,mBAAmB,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../../packages/react-native/src/utils/versions.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,GAAG,CAAC;AAEhB,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AAC9B,QAAA,uBAAuB,GAAG,SAAS,CAAC;AAEpC,QAAA,YAAY,GAAG,QAAQ,CAAC;AAExB,QAAA,uBAAuB,GAAG,OAAO,CAAC;AAClC,QAAA,0BAA0B,GAAG,OAAO,CAAC;AACrC,QAAA,8BAA8B,GAAG,OAAO,CAAC;AAEzC,QAAA,kCAAkC,GAAG,QAAQ,CAAC;AAE9C,QAAA,gCAAgC,GAAG,OAAO,CAAC;AAC3C,QAAA,+BAA+B,GAAG,OAAO,CAAC;AAE1C,QAAA,sBAAsB,GAAG,QAAQ,CAAC;AAElC,QAAA,wBAAwB,GAAG,QAAQ,CAAC;AAEpC,QAAA,gCAAgC,GAAG,OAAO,CAAC;AAC3C,QAAA,qBAAqB,GAAG,QAAQ,CAAC;AAEjC,QAAA,mBAAmB,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,7 @@
1
+ // from https://github.com/kristerkari/react-native-svg-transformer#using-typescript
2
+ declare module '*.svg' {
3
+ import React from 'react';
4
+ import { SvgProps } from 'react-native-svg';
5
+ const content: React.FC<SvgProps>;
6
+ export default content;
7
+ }