1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.visitNotIgnoredFiles = void 0;
|
4 | const core_1 = require("@angular-devkit/core");
|
5 | const schematics_1 = require("@angular-devkit/schematics");
|
6 | const ignore_1 = require("ignore");
|
7 | function 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 | }
|
35 | exports.visitNotIgnoredFiles = visitNotIgnoredFiles;
|
36 |
|
\ | No newline at end of file |