react-native-builder-bob 0.42.0 → 0.42.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/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-builder-bob",
3
- "version": "0.42.0",
3
+ "version": "0.42.1",
4
4
  "description": "CLI to build JavaScript files for React Native libraries",
5
5
  "keywords": [
6
6
  "react-native",
@@ -89,5 +89,5 @@
89
89
  "mock-stdin": "^1.0.0",
90
90
  "vitest": "^4.1.2"
91
91
  },
92
- "gitHead": "d4370e22e9e2976b464096fbd2b5738c740266e0"
92
+ "gitHead": "a470dbe588fc9e9869d799064785bc647681b4b3"
93
93
  }
@@ -1,243 +1,193 @@
1
+ import os from 'node:os';
1
2
  import path from 'node:path';
2
- import mockFs from 'mock-fs';
3
- import { afterEach, beforeEach, expect, test, vi } from 'vitest';
4
- import build, { findBinInAncestorNodeModules } from "../targets/typescript.js";
3
+ import { decode } from '@jridgewell/sourcemap-codec';
4
+ import fs from 'fs-extra';
5
+ import { expect, test, vi } from 'vitest';
6
+ import build from "../targets/typescript.js";
5
7
  import { spawn } from "../utils/spawn.js";
6
- const whichMock = vi.hoisted(() => vi.fn());
7
- vi.mock('which', () => ({
8
- default: whichMock,
9
- }));
10
- vi.mock('../utils/spawn.ts', () => ({
11
- spawn: vi.fn(),
12
- }));
13
- const workspace = path.resolve('/workspace');
14
- const packageRoot = path.join(workspace, 'packages', 'library');
15
- const source = path.join(packageRoot, 'src');
16
- const output = path.join(packageRoot, 'lib');
17
- const spawnMock = vi.mocked(spawn);
18
- function createReport() {
8
+ const tsc = path.resolve(import.meta.dirname, '../../../../node_modules/.bin', process.platform === 'win32' ? 'tsc.cmd' : 'tsc');
9
+ const report = {
10
+ info: vi.fn(),
11
+ warn: vi.fn(),
12
+ success: vi.fn(),
13
+ error: vi.fn(),
14
+ };
15
+ const readDeclarationMap = async (filepath) => {
16
+ const value = await fs.readJSON(filepath);
17
+ if (value == null ||
18
+ typeof value !== 'object' ||
19
+ !('mappings' in value) ||
20
+ typeof value.mappings !== 'string' ||
21
+ !('sources' in value) ||
22
+ !Array.isArray(value.sources) ||
23
+ !value.sources.every((source) => typeof source === 'string')) {
24
+ throw new Error('Invalid declaration map.');
25
+ }
19
26
  return {
20
- error: vi.fn(),
21
- info: vi.fn(),
22
- success: vi.fn(),
23
- warn: vi.fn(),
27
+ mappings: value.mappings,
28
+ sources: value.sources,
24
29
  };
25
- }
26
- function library(files = {}) {
27
- return {
28
- 'package.json': JSON.stringify({ name: 'library' }),
29
- 'tsconfig.json': '{}',
30
- src: {},
31
- ...files,
32
- };
33
- }
34
- async function buildTypescript(options) {
35
- const report = createReport();
36
- await build({
37
- root: packageRoot,
38
- source,
39
- output,
40
- report,
41
- options,
42
- variants: { commonjs: true },
43
- esm: false,
44
- });
45
- return report;
46
- }
47
- beforeEach(() => {
48
- whichMock.mockResolvedValue(null);
49
- spawnMock.mockResolvedValue('');
50
- });
51
- afterEach(() => {
52
- mockFs.restore();
53
- vi.clearAllMocks();
54
- });
55
- test('finds the nearest binary before the lookup limit', async () => {
56
- const localTsc = path.join(packageRoot, 'node_modules', '.bin', 'tsc');
57
- mockFs({
58
- [workspace]: {
59
- packages: {
60
- library: {
61
- node_modules: {
62
- '.bin': {
63
- tsc: '',
64
- },
65
- },
66
- },
67
- },
68
- node_modules: {
69
- '.bin': {
70
- tsc: '',
71
- },
72
- },
73
- },
74
- });
75
- await expect(findBinInAncestorNodeModules(packageRoot, 'tsc', workspace)).resolves.toBe(localTsc);
76
- });
77
- test('stops looking for binaries at the lookup limit', async () => {
78
- const home = path.resolve('/home/user');
79
- const workspace = path.join(home, 'workspace');
80
- const packageRoot = path.join(workspace, 'packages', 'library');
81
- mockFs({
82
- [home]: {
83
- node_modules: {
84
- '.bin': {
85
- tsc: '',
86
- },
87
- },
88
- workspace: {
89
- packages: {
90
- library: {},
91
- },
92
- },
93
- },
94
- });
95
- await expect(findBinInAncestorNodeModules(packageRoot, 'tsc', workspace)).resolves.toBeUndefined();
96
- });
97
- test('finds Windows command binaries before the lookup limit', async () => {
98
- const tsc = path.join(workspace, 'node_modules', '.bin', 'tsc.cmd');
99
- mockFs({
100
- [workspace]: {
101
- packages: {
102
- library: {},
103
- },
104
- node_modules: {
105
- '.bin': {
106
- 'tsc.cmd': '',
107
- },
108
- },
109
- },
110
- });
111
- await expect(findBinInAncestorNodeModules(packageRoot, 'tsc.cmd', workspace)).resolves.toBe(tsc);
112
- });
113
- test('uses explicit tsc option without automatic lookup', async () => {
114
- const tsc = path.join(packageRoot, 'scripts', 'tsc');
115
- mockFs({
116
- [workspace]: {
117
- 'yarn.lock': '',
118
- packages: {
119
- library: library({
120
- scripts: {
121
- tsc: '',
122
- },
123
- }),
30
+ };
31
+ const buildLibrary = async (root, { files, compilerOptions, packageJson, }) => {
32
+ await fs.writeJSON(path.join(root, 'package.json'), {
33
+ name: 'library',
34
+ version: '1.0.0',
35
+ type: 'module',
36
+ exports: {
37
+ '.': {
38
+ types: './lib/typescript/src/index.d.ts',
124
39
  },
125
40
  },
41
+ ...packageJson,
126
42
  });
127
- whichMock.mockResolvedValue(path.join(workspace, 'node_modules', '.bin', 'tsc'));
128
- await buildTypescript({ tsc: 'scripts/tsc' });
129
- expect(whichMock).not.toHaveBeenCalled();
130
- expect(spawnMock).toHaveBeenCalledWith(tsc, expect.any(Array), expect.any(Object));
131
- });
132
- test('prefers package node_modules tsc over PATH', async () => {
133
- const localTsc = path.join(packageRoot, 'node_modules', '.bin', 'tsc');
134
- mockFs({
135
- [workspace]: {
136
- 'yarn.lock': '',
137
- packages: {
138
- library: library({
139
- node_modules: {
140
- '.bin': {
141
- tsc: '',
142
- },
143
- },
144
- }),
145
- },
43
+ await fs.writeJSON(path.join(root, 'tsconfig.json'), {
44
+ compilerOptions: {
45
+ module: 'ESNext',
46
+ moduleResolution: 'Bundler',
47
+ rootDir: '.',
48
+ strict: true,
49
+ target: 'ESNext',
50
+ ...compilerOptions,
146
51
  },
52
+ include: ['src/**/*'],
147
53
  });
148
- whichMock.mockResolvedValue(path.join(workspace, 'node_modules', '.bin', 'tsc'));
149
- await buildTypescript();
150
- expect(whichMock).not.toHaveBeenCalled();
151
- expect(spawnMock).toHaveBeenCalledWith(localTsc, expect.any(Array), expect.any(Object));
152
- });
153
- test('uses tsc from PATH when package node_modules does not contain it', async () => {
154
- const tsc = path.join(workspace, 'node_modules', '.bin', 'tsc');
155
- mockFs({
156
- [workspace]: {
157
- 'yarn.lock': '',
158
- node_modules: {
159
- '.bin': {
160
- tsc: '',
161
- },
162
- },
163
- packages: {
164
- library: library(),
165
- },
166
- },
54
+ await Promise.all(Object.entries(files).map(async ([name, content]) => fs.outputFile(path.join(root, name), content)));
55
+ await build({
56
+ root,
57
+ source: path.join(root, 'src'),
58
+ output: path.join(root, 'lib/typescript'),
59
+ report,
60
+ options: { project: 'tsconfig.json', tsc },
61
+ esm: true,
62
+ variants: { module: true },
167
63
  });
168
- whichMock.mockResolvedValue(tsc);
169
- const report = await buildTypescript();
170
- expect(report.warn).not.toHaveBeenCalledWith(expect.stringContaining('outside the workspace root'));
171
- expect(spawnMock).toHaveBeenCalledWith(tsc, expect.any(Array), expect.any(Object));
172
- });
173
- test('warns when tsc from PATH is outside the workspace root', async () => {
174
- const tsc = path.resolve('/home/user/node_modules/.bin/tsc');
175
- mockFs({
176
- [workspace]: {
177
- 'yarn.lock': '',
178
- packages: {
179
- library: library(),
180
- },
181
- },
182
- '/home/user/node_modules/.bin': {
183
- tsc: '',
184
- },
64
+ };
65
+ const typeCheckConsumer = async (root, index) => {
66
+ const consumer = path.join(root, 'consumer');
67
+ await fs.ensureSymlink(root, path.join(consumer, 'node_modules/library'));
68
+ await fs.writeJSON(path.join(consumer, 'package.json'), {
69
+ type: 'module',
185
70
  });
186
- whichMock.mockResolvedValue(tsc);
187
- const report = await buildTypescript();
188
- expect(report.warn).toHaveBeenCalledWith(expect.stringContaining('outside the workspace root'));
189
- expect(spawnMock).toHaveBeenCalledWith(tsc, expect.any(Array), expect.any(Object));
190
- });
191
- test.each([
192
- 'bun.lock',
193
- 'bun.lockb',
194
- 'package-lock.json',
195
- 'pnpm-lock.yaml',
196
- 'yarn.lock',
197
- ])('uses %s to bound ancestor node_modules lookup', async (lockfile) => {
198
- const tsc = path.join(workspace, 'node_modules', '.bin', 'tsc');
199
- mockFs({
200
- [workspace]: {
201
- [lockfile]: '',
202
- node_modules: {
203
- '.bin': {
204
- tsc: '',
205
- },
206
- },
207
- packages: {
208
- library: library(),
209
- },
71
+ await fs.writeJSON(path.join(consumer, 'tsconfig.json'), {
72
+ compilerOptions: {
73
+ module: 'NodeNext',
74
+ moduleResolution: 'NodeNext',
75
+ strict: true,
76
+ target: 'ESNext',
210
77
  },
78
+ include: ['index.ts'],
211
79
  });
212
- await buildTypescript();
213
- expect(spawnMock).toHaveBeenCalledWith(tsc, expect.any(Array), expect.any(Object));
80
+ await fs.outputFile(path.join(consumer, 'index.ts'), index);
81
+ try {
82
+ await spawn(tsc, ['--noEmit', '--project', 'tsconfig.json'], {
83
+ cwd: consumer,
84
+ });
85
+ return undefined;
86
+ }
87
+ catch (error) {
88
+ if (error != null &&
89
+ typeof error === 'object' &&
90
+ 'stdout' in error &&
91
+ typeof error.stdout === 'string') {
92
+ return error.stdout;
93
+ }
94
+ throw error;
95
+ }
96
+ };
97
+ test('adds extensions to declarations for NodeNext resolution', async () => {
98
+ const root = await fs.mkdtemp(path.join(os.tmpdir(), 'bob-typescript-'));
99
+ try {
100
+ await buildLibrary(root, {
101
+ compilerOptions: { allowImportingTsExtensions: true },
102
+ files: {
103
+ 'src/index.ts': [
104
+ "export { type Foo } from './foo';",
105
+ "export * from './star';",
106
+ "export { type Bar } from './nested';",
107
+ "export { type Baz } from './explicit.ts';",
108
+ "export type UsesImportType = import('./foo').Foo;",
109
+ ].join('\n'),
110
+ 'src/foo.ts': 'export type Foo = { value: string };\n',
111
+ 'src/star.ts': 'export type Star = { value: string };\n',
112
+ 'src/nested/index.ts': 'export type Bar = { value: string };\n',
113
+ 'src/explicit.ts': 'export type Baz = { value: string };\n',
114
+ },
115
+ });
116
+ const declaration = await fs.readFile(path.join(root, 'lib/typescript/src/index.d.ts'), 'utf-8');
117
+ expect(declaration).toContain("from './foo.js'");
118
+ expect(declaration).toContain("from './star.js'");
119
+ expect(declaration).toContain("from './nested/index.js'");
120
+ expect(declaration).toContain("from './explicit.js'");
121
+ expect(declaration).toContain("import('./foo.js').Foo");
122
+ const declarationMap = await readDeclarationMap(path.join(root, 'lib/typescript/src/index.d.ts.map'));
123
+ expect(declarationMap.mappings).toEqual(expect.any(String));
124
+ expect(declarationMap.sources.some((source) => source.endsWith('/src/index.ts'))).toBe(true);
125
+ const firstLine = declaration.split('\n')[0];
126
+ const firstLineColumns = decode(declarationMap.mappings)[0]?.map((segment) => segment[0]);
127
+ expect(firstLineColumns).toContain(firstLine?.indexOf(';'));
128
+ const stdout = await typeCheckConsumer(root, [
129
+ "import type { Bar, Baz, Foo, Star, UsesImportType } from 'library';",
130
+ '',
131
+ 'type Test = [Bar, Baz, Foo, Star, UsesImportType];',
132
+ ].join('\n'));
133
+ expect(stdout).toBeUndefined();
134
+ }
135
+ finally {
136
+ await fs.remove(root);
137
+ }
214
138
  });
215
- test('does not traverse outside package root when no lockfile is found', async () => {
216
- mockFs({
217
- [workspace]: {
218
- node_modules: {
219
- '.bin': {
220
- tsc: '',
221
- },
222
- },
223
- packages: {
224
- library: library(),
225
- },
226
- },
227
- });
228
- await expect(buildTypescript()).rejects.toThrow('Failed to build definition files.');
229
- expect(spawnMock).not.toHaveBeenCalled();
139
+ test('keeps codegen spec imports unchanged', async () => {
140
+ const root = await fs.mkdtemp(path.join(os.tmpdir(), 'bob-typescript-'));
141
+ try {
142
+ await buildLibrary(root, {
143
+ packageJson: {
144
+ codegenConfig: { name: 'Lib', type: 'all', jsSrcsDir: 'src' },
145
+ },
146
+ files: {
147
+ 'src/index.ts': [
148
+ "export { default as Foo } from './FooNativeComponent';",
149
+ "export { type Bar } from './bar';",
150
+ ].join('\n'),
151
+ 'src/FooNativeComponent.ts': [
152
+ 'declare function codegenNativeComponent<T>(name: string): T;',
153
+ 'export type FooProps = { value: string };',
154
+ "export default codegenNativeComponent<FooProps>('Foo');",
155
+ ].join('\n'),
156
+ 'src/bar.ts': 'export type Bar = { value: string };\n',
157
+ },
158
+ });
159
+ const declaration = await fs.readFile(path.join(root, 'lib/typescript/src/index.d.ts'), 'utf-8');
160
+ expect(declaration).toContain("from './FooNativeComponent'");
161
+ expect(declaration).not.toContain("from './FooNativeComponent.js'");
162
+ // Non-codegen imports are still rewritten as usual
163
+ expect(declaration).toContain("from './bar.js'");
164
+ }
165
+ finally {
166
+ await fs.remove(root);
167
+ }
230
168
  });
231
- test('fails when tsc cannot be found in PATH or workspace node_modules', async () => {
232
- mockFs({
233
- [workspace]: {
234
- 'yarn.lock': '',
235
- packages: {
236
- library: library(),
237
- },
238
- },
239
- });
240
- await expect(buildTypescript()).rejects.toThrow('Failed to build definition files.');
241
- expect(spawnMock).not.toHaveBeenCalled();
169
+ test('keeps platform-specific declaration imports extensionless', async () => {
170
+ const root = await fs.mkdtemp(path.join(os.tmpdir(), 'bob-typescript-'));
171
+ try {
172
+ await buildLibrary(root, {
173
+ files: {
174
+ 'src/index.ts': "export { type Platform } from './platform';\n",
175
+ 'src/platform.ts': 'export type Platform = { value: string };\n',
176
+ 'src/platform.ios.ts': 'export type Platform = { value: string };\n',
177
+ },
178
+ });
179
+ const declaration = await fs.readFile(path.join(root, 'lib/typescript/src/index.d.ts'), 'utf-8');
180
+ expect(declaration).toContain("from './platform'");
181
+ expect(declaration).not.toContain("from './platform.js'");
182
+ const stdout = await typeCheckConsumer(root, [
183
+ "import type { Platform } from 'library';",
184
+ '',
185
+ 'type Test = Platform;',
186
+ ].join('\n'));
187
+ expect(stdout).toContain('Relative import paths need explicit file extensions');
188
+ }
189
+ finally {
190
+ await fs.remove(root);
191
+ }
242
192
  });
243
193
  //# sourceMappingURL=typescript.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.test.js","sourceRoot":"","sources":["../../../src/__tests__/typescript.test.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACjE,OAAO,KAAK,EAAE,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAChC,EAAE,CAAC,EAAE,EAAuE,CAC7E,CAAC;AAEF,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACtB,OAAO,EAAE,SAAS;CACnB,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IAClC,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;CACf,CAAC,CAAC,CAAC;AAEJ,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;AAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAChE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAC7C,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEnC,SAAS,YAAY;IACnB,OAAO;QACL,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;QACd,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;QAChB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;KACd,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAAK,GAAG,EAAE;IACzB,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACnD,eAAe,EAAE,IAAI;QACrB,GAAG,EAAE,EAAE;QACP,GAAG,KAAK;KACT,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,OAA0B;IACvD,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAE9B,MAAM,KAAK,CAAC;QACV,IAAI,EAAE,WAAW;QACjB,MAAM;QACN,MAAM;QACN,MAAM;QACN,OAAO;QACP,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5B,GAAG,EAAE,KAAK;KACX,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,UAAU,CAAC,GAAG,EAAE;IACd,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAClC,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,MAAM,CAAC,OAAO,EAAE,CAAC;IACjB,EAAE,CAAC,aAAa,EAAE,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAEvE,MAAM,CAAC;QACL,CAAC,SAAS,CAAC,EAAE;YACX,QAAQ,EAAE;gBACR,OAAO,EAAE;oBACP,YAAY,EAAE;wBACZ,MAAM,EAAE;4BACN,GAAG,EAAE,EAAE;yBACR;qBACF;iBACF;aACF;YACD,YAAY,EAAE;gBACZ,MAAM,EAAE;oBACN,GAAG,EAAE,EAAE;iBACR;aACF;SACF;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,CACV,4BAA4B,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAC5D,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;IAChE,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAEhE,MAAM,CAAC;QACL,CAAC,IAAI,CAAC,EAAE;YACN,YAAY,EAAE;gBACZ,MAAM,EAAE;oBACN,GAAG,EAAE,EAAE;iBACR;aACF;YACD,SAAS,EAAE;gBACT,QAAQ,EAAE;oBACR,OAAO,EAAE,EAAE;iBACZ;aACF;SACF;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,CACV,4BAA4B,CAAC,WAAW,EAAE,KAAK,EAAE,SAAS,CAAC,CAC5D,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;IACxE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAEpE,MAAM,CAAC;QACL,CAAC,SAAS,CAAC,EAAE;YACX,QAAQ,EAAE;gBACR,OAAO,EAAE,EAAE;aACZ;YACD,YAAY,EAAE;gBACZ,MAAM,EAAE;oBACN,SAAS,EAAE,EAAE;iBACd;aACF;SACF;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,CACV,4BAA4B,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAChE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IAErD,MAAM,CAAC;QACL,CAAC,SAAS,CAAC,EAAE;YACX,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE;gBACR,OAAO,EAAE,OAAO,CAAC;oBACf,OAAO,EAAE;wBACP,GAAG,EAAE,EAAE;qBACR;iBACF,CAAC;aACH;SACF;KACF,CAAC,CAAC;IAEH,SAAS,CAAC,iBAAiB,CACzB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CACpD,CAAC;IAEF,MAAM,eAAe,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;IAE9C,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzC,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,GAAG,EACH,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAEvE,MAAM,CAAC;QACL,CAAC,SAAS,CAAC,EAAE;YACX,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE;gBACR,OAAO,EAAE,OAAO,CAAC;oBACf,YAAY,EAAE;wBACZ,MAAM,EAAE;4BACN,GAAG,EAAE,EAAE;yBACR;qBACF;iBACF,CAAC;aACH;SACF;KACF,CAAC,CAAC;IAEH,SAAS,CAAC,iBAAiB,CACzB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CACpD,CAAC;IAEF,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzC,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,QAAQ,EACR,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;IAClF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,MAAM,CAAC;QACL,CAAC,SAAS,CAAC,EAAE;YACX,WAAW,EAAE,EAAE;YACf,YAAY,EAAE;gBACZ,MAAM,EAAE;oBACN,GAAG,EAAE,EAAE;iBACR;aACF;YACD,QAAQ,EAAE;gBACR,OAAO,EAAE,OAAO,EAAE;aACnB;SACF;KACF,CAAC,CAAC;IAEH,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IAEvC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAC1C,MAAM,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CACtD,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,GAAG,EACH,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;IACxE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAE7D,MAAM,CAAC;QACL,CAAC,SAAS,CAAC,EAAE;YACX,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE;gBACR,OAAO,EAAE,OAAO,EAAE;aACnB;SACF;QACD,8BAA8B,EAAE;YAC9B,GAAG,EAAE,EAAE;SACR;KACF,CAAC,CAAC;IAEH,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAEjC,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;IAEvC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CACtC,MAAM,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CACtD,CAAC;IACF,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,GAAG,EACH,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,IAAI,CAAC;IACR,UAAU;IACV,WAAW;IACX,mBAAmB;IACnB,gBAAgB;IAChB,WAAW;CACZ,CAAC,CAAC,+CAA+C,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IACrE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAEhE,MAAM,CAAC;QACL,CAAC,SAAS,CAAC,EAAE;YACX,CAAC,QAAQ,CAAC,EAAE,EAAE;YACd,YAAY,EAAE;gBACZ,MAAM,EAAE;oBACN,GAAG,EAAE,EAAE;iBACR;aACF;YACD,QAAQ,EAAE;gBACR,OAAO,EAAE,OAAO,EAAE;aACnB;SACF;KACF,CAAC,CAAC;IAEH,MAAM,eAAe,EAAE,CAAC;IAExB,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,GAAG,EACH,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EACjB,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CACnB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;IAClF,MAAM,CAAC;QACL,CAAC,SAAS,CAAC,EAAE;YACX,YAAY,EAAE;gBACZ,MAAM,EAAE;oBACN,GAAG,EAAE,EAAE;iBACR;aACF;YACD,QAAQ,EAAE;gBACR,OAAO,EAAE,OAAO,EAAE;aACnB;SACF;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAC7C,mCAAmC,CACpC,CAAC;IAEF,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;IAClF,MAAM,CAAC;QACL,CAAC,SAAS,CAAC,EAAE;YACX,WAAW,EAAE,EAAE;YACf,QAAQ,EAAE;gBACR,OAAO,EAAE,OAAO,EAAE;aACnB;SACF;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAC7C,mCAAmC,CACpC,CAAC;IAEF,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;AAC3C,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"typescript.test.js","sourceRoot":"","sources":["../../../src/__tests__/typescript.test.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,5 @@ type Options = Input & {
7
7
  esm: boolean;
8
8
  variants: Variants;
9
9
  };
10
- export declare function findBinInAncestorNodeModules(root: string, binary: string, limit: string): Promise<string | undefined>;
11
10
  export default function build({ source, root, output, report, options, variants, esm, }: Options): Promise<void>;
12
11
  export {};
@@ -1,3 +1,4 @@
1
+ import { createRequire } from 'node:module';
1
2
  import { platform } from 'node:os';
2
3
  import path from 'node:path';
3
4
  import { deleteAsync } from 'del';
@@ -11,56 +12,12 @@ import { isCodegenSpec } from "../utils/isCodegenSpec.js";
11
12
  import { resolveModuleSpecifier, SOURCE_EXTENSIONS, } from "../utils/resolveModuleSpecifier.js";
12
13
  import { spawn } from "../utils/spawn.js";
13
14
  import { updateSourceMap } from "../utils/updateSourceMap.js";
14
- const LOCKFILES = [
15
- 'bun.lock',
16
- 'bun.lockb',
17
- 'package-lock.json',
18
- 'pnpm-lock.yaml',
19
- 'yarn.lock',
20
- ];
21
15
  const DECLARATION_EXTENSIONS = [{ source: 'd.ts', output: 'js' }];
22
16
  const EXPLICIT_SOURCE_EXTENSIONS = ['ts', 'tsx'].map((source) => ({
23
17
  source,
24
18
  emitted: DECLARATION_EXTENSIONS,
25
19
  }));
26
20
  const DECLARATION_REWRITE_BATCH_SIZE = 32;
27
- function isPathInside(root, file) {
28
- const relative = path.relative(root, file);
29
- const isOutside = relative === '..' || relative.startsWith(`..${path.sep}`);
30
- return relative === '' || (!isOutside && !path.isAbsolute(relative));
31
- }
32
- async function findWorkspaceRoot(root) {
33
- let current = root;
34
- while (true) {
35
- for (const lockfile of LOCKFILES) {
36
- if (await fs.pathExists(path.join(current, lockfile))) {
37
- return current;
38
- }
39
- }
40
- const parent = path.dirname(current);
41
- if (parent === current) {
42
- return root;
43
- }
44
- current = parent;
45
- }
46
- }
47
- export async function findBinInAncestorNodeModules(root, binary, limit) {
48
- let current = root;
49
- while (true) {
50
- const candidate = path.resolve(current, 'node_modules', '.bin', binary);
51
- if (await fs.pathExists(candidate)) {
52
- return candidate;
53
- }
54
- if (current === limit) {
55
- return undefined;
56
- }
57
- const parent = path.dirname(current);
58
- if (parent === current) {
59
- return undefined;
60
- }
61
- current = parent;
62
- }
63
- }
64
21
  const getModuleSpecifier = (node) => {
65
22
  if ((ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) &&
66
23
  node.moduleSpecifier &&
@@ -183,34 +140,40 @@ export default async function build({ source, root, output, report, options, var
183
140
  else {
184
141
  throw new Error(`Couldn't find a ${kleur.blue(project)} in the project root.`);
185
142
  }
186
- let tsc;
143
+ const args = [
144
+ '--pretty',
145
+ '--declaration',
146
+ '--declarationMap',
147
+ '--noEmit',
148
+ 'false',
149
+ '--emitDeclarationOnly',
150
+ '--project',
151
+ project,
152
+ ];
153
+ let command;
187
154
  if (options?.tsc) {
188
- tsc = path.resolve(root, options.tsc);
189
- if (!(await fs.pathExists(tsc))) {
190
- throw new Error(`The ${kleur.blue('tsc')} binary doesn't seem to be installed at ${kleur.blue(tsc)}. Please specify the correct path in options or remove it to use the workspace's version.`);
155
+ command = path.resolve(root, options.tsc);
156
+ if (!(await fs.pathExists(command))) {
157
+ throw new Error(`The ${kleur.blue('tsc')} binary doesn't seem to be installed at ${kleur.blue(command)}. Please specify the correct path in options or remove it to use the workspace's version.`);
191
158
  }
192
159
  }
193
160
  else {
194
- const binary = platform() === 'win32' ? 'tsc.cmd' : 'tsc';
195
- tsc = path.resolve(root, 'node_modules', '.bin', binary);
196
- if (!(await fs.pathExists(tsc))) {
197
- tsc = await which(binary, { nothrow: true });
161
+ try {
162
+ const manifest = createRequire(path.join(root, 'package.json')).resolve('typescript/package.json');
163
+ const { bin } = JSON.parse(await fs.readFile(manifest, 'utf-8'));
164
+ // Run the binary with node command
165
+ command = process.execPath;
166
+ args.unshift(path.join(path.dirname(manifest), bin.tsc));
198
167
  }
199
- let workspaceRoot;
200
- if (tsc != null && !isPathInside(root, tsc)) {
201
- workspaceRoot = await findWorkspaceRoot(root);
202
- if (!isPathInside(workspaceRoot, tsc)) {
203
- report.warn(`Found ${kleur.blue('tsc')} in ${kleur.blue('PATH')} at ${kleur.blue(tsc)}, but it is outside the workspace root at ${kleur.blue(workspaceRoot)}. Consider adding ${kleur.blue('typescript')} to your ${kleur.blue('devDependencies')} or specifying the ${kleur.blue('tsc')} option for the typescript target.`);
168
+ catch {
169
+ const binary = platform() === 'win32' ? 'tsc.cmd' : 'tsc';
170
+ command = await which(binary, { nothrow: true });
171
+ if (command == null) {
172
+ throw new Error(`The ${kleur.blue('tsc')} binary doesn't seem to be installed in the workspace or present in $PATH. Make sure you have added ${kleur.blue('typescript')} to your ${kleur.blue('devDependencies')} or specify the ${kleur.blue('tsc')} option for typescript.`);
204
173
  }
205
- }
206
- if (tsc == null) {
207
- workspaceRoot ??= await findWorkspaceRoot(root);
208
- tsc = await findBinInAncestorNodeModules(root, binary, workspaceRoot);
174
+ report.warn(`Failed to resolve ${kleur.blue('tsc')} in the workspace. Falling back to the binary found in ${kleur.blue('PATH')} at ${kleur.blue(command)}. Consider adding ${kleur.blue('typescript')} to your ${kleur.blue('devDependencies')} or specifying the ${kleur.blue('tsc')} option for the typescript target.`);
209
175
  }
210
176
  }
211
- if (tsc == null || !(await fs.pathExists(tsc))) {
212
- throw new Error(`The ${kleur.blue('tsc')} binary doesn't seem to be installed under ${kleur.blue('node_modules')} or present in $PATH. Make sure you have added ${kleur.blue('typescript')} to your ${kleur.blue('devDependencies')} or specify the ${kleur.blue('tsc')} option for typescript.`);
213
- }
214
177
  const outputs = {};
215
178
  if (esm && variants.commonjs && variants.module) {
216
179
  outputs.commonjs = path.join(output, 'commonjs');
@@ -226,6 +189,7 @@ export default async function build({ source, root, output, report, options, var
226
189
  if (outDir == null) {
227
190
  throw new Error('Neither commonjs nor module output is enabled.');
228
191
  }
192
+ args.push('--outDir', outDir);
229
193
  const tsbuildinfo = path.join(outDir, project.replace(/\.json$/, '.tsbuildinfo'));
230
194
  try {
231
195
  await deleteAsync([tsbuildinfo]);
@@ -233,18 +197,7 @@ export default async function build({ source, root, output, report, options, var
233
197
  catch (e) {
234
198
  // Ignore
235
199
  }
236
- await spawn(tsc, [
237
- '--pretty',
238
- '--declaration',
239
- '--declarationMap',
240
- '--noEmit',
241
- 'false',
242
- '--emitDeclarationOnly',
243
- '--project',
244
- project,
245
- '--outDir',
246
- outDir,
247
- ], { cwd: root });
200
+ await spawn(command, args, { cwd: root });
248
201
  try {
249
202
  await deleteAsync([tsbuildinfo]);
250
203
  }
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/targets/typescript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript.js","sourceRoot":"","sources":["../../../src/targets/typescript.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-builder-bob",
3
- "version": "0.42.0",
3
+ "version": "0.42.1",
4
4
  "description": "CLI to build JavaScript files for React Native libraries",
5
5
  "keywords": [
6
6
  "react-native",
@@ -89,5 +89,5 @@
89
89
  "mock-stdin": "^1.0.0",
90
90
  "vitest": "^4.1.2"
91
91
  },
92
- "gitHead": "d4370e22e9e2976b464096fbd2b5738c740266e0"
92
+ "gitHead": "a470dbe588fc9e9869d799064785bc647681b4b3"
93
93
  }
@@ -1 +0,0 @@
1
- export {};
@@ -1,193 +0,0 @@
1
- import os from 'node:os';
2
- import path from 'node:path';
3
- import { decode } from '@jridgewell/sourcemap-codec';
4
- import fs from 'fs-extra';
5
- import { expect, test, vi } from 'vitest';
6
- import build from "../targets/typescript.js";
7
- import { spawn } from "../utils/spawn.js";
8
- const tsc = path.resolve(import.meta.dirname, '../../../../node_modules/.bin', process.platform === 'win32' ? 'tsc.cmd' : 'tsc');
9
- const report = {
10
- info: vi.fn(),
11
- warn: vi.fn(),
12
- success: vi.fn(),
13
- error: vi.fn(),
14
- };
15
- const readDeclarationMap = async (filepath) => {
16
- const value = await fs.readJSON(filepath);
17
- if (value == null ||
18
- typeof value !== 'object' ||
19
- !('mappings' in value) ||
20
- typeof value.mappings !== 'string' ||
21
- !('sources' in value) ||
22
- !Array.isArray(value.sources) ||
23
- !value.sources.every((source) => typeof source === 'string')) {
24
- throw new Error('Invalid declaration map.');
25
- }
26
- return {
27
- mappings: value.mappings,
28
- sources: value.sources,
29
- };
30
- };
31
- const buildLibrary = async (root, { files, compilerOptions, packageJson, }) => {
32
- await fs.writeJSON(path.join(root, 'package.json'), {
33
- name: 'library',
34
- version: '1.0.0',
35
- type: 'module',
36
- exports: {
37
- '.': {
38
- types: './lib/typescript/src/index.d.ts',
39
- },
40
- },
41
- ...packageJson,
42
- });
43
- await fs.writeJSON(path.join(root, 'tsconfig.json'), {
44
- compilerOptions: {
45
- module: 'ESNext',
46
- moduleResolution: 'Bundler',
47
- rootDir: '.',
48
- strict: true,
49
- target: 'ESNext',
50
- ...compilerOptions,
51
- },
52
- include: ['src/**/*'],
53
- });
54
- await Promise.all(Object.entries(files).map(async ([name, content]) => fs.outputFile(path.join(root, name), content)));
55
- await build({
56
- root,
57
- source: path.join(root, 'src'),
58
- output: path.join(root, 'lib/typescript'),
59
- report,
60
- options: { project: 'tsconfig.json', tsc },
61
- esm: true,
62
- variants: { module: true },
63
- });
64
- };
65
- const typeCheckConsumer = async (root, index) => {
66
- const consumer = path.join(root, 'consumer');
67
- await fs.ensureSymlink(root, path.join(consumer, 'node_modules/library'));
68
- await fs.writeJSON(path.join(consumer, 'package.json'), {
69
- type: 'module',
70
- });
71
- await fs.writeJSON(path.join(consumer, 'tsconfig.json'), {
72
- compilerOptions: {
73
- module: 'NodeNext',
74
- moduleResolution: 'NodeNext',
75
- strict: true,
76
- target: 'ESNext',
77
- },
78
- include: ['index.ts'],
79
- });
80
- await fs.outputFile(path.join(consumer, 'index.ts'), index);
81
- try {
82
- await spawn(tsc, ['--noEmit', '--project', 'tsconfig.json'], {
83
- cwd: consumer,
84
- });
85
- return undefined;
86
- }
87
- catch (error) {
88
- if (error != null &&
89
- typeof error === 'object' &&
90
- 'stdout' in error &&
91
- typeof error.stdout === 'string') {
92
- return error.stdout;
93
- }
94
- throw error;
95
- }
96
- };
97
- test('adds extensions to declarations for NodeNext resolution', async () => {
98
- const root = await fs.mkdtemp(path.join(os.tmpdir(), 'bob-typescript-'));
99
- try {
100
- await buildLibrary(root, {
101
- compilerOptions: { allowImportingTsExtensions: true },
102
- files: {
103
- 'src/index.ts': [
104
- "export { type Foo } from './foo';",
105
- "export * from './star';",
106
- "export { type Bar } from './nested';",
107
- "export { type Baz } from './explicit.ts';",
108
- "export type UsesImportType = import('./foo').Foo;",
109
- ].join('\n'),
110
- 'src/foo.ts': 'export type Foo = { value: string };\n',
111
- 'src/star.ts': 'export type Star = { value: string };\n',
112
- 'src/nested/index.ts': 'export type Bar = { value: string };\n',
113
- 'src/explicit.ts': 'export type Baz = { value: string };\n',
114
- },
115
- });
116
- const declaration = await fs.readFile(path.join(root, 'lib/typescript/src/index.d.ts'), 'utf-8');
117
- expect(declaration).toContain("from './foo.js'");
118
- expect(declaration).toContain("from './star.js'");
119
- expect(declaration).toContain("from './nested/index.js'");
120
- expect(declaration).toContain("from './explicit.js'");
121
- expect(declaration).toContain("import('./foo.js').Foo");
122
- const declarationMap = await readDeclarationMap(path.join(root, 'lib/typescript/src/index.d.ts.map'));
123
- expect(declarationMap.mappings).toEqual(expect.any(String));
124
- expect(declarationMap.sources.some((source) => source.endsWith('/src/index.ts'))).toBe(true);
125
- const firstLine = declaration.split('\n')[0];
126
- const firstLineColumns = decode(declarationMap.mappings)[0]?.map((segment) => segment[0]);
127
- expect(firstLineColumns).toContain(firstLine?.indexOf(';'));
128
- const stdout = await typeCheckConsumer(root, [
129
- "import type { Bar, Baz, Foo, Star, UsesImportType } from 'library';",
130
- '',
131
- 'type Test = [Bar, Baz, Foo, Star, UsesImportType];',
132
- ].join('\n'));
133
- expect(stdout).toBeUndefined();
134
- }
135
- finally {
136
- await fs.remove(root);
137
- }
138
- });
139
- test('keeps codegen spec imports unchanged', async () => {
140
- const root = await fs.mkdtemp(path.join(os.tmpdir(), 'bob-typescript-'));
141
- try {
142
- await buildLibrary(root, {
143
- packageJson: {
144
- codegenConfig: { name: 'Lib', type: 'all', jsSrcsDir: 'src' },
145
- },
146
- files: {
147
- 'src/index.ts': [
148
- "export { default as Foo } from './FooNativeComponent';",
149
- "export { type Bar } from './bar';",
150
- ].join('\n'),
151
- 'src/FooNativeComponent.ts': [
152
- 'declare function codegenNativeComponent<T>(name: string): T;',
153
- 'export type FooProps = { value: string };',
154
- "export default codegenNativeComponent<FooProps>('Foo');",
155
- ].join('\n'),
156
- 'src/bar.ts': 'export type Bar = { value: string };\n',
157
- },
158
- });
159
- const declaration = await fs.readFile(path.join(root, 'lib/typescript/src/index.d.ts'), 'utf-8');
160
- expect(declaration).toContain("from './FooNativeComponent'");
161
- expect(declaration).not.toContain("from './FooNativeComponent.js'");
162
- // Non-codegen imports are still rewritten as usual
163
- expect(declaration).toContain("from './bar.js'");
164
- }
165
- finally {
166
- await fs.remove(root);
167
- }
168
- });
169
- test('keeps platform-specific declaration imports extensionless', async () => {
170
- const root = await fs.mkdtemp(path.join(os.tmpdir(), 'bob-typescript-'));
171
- try {
172
- await buildLibrary(root, {
173
- files: {
174
- 'src/index.ts': "export { type Platform } from './platform';\n",
175
- 'src/platform.ts': 'export type Platform = { value: string };\n',
176
- 'src/platform.ios.ts': 'export type Platform = { value: string };\n',
177
- },
178
- });
179
- const declaration = await fs.readFile(path.join(root, 'lib/typescript/src/index.d.ts'), 'utf-8');
180
- expect(declaration).toContain("from './platform'");
181
- expect(declaration).not.toContain("from './platform.js'");
182
- const stdout = await typeCheckConsumer(root, [
183
- "import type { Platform } from 'library';",
184
- '',
185
- 'type Test = Platform;',
186
- ].join('\n'));
187
- expect(stdout).toContain('Relative import paths need explicit file extensions');
188
- }
189
- finally {
190
- await fs.remove(root);
191
- }
192
- });
193
- //# sourceMappingURL=typescript-declarations.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typescript-declarations.test.js","sourceRoot":"","sources":["../../../src/__tests__/typescript-declarations.test.ts"],"names":[],"mappings":"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"}