Skip to content

Commit 87cd39a

Browse files
committed
Fix flow build
1 parent 4d57cd9 commit 87cd39a

File tree

3 files changed

+15
-18
lines changed

3 files changed

+15
-18
lines changed

build-flow.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
const fs = require('fs');
2+
3+
let index = fs.readFileSync(__dirname + '/node/index.d.ts', 'utf8');
4+
index = '// @flow\n' + index;
5+
index = index.replace(/export interface (.*?) \{((?:.|\n)*?)\}/g, 'export type $1 = {|$2|};');
6+
index = index.replace(/export declare function/g, 'declare export function');
7+
8+
let targets = fs.readFileSync(__dirname + '/node/targets.d.ts', 'utf8');
9+
targets = targets.replace(/export interface (.*?) \{((?:.|\n)*?)\}/g, 'export type $1 = {|$2|};');
10+
index = index.replace("import type {Targets} from './targets';", targets);
11+
12+
fs.writeFileSync(__dirname + '/node/index.js.flow', index);

build.js

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
const { spawn, execSync } = require('child_process');
2-
const fs = require('fs');
32

43
let release = process.argv.includes('--release');
54
build().catch((err) => {
@@ -31,8 +30,6 @@ async function build() {
3130
yarn.on('error', reject);
3231
yarn.on('close', resolve);
3332
});
34-
35-
buildFlowTypes();
3633
}
3734

3835
// This forces Clang/LLVM to be used as a C compiler instead of GCC.
@@ -47,16 +44,3 @@ function setupMacBuild() {
4744
process.env.CFLAGS = `-isysroot ${sysRoot} -isystem ${sysRoot}`;
4845
process.env.MACOSX_DEPLOYMENT_TARGET = '10.9';
4946
}
50-
51-
function buildFlowTypes() {
52-
let index = fs.readFileSync(__dirname + '/node/index.d.ts', 'utf8');
53-
index = '// @flow\n' + index;
54-
index = index.replace(/export interface (.*?) \{((?:.|\n)*?)\}/g, 'export type $1 = {|$2|};');
55-
index = index.replace(/export declare function/g, 'declare export function');
56-
57-
let targets = fs.readFileSync(__dirname + '/node/targets.d.ts', 'utf8');
58-
targets = targets.replace(/export interface (.*?) \{((?:.|\n)*?)\}/g, 'export type $1 = {|$2|};');
59-
index = index.replace("import type {Targets} from './targets';", targets);
60-
61-
fs.writeFileSync(__dirname + '/node/index.js.flow', index);
62-
}

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,9 @@
5050
"puppeteer": "^12.0.1"
5151
},
5252
"scripts": {
53-
"build": "node build.js",
54-
"build-release": "node build.js --release",
53+
"build": "node build.js && node build-flow.js",
54+
"build-release": "node build.js --release && node build-flow.js",
55+
"prepublishOnly": "node build-flow.js",
5556
"wasm:build": "wasm-pack build node --target nodejs",
5657
"wasm:build-release": "wasm-pack build node --target nodejs --release",
5758
"wasm-browser:build": "wasm-pack build node --target web",

0 commit comments

Comments
 (0)