Skip to content

Commit 2d0f767

Browse files
committed
Switch top-level scripts to tinyglobby
1 parent 0caf796 commit 2d0f767

5 files changed

Lines changed: 55 additions & 39 deletions

File tree

private/cxx-public-api/public-api.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010

1111
const {execSync} = require('child_process');
1212
const fs = require('fs');
13-
const glob = require('glob');
1413
const ini = require('ini');
1514
const path = require('path');
15+
const {globSync} = require('tinyglobby');
1616
const {styleText} = require('util');
1717

1818
const CONFIG_PATH = path.join(__dirname, './public-api.conf');
@@ -183,9 +183,10 @@ function main() {
183183
for (const searchGlob of config.include) {
184184
// glob 7 doesn't support searchGlob as a string[]
185185
files = files.concat(
186-
glob.sync(searchGlob, {
186+
globSync(searchGlob, {
187187
ignore: config.exclude,
188-
root: GLOB_PROJECT_ROOT,
188+
cwd: GLOB_PROJECT_ROOT,
189+
expandDirectories: false,
189190
}),
190191
);
191192
}

scripts/build-types/BuildApiSnapshot.js

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ const {
2323
// $FlowFixMe[cannot-resolve-module]
2424
} = require('@microsoft/api-extractor');
2525
const {promises: fs} = require('fs');
26-
const glob = require('glob');
2726
const {diff} = require('jest-diff');
2827
const path = require('path');
2928
const prettier = require('prettier');
3029
const osTempDir = require('temp-dir');
30+
const {globSync} = require('tinyglobby');
3131
const {styleText} = require('util');
3232

3333
const inputFilesPostTransforms: $ReadOnlyArray<PluginObj<mixed>> = [
@@ -163,12 +163,11 @@ async function validateSnapshots(
163163
}
164164

165165
async function findPackagesWithTypedef() {
166-
const packagesWithGeneratedTypes = glob
167-
.sync(`${PACKAGES_DIR}/**/types_generated`, {nodir: false})
168-
.map(typesPath =>
169-
path.relative(PACKAGES_DIR, typesPath).split('/').slice(0, -1).join('/'),
170-
);
171-
166+
const packagesWithGeneratedTypes = globSync('**/types_generated', {
167+
cwd: PACKAGES_DIR,
168+
onlyDirectories: true,
169+
expandDirectories: false,
170+
}).map(typesPath => path.dirname(typesPath));
172171
const packagesWithNames = await Promise.all(
173172
packagesWithGeneratedTypes.map(async pkg => {
174173
const packageJsonContent = await fs.readFile(
@@ -202,7 +201,11 @@ async function preparePackagesInTempDir(
202201
}),
203202
);
204203

205-
const typeDefs = glob.sync(`${tempDirectory}/**/*.d.ts`);
204+
const typeDefs = globSync('**/*.d.ts', {
205+
cwd: tempDirectory,
206+
onlyFiles: true,
207+
absolute: true,
208+
});
206209
await Promise.all(
207210
typeDefs.map(async file => {
208211
const source = await fs.readFile(file, 'utf-8');
@@ -223,7 +226,11 @@ async function rewriteLocalImports(
223226
tempDirectory: string,
224227
packages: $ReadOnlyArray<{directory: string, name: string}>,
225228
) {
226-
const definitions = glob.sync(`${tempDirectory}/**/*.d.ts`);
229+
const definitions = globSync('**/*.d.ts', {
230+
cwd: tempDirectory,
231+
onlyFiles: true,
232+
absolute: true,
233+
});
227234

228235
await Promise.all(
229236
definitions.map(async file => {

scripts/build/build.js

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ const {
2020
const babel = require('@babel/core');
2121
const translate = require('flow-api-translator');
2222
const {promises: fs} = require('fs');
23-
const glob = require('glob');
2423
const micromatch = require('micromatch');
2524
const path = require('path');
2625
const prettier = require('prettier');
26+
const {globSync} = require('tinyglobby');
2727
const ts = require('typescript');
2828
const {parseArgs, styleText} = require('util');
2929

@@ -103,15 +103,15 @@ async function buildPackage(packageName /*: string */) {
103103
const {emitTypeScriptDefs} = getBuildOptions(packageName);
104104
const entryPoints = await getEntryPoints(packageName);
105105

106-
const files = glob
107-
.sync(path.resolve(PACKAGES_DIR, packageName, SRC_DIR, '**/*'), {
108-
nodir: true,
109-
})
110-
.filter(
111-
file =>
112-
!entryPoints.has(file) &&
113-
!entryPoints.has(file.replace(/\.js$/, '.flow.js')),
114-
);
106+
const files = globSync('**/*', {
107+
cwd: path.resolve(PACKAGES_DIR, packageName, SRC_DIR),
108+
onlyFiles: true,
109+
absolute: true,
110+
}).filter(
111+
file =>
112+
!entryPoints.has(file) &&
113+
!entryPoints.has(file.replace(/\.js$/, '.flow.js')),
114+
);
115115

116116
process.stdout.write(
117117
`${packageName} ${styleText('dim', '.').repeat(72 - packageName.length)} `,
@@ -429,9 +429,11 @@ function normalizeExportsTarget(target /*: string */) /*: string */ {
429429
}
430430

431431
function validateTypeScriptDefs(packageName /*: string */) {
432-
const files = glob.sync(
433-
path.resolve(PACKAGES_DIR, packageName, BUILD_DIR, '**/*.d.ts'),
434-
);
432+
const files = globSync('**/*.d.ts', {
433+
cwd: path.resolve(PACKAGES_DIR, packageName, BUILD_DIR),
434+
absolute: true,
435+
onlyFiles: true,
436+
});
435437
const compilerOptions = {
436438
...getTypeScriptCompilerOptions(packageName),
437439
noEmit: true,

scripts/releases/ios-prebuild/setupDependencies.js

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ const {
1717
} = require('./constants');
1818
const {execSync} = require('child_process');
1919
const fs = require('fs');
20-
const glob = require('glob');
2120
const path = require('path');
21+
const {globSync} = require('tinyglobby');
2222
const util = require('util');
2323

2424
/*::
@@ -142,7 +142,10 @@ async function createBuildStructure(
142142
// Now let's use glob to get the final list of files
143143
const sources = dependency.files.sources;
144144
sources.forEach(source => {
145-
const sourceFiles = glob.sync(source, {cwd: sourceFolder});
145+
const sourceFiles = globSync(source, {
146+
cwd: sourceFolder,
147+
expandDirectories: false,
148+
});
146149
sourceFiles.forEach(sourceFile => {
147150
const sourcePath = path.join(sourceFolder, sourceFile);
148151
const targetPath = path.join(targetFolder, sourceFile);
@@ -180,7 +183,10 @@ async function createHeaderStructure(
180183
// Now let's use glob to get the final list of files
181184
const headers = dependency.files.headers;
182185
headers.forEach(source => {
183-
const sourceFiles = glob.sync(source, {cwd: sourceFolder});
186+
const sourceFiles = globSync(source, {
187+
cwd: sourceFolder,
188+
expandDirectories: false,
189+
});
184190
sourceFiles.forEach(sourceFile => {
185191
// get source path
186192
const sourcePath = path.join(sourceFolder, sourceFile);
@@ -234,7 +240,10 @@ async function copyResources(
234240

235241
// Copy all resources
236242
resources.forEach(source => {
237-
const sourceFiles = glob.sync(source, {cwd: rootFolder});
243+
const sourceFiles = globSync(source, {
244+
cwd: rootFolder,
245+
expandDirectories: false,
246+
});
238247
sourceFiles.forEach(sourceFile => {
239248
const sourcePath = path.resolve(rootFolder, sourceFile);
240249
const targetPath = path.join(targetFolder, path.basename(sourceFile));

scripts/utils/monorepo.js

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010

1111
const {REPO_ROOT} = require('../consts');
1212
const {promises: fs} = require('fs');
13-
const glob = require('glob');
1413
const path = require('path');
14+
const {globSync} = require('tinyglobby');
1515

1616
const WORKSPACES_CONFIG = '{packages,private}/*';
1717

@@ -57,15 +57,12 @@ async function getPackages(
5757
const {includeReactNative, includePrivate = false} = filter;
5858

5959
const packagesEntries = await Promise.all(
60-
glob
61-
.sync(`${WORKSPACES_CONFIG}/package.json`, {
62-
cwd: REPO_ROOT,
63-
absolute: true,
64-
ignore: includeReactNative
65-
? []
66-
: ['packages/react-native/package.json'],
67-
})
68-
.map(parsePackageInfo),
60+
globSync(`${WORKSPACES_CONFIG}/package.json`, {
61+
cwd: REPO_ROOT,
62+
absolute: true,
63+
ignore: includeReactNative ? [] : ['packages/react-native/package.json'],
64+
expandDirectories: false,
65+
}).map(parsePackageInfo),
6966
);
7067

7168
return Object.fromEntries(

0 commit comments

Comments
 (0)