@react-native-windows/codegen 0.67.1 → 0.68.0

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/src/Cli.ts CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  import yargs from 'yargs';
9
9
  import path from 'path';
10
- import fs from 'fs';
10
+ import fs from '@react-native-windows/fs';
11
11
  import globby from 'globby';
12
12
  import {createNM2Generator} from './generators/GenerateNM2';
13
13
  // @ts-ignore
@@ -98,9 +98,11 @@ function checkFilesForChanges(
98
98
 
99
99
  const allExistingFiles = globby
100
100
  .sync(`${outputDir}/**`)
101
- .map(_ => path.normalize(_))
101
+ .map((_) => path.normalize(_))
102
+ .sort();
103
+ const allGeneratedFiles = [...map.keys()]
104
+ .map((_) => path.normalize(_))
102
105
  .sort();
103
- const allGeneratedFiles = [...map.keys()].map(_ => path.normalize(_)).sort();
104
106
 
105
107
  if (
106
108
  allExistingFiles.length !== allGeneratedFiles.length ||
@@ -130,7 +132,7 @@ function writeMapToFiles(map: Map<string, string>, outputDir: string) {
130
132
 
131
133
  // This ensures that we delete any generated files from modules that have been deleted
132
134
  const allExistingFiles = globby.sync(`${outputDir}/**`);
133
- allExistingFiles.forEach(existingFile => {
135
+ allExistingFiles.forEach((existingFile) => {
134
136
  if (!map.has(path.normalize(existingFile))) {
135
137
  fs.unlinkSync(existingFile);
136
138
  }
@@ -207,18 +209,18 @@ function generate(
207
209
  );
208
210
 
209
211
  const generateNM2 = createNM2Generator({namespace: argv.namespace});
210
- const generatorPropsH = require('react-native-tscodegen/lib/rncodegen/src/generators/components/GeneratePropsH')
211
- .generate;
212
- const generatorPropsCPP = require('react-native-tscodegen/lib/rncodegen/src/generators/components/GeneratePropsCPP')
213
- .generate;
214
- const generatorShadowNodeH = require('react-native-tscodegen/lib/rncodegen/src/generators/components/GenerateShadowNodeH')
215
- .generate;
216
- const generatorShadowNodeCPP = require('react-native-tscodegen/lib/rncodegen/src/generators/components/GenerateShadowNodeCPP')
217
- .generate;
218
- const generatorComponentDescriptorH = require('react-native-tscodegen/lib/rncodegen/src/generators/components/GenerateComponentDescriptorH')
219
- .generate;
220
- const generatorEventEmitterH = require('react-native-tscodegen/lib/rncodegen/src/generators/components/GenerateEventEmitterH')
221
- .generate;
212
+ const generatorPropsH =
213
+ require('react-native-tscodegen/lib/rncodegen/src/generators/components/GeneratePropsH').generate;
214
+ const generatorPropsCPP =
215
+ require('react-native-tscodegen/lib/rncodegen/src/generators/components/GeneratePropsCPP').generate;
216
+ const generatorShadowNodeH =
217
+ require('react-native-tscodegen/lib/rncodegen/src/generators/components/GenerateShadowNodeH').generate;
218
+ const generatorShadowNodeCPP =
219
+ require('react-native-tscodegen/lib/rncodegen/src/generators/components/GenerateShadowNodeCPP').generate;
220
+ const generatorComponentDescriptorH =
221
+ require('react-native-tscodegen/lib/rncodegen/src/generators/components/GenerateComponentDescriptorH').generate;
222
+ const generatorEventEmitterH =
223
+ require('react-native-tscodegen/lib/rncodegen/src/generators/components/GenerateEventEmitterH').generate;
222
224
 
223
225
  normalizeFileMap(
224
226
  generateNM2(libraryName, schema, moduleSpecName),
@@ -228,7 +230,7 @@ function generate(
228
230
 
229
231
  if (
230
232
  Object.keys(schema.modules).some(
231
- moduleName => schema.modules[moduleName].type === 'Component',
233
+ (moduleName) => schema.modules[moduleName].type === 'Component',
232
234
  )
233
235
  ) {
234
236
  const componentGenerators = [
@@ -240,7 +242,7 @@ function generate(
240
242
  generatorEventEmitterH,
241
243
  ];
242
244
 
243
- componentGenerators.forEach(generator => {
245
+ componentGenerators.forEach((generator) => {
244
246
  const generated: Map<string, string> = generator(
245
247
  libraryName,
246
248
  schema,
@@ -39,10 +39,10 @@ export function translateField(
39
39
  `${baseAliasName}_element`,
40
40
  )}>`;
41
41
  } else {
42
- return `React::JSValueArray`;
42
+ return `::React::JSValueArray`;
43
43
  }
44
44
  case 'GenericObjectTypeAnnotation':
45
- return 'React::JSValue';
45
+ return '::React::JSValue';
46
46
  case 'ObjectTypeAnnotation':
47
47
  return getAnonymousAliasCppName(aliases, baseAliasName, type);
48
48
  case 'ReservedTypeAnnotation': {
@@ -102,10 +102,10 @@ function translateParam(
102
102
  )}> const &`;
103
103
  }
104
104
  } else {
105
- return decorateType('React::JSValueArray', target);
105
+ return decorateType('::React::JSValueArray', target);
106
106
  }
107
107
  case 'GenericObjectTypeAnnotation':
108
- return decorateType('React::JSValue', target);
108
+ return decorateType('::React::JSValue', target);
109
109
  case 'ObjectTypeAnnotation':
110
110
  return decorateType(
111
111
  getAnonymousAliasCppName(aliases, baseAliasName, param),
@@ -194,7 +194,7 @@ export function translateSpecArgs(
194
194
  aliases: AliasMap,
195
195
  baseAliasName: string,
196
196
  ) {
197
- return params.map(param => {
197
+ return params.map((param) => {
198
198
  const translatedParam = translateSpecFunctionParam(
199
199
  param,
200
200
  aliases,
@@ -209,7 +209,7 @@ export function translateArgs(
209
209
  aliases: AliasMap,
210
210
  baseAliasName: string,
211
211
  ) {
212
- return params.map(param => {
212
+ return params.map((param) => {
213
213
  const translatedParam = translateFunctionParam(
214
214
  param,
215
215
  aliases,
@@ -45,10 +45,10 @@ function translateReturnType(
45
45
  `${baseAliasName}_element`,
46
46
  )}>`;
47
47
  } else {
48
- return 'React::JSValueArray';
48
+ return '::React::JSValueArray';
49
49
  }
50
50
  case 'GenericObjectTypeAnnotation':
51
- return 'React::JSValue';
51
+ return '::React::JSValue';
52
52
  case 'ObjectTypeAnnotation':
53
53
  return getAnonymousAliasCppName(aliases, baseAliasName, type);
54
54
  case 'ReservedTypeAnnotation': {
@@ -14,7 +14,7 @@ export function generateValidateConstants(
14
14
  aliases: AliasMap,
15
15
  ): [string, string] | undefined {
16
16
  const candidates = nativeModule.spec.properties.filter(
17
- prop => prop.name === 'getConstants',
17
+ (prop) => prop.name === 'getConstants',
18
18
  );
19
19
  if (candidates.length === 0) {
20
20
  return undefined;
@@ -35,7 +35,7 @@ function getPossibleMethodSignatures(
35
35
  const args = translateArgs(funcType.params, aliases, baseAliasName);
36
36
  if (isMethodReturnPromise(funcType)) {
37
37
  // TODO: type of the promise could be provided in the future
38
- args.push('React::ReactPromise<React::JSValue> &&result');
38
+ args.push('::React::ReactPromise<::React::JSValue> &&result');
39
39
  }
40
40
 
41
41
  // TODO: be much more exhastive on the possible method signatures that can be used..
@@ -65,7 +65,7 @@ function translatePossibleMethodSignatures(
65
65
  baseAliasName: string,
66
66
  ): string {
67
67
  return getPossibleMethodSignatures(prop, funcType, aliases, baseAliasName)
68
- .map(sig => `" ${sig}\\n"`)
68
+ .map((sig) => `" ${sig}\\n"`)
69
69
  .join('\n ');
70
70
  }
71
71
 
@@ -76,7 +76,7 @@ function renderProperties(
76
76
  ): string {
77
77
  // TODO: generate code for constants
78
78
  return properties
79
- .filter(prop => prop.name !== 'getConstants')
79
+ .filter((prop) => prop.name !== 'getConstants')
80
80
  .map((prop, index) => {
81
81
  // TODO: prop.optional === true
82
82
  // TODO: prop.typeAnnotation.type === 'NullableTypeAnnotation'
@@ -100,7 +100,7 @@ function renderProperties(
100
100
 
101
101
  if (isMethodReturnPromise(funcType)) {
102
102
  // TODO: type of the promise could be provided in the future
103
- traversedArgs.push('Promise<React::JSValue>');
103
+ traversedArgs.push('Promise<::React::JSValue>');
104
104
  }
105
105
 
106
106
  if (tuple) {