expo-type-information 0.0.9 → 0.0.11

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.
@@ -24,16 +24,30 @@ async function getResolvedWatchedDirectoriesFromAppJson(appJsonPath) {
24
24
  }
25
25
  return null;
26
26
  }
27
- async function generateInlineModuleTSFiles({ filePath, dirPath, typeInference, mapUnicodeCharacters, }) {
27
+ async function generateInlineModuleTSFiles({ filePath, dirPath, typeInference, mapUnicodeCharacters, compileOnlyModules, }) {
28
28
  return await (0, commandUtils_1.generateConciseTsFiles)({
29
- realInputPaths: [filePath],
29
+ realInputPaths: [filePath, ...compileOnlyModules],
30
30
  realOutputPath: dirPath,
31
31
  typeInference,
32
32
  watcher: false,
33
33
  mapUnicodeCharacters,
34
34
  });
35
35
  }
36
- async function inlineModulesWatcher({ appJsonPath, typeInference, mapUnicodeCharacters, }) {
36
+ const swiftModuleDefinitionRegex = /\bfunc\s+definition\s*\(\s*\)\s*->\s*[\w.]*ModuleDefinition\b/;
37
+ async function hasSwiftModuleDefinition(absoluteFilePath) {
38
+ try {
39
+ const contents = await fs_1.default.promises.readFile(absoluteFilePath, 'utf8');
40
+ return swiftModuleDefinitionRegex.test(contents);
41
+ }
42
+ catch {
43
+ console.warn(`Swift inline module '${absoluteFilePath}' could not be opened.`);
44
+ return false;
45
+ }
46
+ }
47
+ async function fileHasModuleDeclaration(filePath) {
48
+ return hasSwiftModuleDefinition(filePath);
49
+ }
50
+ async function inlineModulesWatcher({ appJsonPath, typeInference, mapUnicodeCharacters, compileOnlyModules, }) {
37
51
  const debouncedInlineModulesTsGeneration = (0, commandUtils_1.debounce)(generateInlineModuleTSFiles);
38
52
  const watchedDirectoriesWatchers = new Map();
39
53
  const setupWatchedDirectoriesWatchers = async () => {
@@ -60,13 +74,21 @@ async function inlineModulesWatcher({ appJsonPath, typeInference, mapUnicodeChar
60
74
  }
61
75
  const resolvedFilePath = path_1.default.resolve(dir, fileName);
62
76
  if (fs_1.default.existsSync(resolvedFilePath)) {
77
+ if (!(await fileHasModuleDeclaration(resolvedFilePath))) {
78
+ compileOnlyModules.add(resolvedFilePath);
79
+ return;
80
+ }
63
81
  debouncedInlineModulesTsGeneration({
64
82
  filePath: resolvedFilePath,
65
83
  dirPath: path_1.default.dirname(resolvedFilePath),
66
84
  typeInference,
67
85
  mapUnicodeCharacters,
86
+ compileOnlyModules,
68
87
  });
69
88
  }
89
+ else {
90
+ compileOnlyModules.delete(resolvedFilePath);
91
+ }
70
92
  });
71
93
  };
72
94
  for (const dir of watchedDirectories ?? []) {
@@ -113,26 +135,36 @@ async function inlineModulesInterfaceCommand(cli) {
113
135
  if (!watchedDirectories) {
114
136
  return;
115
137
  }
116
- const dirents = [];
138
+ const inlineModulesDirents = [];
139
+ const compileOnlyModules = new Set([]);
117
140
  for (const dir of watchedDirectories) {
118
141
  for await (const dirent of (0, utils_1.scanFilesRecursively)(dir)) {
119
142
  if (!dirent.name.endsWith('.swift')) {
120
143
  continue;
121
144
  }
122
- dirents.push(dirent);
145
+ const resolvedFilePath = dirent.path;
146
+ if (fs_1.default.existsSync(resolvedFilePath) &&
147
+ !(await fileHasModuleDeclaration(resolvedFilePath))) {
148
+ compileOnlyModules.add(resolvedFilePath);
149
+ }
150
+ else {
151
+ inlineModulesDirents.push(dirent);
152
+ }
123
153
  }
124
154
  }
125
- await (0, utils_1.taskAll)(dirents, async (dirent) => await generateInlineModuleTSFiles({
155
+ await (0, utils_1.taskAll)(inlineModulesDirents, async (dirent) => await generateInlineModuleTSFiles({
126
156
  filePath: dirent.path,
127
157
  dirPath: dirent.parentPath,
128
158
  typeInference: parsedArgs.typeInference,
129
159
  mapUnicodeCharacters,
160
+ compileOnlyModules,
130
161
  }));
131
162
  if (watcher) {
132
163
  await inlineModulesWatcher({
133
164
  appJsonPath,
134
165
  typeInference: parsedArgs.typeInference,
135
166
  mapUnicodeCharacters,
167
+ compileOnlyModules,
136
168
  });
137
169
  }
138
170
  });
@@ -1 +1 @@
1
- {"version":3,"file":"inlineModulesInterfaceCommand.js","sourceRoot":"","sources":["../../src/commands/inlineModulesInterfaceCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inlineModulesInterfaceCommand.js","sourceRoot":"","sources":["../../src/commands/inlineModulesInterfaceCommand.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,8 @@ const swiftDeclarationKind = {
21
21
  varParameter: 'source.lang.swift.decl.var.parameter',
22
22
  closure: 'source.lang.swift.expr.closure',
23
23
  enumcase: 'source.lang.swift.decl.enumcase',
24
+ varStatic: 'source.lang.swift.decl.var.static',
25
+ varGlobal: 'source.lang.swift.decl.var.global',
24
26
  };
25
27
  function isSwiftDictionary(type) {
26
28
  return (type.startsWith('[') &&
@@ -45,6 +47,12 @@ function isEitherTypeIdentifier(typeIdentifier) {
45
47
  function isEnumStructure(structure) {
46
48
  return structure['key.kind'] === swiftDeclarationKind.enum;
47
49
  }
50
+ function isClassStructure(structure) {
51
+ return structure['key.kind'] === swiftDeclarationKind.class;
52
+ }
53
+ function isStructStructure(structure) {
54
+ return structure['key.kind'] === swiftDeclarationKind.struct;
55
+ }
48
56
  function isRecordStructure(structure) {
49
57
  const isRecordOrClass = structure['key.kind'] === swiftDeclarationKind.struct ||
50
58
  structure['key.kind'] === swiftDeclarationKind.class;
@@ -202,6 +210,56 @@ function getIdentifierFromOffsetObject(offsetObject, file) {
202
210
  const endIndex = offsetObject['key.offset'] + offsetObject['key.length'];
203
211
  return file.content.substring(startIndex, endIndex).replaceAll('"', '');
204
212
  }
213
+ function getLiteralOrResolvedIdentifier(offsetObject, ctx) {
214
+ const { namespaces, file } = ctx;
215
+ const startIndex = offsetObject['key.offset'];
216
+ const endIndex = offsetObject['key.offset'] + offsetObject['key.length'];
217
+ const literalOrIdentifier = file.content.substring(startIndex, endIndex);
218
+ if (literalOrIdentifier.startsWith('"')) {
219
+ return literalOrIdentifier.replaceAll('"', '');
220
+ }
221
+ const parts = literalOrIdentifier.split('.');
222
+ const traverse = (baseObj, keys) => {
223
+ let current = baseObj;
224
+ for (const key of keys) {
225
+ if (typeof current === 'string' || current === null) {
226
+ return undefined;
227
+ }
228
+ const subNamespace = current[key];
229
+ if (subNamespace === undefined) {
230
+ return undefined;
231
+ }
232
+ current = subNamespace;
233
+ }
234
+ return current;
235
+ };
236
+ const n0 = traverse(namespaces, parts);
237
+ if (typeof n0 === 'string') {
238
+ return n0.replaceAll('"', '');
239
+ }
240
+ const n1 = traverse(namespaces[''] || {}, parts);
241
+ if (typeof n1 === 'string') {
242
+ return n1.replaceAll('"', '');
243
+ }
244
+ return parts[parts.length - 1] ?? literalOrIdentifier;
245
+ }
246
+ function isStringLiteral(str) {
247
+ return str.length > 1 && str[0] == '"' && str[str.length - 1] == '"';
248
+ }
249
+ function getInitializerValue(structure, file) {
250
+ const nameEnd = structure['key.nameoffset'] + structure['key.namelength'];
251
+ const declarationEnd = structure['key.offset'] + structure['key.length'];
252
+ if (!nameEnd || !declarationEnd) {
253
+ return null;
254
+ }
255
+ const valueSubstring = file.content.substring(nameEnd, declarationEnd);
256
+ const indexOfInitializerStart = valueSubstring.indexOf('=');
257
+ const initializer = valueSubstring.slice(indexOfInitializerStart + 1).trim();
258
+ if (!isStringLiteral(initializer)) {
259
+ return null;
260
+ }
261
+ return initializer;
262
+ }
205
263
  function hasSubstructure(structure) {
206
264
  return structure?.['key.substructure'] && structure['key.substructure'].length > 0;
207
265
  }
@@ -402,7 +460,8 @@ function getClosureBodyStructure(structure) {
402
460
  const classDeclarationClosureBody = classDeclarationClosure?.['key.substructure']?.[0];
403
461
  return classDeclarationClosureBody ?? null;
404
462
  }
405
- async function parseModuleClassStructure(structure, file, options) {
463
+ async function parseModuleClassStructure(structure, options, ctx) {
464
+ const { file } = ctx;
406
465
  const nestedModuleSubstructure = getClosureBodyStructure(structure)?.['key.substructure'];
407
466
  const nameSubstrucutre = structure['key.substructure']?.[0];
408
467
  const name = nameSubstrucutre
@@ -420,7 +479,7 @@ async function parseModuleClassStructure(structure, file, options) {
420
479
  };
421
480
  }
422
481
  // `parseModuleStructure` returns `ModuleClassDeclaration` with a found name or with the provided 'UNUSED_NAME', we don't need it here.
423
- const classTypeInfo = await parseModuleStructure(nestedModuleSubstructure, file, 'UNUSED_NAME', structure['key.offset'], options);
482
+ const classTypeInfo = await parseModuleStructure(nestedModuleSubstructure, 'UNUSED_NAME', structure['key.offset'], options, ctx);
424
483
  return {
425
484
  name,
426
485
  methods: classTypeInfo.functions,
@@ -475,7 +534,8 @@ async function parseModulePropDeclaration(substructure, file, options) {
475
534
  definitionOffset: substructure['key.offset'],
476
535
  };
477
536
  }
478
- async function parseModuleViewDeclaration(substructure, file, options) {
537
+ async function parseModuleViewDeclaration(substructure, options, ctx) {
538
+ const { file } = ctx;
479
539
  // The View arguments is a.self for some class a we want.
480
540
  const suffixLength = 5;
481
541
  const nameSubstrucutre = substructure['key.substructure']?.[0];
@@ -488,10 +548,15 @@ async function parseModuleViewDeclaration(substructure, file, options) {
488
548
  if (!viewSubstructure) {
489
549
  return null;
490
550
  }
491
- return await parseModuleStructure(viewSubstructure, file, name, viewStructure['key.offset'], options);
551
+ return await parseModuleStructure(viewSubstructure, name, viewStructure['key.offset'], options, ctx);
492
552
  }
493
- function parseModuleEventDeclaration(structure, file, events) {
494
- structure['key.substructure'].forEach((substructure) => events.push(getIdentifierFromOffsetObject(substructure, file)));
553
+ function parseModuleEventDeclaration(structure, events, ctx) {
554
+ structure['key.substructure'].forEach((substructure) => {
555
+ const eventName = getLiteralOrResolvedIdentifier(substructure, ctx);
556
+ if (eventName) {
557
+ events.push(eventName);
558
+ }
559
+ });
495
560
  }
496
561
  function hasFieldAttribute(attributes, file) {
497
562
  if (!attributes) {
@@ -559,7 +624,8 @@ function parsePropertyString(property, definitionOffset) {
559
624
  definitionOffset,
560
625
  };
561
626
  }
562
- async function parseModuleStructure(moduleStructure, file, name, definitionOffset, options) {
627
+ async function parseModuleStructure(moduleStructure, name, definitionOffset, options, ctx) {
628
+ const { file } = ctx;
563
629
  const moduleClassDeclaration = {
564
630
  name,
565
631
  constants: [],
@@ -602,7 +668,7 @@ async function parseModuleStructure(moduleStructure, file, name, definitionOffse
602
668
  break;
603
669
  }
604
670
  case 'Class':
605
- moduleClassDeclaration.classes.push(await parseModuleClassStructure(structure, file, options));
671
+ moduleClassDeclaration.classes.push(await parseModuleClassStructure(structure, options, ctx));
606
672
  break;
607
673
  case 'Property': {
608
674
  const propertyDeclaration = await parseModulePropertyStructure(structure, file, options);
@@ -627,14 +693,14 @@ async function parseModuleStructure(moduleStructure, file, name, definitionOffse
627
693
  moduleClassDeclaration.props.push(await parseModulePropDeclaration(structure, file, options));
628
694
  break;
629
695
  case 'View': {
630
- const viewDeclaration = await parseModuleViewDeclaration(structure, file, options);
696
+ const viewDeclaration = await parseModuleViewDeclaration(structure, options, ctx);
631
697
  if (viewDeclaration) {
632
698
  moduleClassDeclaration.views.push(viewDeclaration);
633
699
  }
634
700
  break;
635
701
  }
636
702
  case 'Events':
637
- parseModuleEventDeclaration(structure, file, moduleClassDeclaration.events);
703
+ parseModuleEventDeclaration(structure, moduleClassDeclaration.events, ctx);
638
704
  break;
639
705
  default:
640
706
  console.warn(`Module substructure not supported. ${structure['key.name']}`);
@@ -736,12 +802,39 @@ function collectModuleTypeIdentifiers(moduleClassDeclaration, fileTypeInformatio
736
802
  c.properties.forEach(collectArg);
737
803
  });
738
804
  }
805
+ function parseNamespaces(structure, namespaces, file, currentNamespace) {
806
+ if (isModuleStructure(structure) ||
807
+ isRecordStructure(structure) ||
808
+ isStructStructure(structure) ||
809
+ isEnumStructure(structure) ||
810
+ isClassStructure(structure)) {
811
+ const moduleName = structure['key.name'];
812
+ namespaces[moduleName] = namespaces[moduleName] || {};
813
+ const ns = namespaces[moduleName];
814
+ currentNamespace[moduleName] = ns;
815
+ structure['key.substructure'].forEach((substructure) => {
816
+ parseNamespaces(substructure, namespaces, file, ns);
817
+ });
818
+ return;
819
+ }
820
+ if (structure['key.kind'] === swiftDeclarationKind.varStatic ||
821
+ structure['key.kind'] === swiftDeclarationKind.varGlobal) {
822
+ currentNamespace[structure['key.name']] = getInitializerValue(structure, file);
823
+ return;
824
+ }
825
+ const substructures = structure['key.substructure'];
826
+ substructures?.forEach((substructure) => parseNamespaces(substructure, namespaces, file, currentNamespace));
827
+ }
739
828
  async function getSwiftFileTypeInformation(filePath, options) {
740
829
  const file = { path: filePath, content: fs_1.default.readFileSync(filePath, 'utf8') };
741
830
  const modulesStructures = [];
742
831
  const recordsStructures = [];
743
832
  const enumsStructures = [];
744
- parseStructure(getStructureFromFile(file), '', modulesStructures, recordsStructures, enumsStructures);
833
+ const fileStructure = getStructureFromFile(file);
834
+ parseStructure(fileStructure, '', modulesStructures, recordsStructures, enumsStructures);
835
+ const namespaces = {};
836
+ namespaces[''] = {};
837
+ parseNamespaces(fileStructure, namespaces, file, namespaces['']);
745
838
  const inferredTypeParametersCount = new Map();
746
839
  const moduleClasses = [];
747
840
  const moduleTypeIdentifiers = new Set();
@@ -753,7 +846,10 @@ async function getSwiftFileTypeInformation(filePath, options) {
753
846
  return parseRecordStructure(rd, recordTypeIdentifiers, inferredTypeParametersCount, file, options);
754
847
  };
755
848
  const recordsPromise = (0, utils_1.taskAll)(recordsStructures, recordMap);
756
- const moduleClassDeclarationsPromise = (0, utils_1.taskAll)(modulesStructures.filter(({ structure }) => hasSubstructure(structure)), ({ structure, name }) => parseModuleStructure(structure['key.substructure'], file, name, structure['key.offset'], options));
849
+ const moduleClassDeclarationsPromise = (0, utils_1.taskAll)(modulesStructures.filter(({ structure }) => hasSubstructure(structure)), ({ structure, name }) => {
850
+ namespaces[name] = namespaces[name] || {};
851
+ return parseModuleStructure(structure['key.substructure'], name, structure['key.offset'], options, { namespaces, file });
852
+ });
757
853
  const [records, moduleClassDeclarations] = await Promise.all([
758
854
  recordsPromise,
759
855
  moduleClassDeclarationsPromise,
@@ -1 +1 @@
1
- {"version":3,"file":"sourcekittenTypeInformation.js","sourceRoot":"","sources":["../../src/swift/sourcekittenTypeInformation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sourcekittenTypeInformation.js","sourceRoot":"","sources":["../../src/swift/sourcekittenTypeInformation.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -15,6 +15,7 @@ export type Structure = {
15
15
  'key.offset': number;
16
16
  'key.length': number;
17
17
  'key.nameoffset': number;
18
+ 'key.namelength': number;
18
19
  'key.inheritedtypes': {
19
20
  'key.name': string;
20
21
  }[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-type-information",
3
- "version": "0.0.9",
3
+ "version": "0.0.11",
4
4
  "keywords": [
5
5
  "react-native",
6
6
  "expo",
@@ -36,7 +36,7 @@
36
36
  "ts-jest": "^29.1.2",
37
37
  "expo-module-scripts": "56.0.3"
38
38
  },
39
- "gitHead": "b2e161a54f90a778ab7e5560c0c8f021bbfcaae2",
39
+ "gitHead": "8a480d22f04f94fd36570a319baeaa3529330794",
40
40
  "scripts": {
41
41
  "build": "expo-module build",
42
42
  "clean": "expo-module clean",
@@ -35,6 +35,7 @@ async function getResolvedWatchedDirectoriesFromAppJson(
35
35
  type GenerateInlineModulesTSFilesOptions = {
36
36
  filePath: string;
37
37
  dirPath: string;
38
+ compileOnlyModules: Set<string>;
38
39
  typeInference: TypeInferenceOption;
39
40
  mapUnicodeCharacters: boolean;
40
41
  };
@@ -44,9 +45,10 @@ async function generateInlineModuleTSFiles({
44
45
  dirPath,
45
46
  typeInference,
46
47
  mapUnicodeCharacters,
48
+ compileOnlyModules,
47
49
  }: GenerateInlineModulesTSFilesOptions) {
48
50
  return await generateConciseTsFiles({
49
- realInputPaths: [filePath],
51
+ realInputPaths: [filePath, ...compileOnlyModules],
50
52
  realOutputPath: dirPath,
51
53
  typeInference,
52
54
  watcher: false,
@@ -58,12 +60,29 @@ type InlineModulesWatcherOptions = {
58
60
  appJsonPath: string;
59
61
  typeInference: TypeInferenceOption;
60
62
  mapUnicodeCharacters: boolean;
63
+ compileOnlyModules: Set<string>;
61
64
  };
62
65
 
66
+ const swiftModuleDefinitionRegex = /\bfunc\s+definition\s*\(\s*\)\s*->\s*[\w.]*ModuleDefinition\b/;
67
+ async function hasSwiftModuleDefinition(absoluteFilePath: string): Promise<boolean> {
68
+ try {
69
+ const contents = await fs.promises.readFile(absoluteFilePath, 'utf8');
70
+ return swiftModuleDefinitionRegex.test(contents);
71
+ } catch {
72
+ console.warn(`Swift inline module '${absoluteFilePath}' could not be opened.`);
73
+ return false;
74
+ }
75
+ }
76
+
77
+ async function fileHasModuleDeclaration(filePath: string): Promise<boolean> {
78
+ return hasSwiftModuleDefinition(filePath);
79
+ }
80
+
63
81
  async function inlineModulesWatcher({
64
82
  appJsonPath,
65
83
  typeInference,
66
84
  mapUnicodeCharacters,
85
+ compileOnlyModules,
67
86
  }: InlineModulesWatcherOptions) {
68
87
  const debouncedInlineModulesTsGeneration = debounce(generateInlineModuleTSFiles);
69
88
  const watchedDirectoriesWatchers: Map<string, fs.FSWatcher> = new Map<string, fs.FSWatcher>();
@@ -93,15 +112,22 @@ async function inlineModulesWatcher({
93
112
  if (!fileName || !fileName.endsWith('.swift')) {
94
113
  return;
95
114
  }
96
-
97
115
  const resolvedFilePath = path.resolve(dir, fileName);
98
116
  if (fs.existsSync(resolvedFilePath)) {
117
+ if (!(await fileHasModuleDeclaration(resolvedFilePath))) {
118
+ compileOnlyModules.add(resolvedFilePath);
119
+ return;
120
+ }
121
+
99
122
  debouncedInlineModulesTsGeneration({
100
123
  filePath: resolvedFilePath,
101
124
  dirPath: path.dirname(resolvedFilePath),
102
125
  typeInference,
103
126
  mapUnicodeCharacters,
127
+ compileOnlyModules,
104
128
  });
129
+ } else {
130
+ compileOnlyModules.delete(resolvedFilePath);
105
131
  }
106
132
  });
107
133
  };
@@ -165,25 +191,34 @@ export async function inlineModulesInterfaceCommand(cli: commander.Command) {
165
191
  return;
166
192
  }
167
193
 
168
- const dirents = [];
194
+ const inlineModulesDirents = [];
195
+ const compileOnlyModules = new Set<string>([]);
169
196
  for (const dir of watchedDirectories) {
170
197
  for await (const dirent of scanFilesRecursively(dir)) {
171
198
  if (!dirent.name.endsWith('.swift')) {
172
199
  continue;
173
200
  }
174
-
175
- dirents.push(dirent);
201
+ const resolvedFilePath = dirent.path;
202
+ if (
203
+ fs.existsSync(resolvedFilePath) &&
204
+ !(await fileHasModuleDeclaration(resolvedFilePath))
205
+ ) {
206
+ compileOnlyModules.add(resolvedFilePath);
207
+ } else {
208
+ inlineModulesDirents.push(dirent);
209
+ }
176
210
  }
177
211
  }
178
212
 
179
213
  await taskAll(
180
- dirents,
214
+ inlineModulesDirents,
181
215
  async (dirent) =>
182
216
  await generateInlineModuleTSFiles({
183
217
  filePath: dirent.path,
184
218
  dirPath: dirent.parentPath,
185
219
  typeInference: parsedArgs.typeInference,
186
220
  mapUnicodeCharacters,
221
+ compileOnlyModules,
187
222
  })
188
223
  );
189
224
 
@@ -192,6 +227,7 @@ export async function inlineModulesInterfaceCommand(cli: commander.Command) {
192
227
  appJsonPath,
193
228
  typeInference: parsedArgs.typeInference,
194
229
  mapUnicodeCharacters,
230
+ compileOnlyModules,
195
231
  });
196
232
  }
197
233
  });