UNPKG

1.44 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.visitNotIgnoredFiles = void 0;
4const core_1 = require("@angular-devkit/core");
5const schematics_1 = require("@angular-devkit/schematics");
6const ignore_1 = require("ignore");
7function visitNotIgnoredFiles(visitor, dir = (0, core_1.normalize)('')) {
8 return (host, context) => {
9 let ig;
10 if (host.exists('.gitignore')) {
11 ig = (0, ignore_1.default)();
12 ig.add(host.read('.gitignore').toString());
13 }
14 function visit(_dir) {
15 if (_dir && (ig === null || ig === void 0 ? void 0 : ig.ignores(_dir))) {
16 return;
17 }
18 const dirEntry = host.getDir(_dir);
19 dirEntry.subfiles.forEach((file) => {
20 if (ig === null || ig === void 0 ? void 0 : ig.ignores((0, core_1.join)(_dir, file))) {
21 return;
22 }
23 const maybeRule = visitor((0, core_1.join)(_dir, file), host, context);
24 if (maybeRule) {
25 (0, schematics_1.callRule)(maybeRule, host, context).subscribe();
26 }
27 });
28 dirEntry.subdirs.forEach((subdir) => {
29 visit((0, core_1.join)(_dir, subdir));
30 });
31 }
32 visit(dir);
33 };
34}
35exports.visitNotIgnoredFiles = visitNotIgnoredFiles;
36//# sourceMappingURL=visit-not-ignored-files.js.map
\No newline at end of file