1 | ;
|
2 | var file = require("./file.utils");
|
3 | var utils = require("./task.utils");
|
4 | var file_utils_1 = require("./file.utils");
|
5 | var reporter_resolve_1 = require("./reporter.resolve");
|
6 | var Rx = require("rx");
|
7 | var path_1 = require("path");
|
8 | var config_1 = require("./config");
|
9 | function createHashes(tasks, trigger) {
|
10 | var ifLookups = utils.concatProps(tasks, [], "ifChanged");
|
11 | if (!ifLookups.length)
|
12 | return Rx.Observable.empty();
|
13 | var existingFile = file.readOrCreateJsonFile(path_1.join(".crossbow", "history.json"), trigger.config.cwd);
|
14 | if (!existingFile.data.hashes) {
|
15 | existingFile.data.hashes = [];
|
16 | }
|
17 | return file.hashItems(ifLookups, trigger.config.cwd, existingFile.data.hashes)
|
18 | .do(function (hashResults) {
|
19 | // Write the hashes to disk
|
20 | trigger.config.signalObserver.onNext({
|
21 | type: config_1.SignalTypes.FileWrite,
|
22 | data: {
|
23 | file: existingFile,
|
24 | content: JSON.stringify({ hashes: hashResults.output }, null, 2)
|
25 | }
|
26 | });
|
27 | })
|
28 | .map(function (hashResults) {
|
29 | // Send in the marked hashes to the run context
|
30 | // so that matching tasks can be ignored
|
31 | return {
|
32 | "ifChanged": hashResults.markedHashes
|
33 | };
|
34 | })
|
35 | .take(1)
|
36 | .catch(function (e) {
|
37 | if (e.code === "ENOTDIR")
|
38 | e.type = file_utils_1.HashDirErrorTypes.HashNotADirectory;
|
39 | if (e.code === "ENOENT")
|
40 | e.type = file_utils_1.HashDirErrorTypes.HashPathNotFound;
|
41 | trigger.reporter({
|
42 | type: reporter_resolve_1.ReportTypes.HashDirError,
|
43 | data: {
|
44 | error: e,
|
45 | cwd: trigger.config.cwd
|
46 | }
|
47 | });
|
48 | return Rx.Observable.just({});
|
49 | });
|
50 | }
|
51 | exports.createHashes = createHashes;
|
52 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5ydW4ucHJlLWV4ZWN1dGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tYW5kLnJ1bi5wcmUtZXhlY3V0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxJQUFZLElBQUksV0FBTSxjQUFjLENBQUMsQ0FBQTtBQUNyQyxJQUFZLEtBQUssV0FBTSxjQUFjLENBQUMsQ0FBQTtBQUN0QywyQkFBZ0MsY0FBYyxDQUFDLENBQUE7QUFDL0MsaUNBQThDLG9CQUFvQixDQUFDLENBQUE7QUFDbkUsSUFBTyxFQUFFLFdBQVcsSUFBSSxDQUFDLENBQUM7QUFDMUIscUJBQW1CLE1BQU0sQ0FBQyxDQUFBO0FBQzFCLHVCQUEwQixVQUFVLENBQUMsQ0FBQTtBQUVyQyxzQkFBNkIsS0FBYSxFQUFFLE9BQXVCO0lBRS9ELElBQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztJQUU1RCxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUVwRCxJQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBSSxDQUFDLFdBQVcsRUFBRSxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXRHLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQzVCLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3pFLEVBQUUsQ0FBQyxVQUFDLFdBQThCO1FBQy9CLDJCQUEyQjtRQUMzQixPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUM7WUFDakMsSUFBSSxFQUFFLG9CQUFXLENBQUMsU0FBUztZQUMzQixJQUFJLEVBQUU7Z0JBQ0YsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQ2pFO1NBQ0osQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDO1NBQ0QsR0FBRyxDQUFDLFVBQVUsV0FBOEI7UUFDekMsK0NBQStDO1FBQy9DLHdDQUF3QztRQUN4QyxNQUFNLENBQUM7WUFDSCxXQUFXLEVBQUUsV0FBVyxDQUFDLFlBQVk7U0FDeEMsQ0FBQztJQUNOLENBQUMsQ0FBQztTQUNELElBQUksQ0FBQyxDQUFDLENBQUM7U0FDUCxLQUFLLENBQUMsVUFBVSxDQUFDO1FBRWQsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUM7WUFBQyxDQUFDLENBQUMsSUFBSSxHQUFHLDhCQUFpQixDQUFDLGlCQUFpQixDQUFDO1FBQ3ZFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDO1lBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyw4QkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQztRQUV0RSxPQUFPLENBQUMsUUFBUSxDQUFDO1lBQ2IsSUFBSSxFQUFFLDhCQUFXLENBQUMsWUFBWTtZQUM5QixJQUFJLEVBQUU7Z0JBQ0YsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsR0FBRyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRzthQUNKO1NBQzFCLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUM7QUE5Q2Usb0JBQVksZUE4QzNCLENBQUEifQ== |
\ | No newline at end of file |