Skip to content

Commit a9b5aeb

Browse files
committed
removed glob dependency
1 parent 128892e commit a9b5aeb

File tree

3 files changed

+80
-111
lines changed

3 files changed

+80
-111
lines changed

bin/build.js

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
let url = require('url');
22
let compile = require('./compile');
3-
let { glob } = require('glob');
43
let path = require('path');
54
let findNodeModules = require('findup-sync');
65
let fs = require('fs');
@@ -80,11 +79,15 @@ async function writeIndexJs(schemaJsPath) {
8079
}
8180

8281
async function findSchemaJs(cwd) {
83-
let options = {
84-
ignore: ['**/node_modules/**', '**/dist/**', '**/dev/**', '**/deploy/**', '**/build/**'],
85-
cwd
82+
let ignoredDirNames = {
83+
node_modules: true,
84+
dist: true,
85+
dev: true,
86+
deploy: true,
87+
build: true
8688
};
87-
let files = await glob('**/schema.*(js|mjs|ts)', options);
89+
let files = [];
90+
scanForSchemaFiles(cwd, ignoredDirNames, files);
8891
files.sort((a, b) => {
8992
const aIsTs = a.substring(a.length - 2) === 'ts';
9093
const bIsTs = b.substring(b.length - 2) === 'ts';
@@ -97,7 +100,29 @@ async function findSchemaJs(cwd) {
97100
else
98101
return 0;
99102
});
100-
return files.map(x => path.join(cwd, '/', x));
103+
return files;
104+
}
105+
106+
function scanForSchemaFiles(currentDir, ignoredDirNames, results) {
107+
for (let entry of fs.readdirSync(currentDir)) {
108+
const fullPath = path.join(currentDir, entry);
109+
let stat;
110+
try {
111+
stat = fs.statSync(fullPath);
112+
}
113+
catch (e) {
114+
continue;
115+
}
116+
if (stat.isDirectory()) {
117+
if (ignoredDirNames[entry])
118+
continue;
119+
scanForSchemaFiles(fullPath, ignoredDirNames, results);
120+
continue;
121+
}
122+
123+
if (entry === 'schema.js' || entry === 'schema.mjs' || entry === 'schema.ts')
124+
results.push(fullPath);
125+
}
101126
}
102127

103128
function tryDownload(_url, _isNamespace) {
@@ -124,4 +149,4 @@ async function download(url, isNamespace) {
124149

125150
module.exports = function(cwd) {
126151
run(cwd).then(null, console.log);
127-
};
152+
};

0 commit comments

Comments
 (0)