@sasjs/utils 4.1.0 → 4.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compileTree/compileTree.d.ts +1 -1
- package/compileTree/compileTree.js +6 -2
- package/compileTree/compileTree.js.map +1 -1
- package/compileTree/doxygenHeader.d.ts +33 -0
- package/compileTree/doxygenHeader.js +100 -0
- package/compileTree/doxygenHeader.js.map +1 -0
- package/compileTree/index.d.ts +1 -0
- package/compileTree/index.js +1 -0
- package/compileTree/index.js.map +1 -1
- package/file/file.d.ts +12 -0
- package/file/file.js +61 -8
- package/file/file.js.map +1 -1
- package/file/index.d.ts +1 -1
- package/file/index.js +2 -1
- package/file/index.js.map +1 -1
- package/package.json +1 -1
- package/sasjsCli/getDependencies.js +5 -0
- package/sasjsCli/getDependencies.js.map +1 -1
- package/sasjsCli/loadDependenciesFile.js +2 -0
- package/sasjsCli/loadDependenciesFile.js.map +1 -1
|
@@ -16,6 +16,7 @@ exports.removeHeader = exports.CompileTree = void 0;
|
|
|
16
16
|
const path_1 = __importDefault(require("path"));
|
|
17
17
|
const __1 = require("../");
|
|
18
18
|
const sasjsCli_1 = require("../sasjsCli");
|
|
19
|
+
const doxygenHeader_1 = require("./doxygenHeader");
|
|
19
20
|
class CompileTree {
|
|
20
21
|
constructor(treePath, tree = {}) {
|
|
21
22
|
this._treePath = treePath;
|
|
@@ -32,7 +33,7 @@ class CompileTree {
|
|
|
32
33
|
// Adds leaf
|
|
33
34
|
addLeaf(leaf) {
|
|
34
35
|
leaf.dependencies = (0, sasjsCli_1.getList)((0, sasjsCli_1.getDeprecatedHeader)(leaf.content, sasjsCli_1.DependencyHeader.Macro), leaf.content);
|
|
35
|
-
leaf.content = (0, exports.removeHeader)(leaf.content);
|
|
36
|
+
leaf.content = (0, exports.removeHeader)(leaf.content, leaf.location);
|
|
36
37
|
this._tree[this.getFileName(leaf.location)] = leaf;
|
|
37
38
|
return leaf;
|
|
38
39
|
}
|
|
@@ -84,6 +85,9 @@ exports.CompileTree = CompileTree;
|
|
|
84
85
|
// Removes header from SAS file
|
|
85
86
|
// If string begins with a multiline comment, remove the comment
|
|
86
87
|
// Ignore any preceding white space or line breaks
|
|
87
|
-
const removeHeader = (content) =>
|
|
88
|
+
const removeHeader = (content, filePath) => {
|
|
89
|
+
(0, doxygenHeader_1.throwIfDoxygenHeaderClosesEarly)(content, filePath);
|
|
90
|
+
return content.replace(new RegExp(`^\\s*\\/(\\*){1,2}([\\s\\S]*?)(\\*){1,2}\\/`), '');
|
|
91
|
+
};
|
|
88
92
|
exports.removeHeader = removeHeader;
|
|
89
93
|
//# sourceMappingURL=compileTree.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compileTree.js","sourceRoot":"","sources":["../../src/compileTree/compileTree.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gDAAuB;AACvB,2BAA0C;AAC1C,0CAKoB;
|
|
1
|
+
{"version":3,"file":"compileTree.js","sourceRoot":"","sources":["../../src/compileTree/compileTree.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** Where a doxygen header starts and where SAS actually ends it. */
|
|
2
|
+
export interface DoxygenHeader {
|
|
3
|
+
/** Index of the `/*` that opens the header. */
|
|
4
|
+
start: number;
|
|
5
|
+
/** Index of the comment terminator, as the SAS lexer sees it, or `null`. */
|
|
6
|
+
close: number | null;
|
|
7
|
+
/** Index of a nested `/*` that closes before the header does, or `null`. */
|
|
8
|
+
nestedComment: number | null;
|
|
9
|
+
/** Index of the first double-asterisk terminator at or after the close, or `null`. */
|
|
10
|
+
terminator: number | null;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Reads the doxygen header a file opens with.
|
|
14
|
+
*
|
|
15
|
+
* Returns `null` when the file does not open with a doxygen header (`/**`). A
|
|
16
|
+
* plain block comment is not a header, and files that open with one are the
|
|
17
|
+
* subject of the lint rule for header style, not of this check.
|
|
18
|
+
*/
|
|
19
|
+
export declare const getDoxygenHeader: (content: string) => DoxygenHeader | null;
|
|
20
|
+
/**
|
|
21
|
+
* Fails when a doxygen header is cut short.
|
|
22
|
+
*
|
|
23
|
+
* A header is a SAS block comment, and SAS block comments do not nest: the
|
|
24
|
+
* first close marker ends the comment. A block comment inside the header ends
|
|
25
|
+
* it at that inner marker, and so does header text holding a close marker. In
|
|
26
|
+
* both cases the rest of the header is compiled as SAS. Without this the
|
|
27
|
+
* failure lands hundreds of lines away from the header, named by nothing
|
|
28
|
+
* useful.
|
|
29
|
+
*
|
|
30
|
+
* @param content - the raw content of a SAS file.
|
|
31
|
+
* @param filePath - path reported in the error, when the caller knows it.
|
|
32
|
+
*/
|
|
33
|
+
export declare const throwIfDoxygenHeaderClosesEarly: (content: string, filePath?: string | undefined) => void;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.throwIfDoxygenHeaderClosesEarly = exports.getDoxygenHeader = void 0;
|
|
4
|
+
const CLOSE = '*/';
|
|
5
|
+
const TERMINATOR = '**/';
|
|
6
|
+
const firstNonWhitespace = (content) => content.search(/\S/);
|
|
7
|
+
/**
|
|
8
|
+
* Reads the doxygen header a file opens with.
|
|
9
|
+
*
|
|
10
|
+
* Returns `null` when the file does not open with a doxygen header (`/**`). A
|
|
11
|
+
* plain block comment is not a header, and files that open with one are the
|
|
12
|
+
* subject of the lint rule for header style, not of this check.
|
|
13
|
+
*/
|
|
14
|
+
const getDoxygenHeader = (content) => {
|
|
15
|
+
const start = firstNonWhitespace(content);
|
|
16
|
+
if (start === -1 || !content.startsWith('/**', start))
|
|
17
|
+
return null;
|
|
18
|
+
const close = content.indexOf(CLOSE, start + 2);
|
|
19
|
+
const nestedComment = content.indexOf('/*', start + 2);
|
|
20
|
+
return {
|
|
21
|
+
start,
|
|
22
|
+
close: close === -1 ? null : close,
|
|
23
|
+
nestedComment: nestedComment !== -1 && nestedComment < close ? nestedComment : null,
|
|
24
|
+
terminator: close === -1 ? null : getOwnTerminator(content, close)
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
exports.getDoxygenHeader = getDoxygenHeader;
|
|
28
|
+
// Finds the double-asterisk terminator that belongs to this header.
|
|
29
|
+
//
|
|
30
|
+
// Two things disqualify a candidate. It has to stand alone on its line, because
|
|
31
|
+
// the house style writes it that way and a terminator inside a statement ends
|
|
32
|
+
// that statement's comment. And it has to arrive before another header opens:
|
|
33
|
+
// one behind a later opener closes that header, not this one. Both bounds keep
|
|
34
|
+
// the verdict on one header local to it, so the same header is not reported or
|
|
35
|
+
// ignored depending on what happens to follow it.
|
|
36
|
+
const LATER_HEADER = /^[ \t]*\/\*\*/m;
|
|
37
|
+
const getOwnTerminator = (content, close) => {
|
|
38
|
+
let candidate = content.indexOf(TERMINATOR, close - 1);
|
|
39
|
+
while (candidate !== -1) {
|
|
40
|
+
const lineStart = content.lastIndexOf('\n', candidate - 1) + 1;
|
|
41
|
+
const lineLeading = !content.slice(lineStart, candidate).trim();
|
|
42
|
+
// Another header opens before this candidate, so nothing beyond it can be
|
|
43
|
+
// this header's end.
|
|
44
|
+
if (LATER_HEADER.test(content.slice(close + 2, candidate)))
|
|
45
|
+
return null;
|
|
46
|
+
if (lineLeading)
|
|
47
|
+
return candidate;
|
|
48
|
+
candidate = content.indexOf(TERMINATOR, candidate + 1);
|
|
49
|
+
}
|
|
50
|
+
return null;
|
|
51
|
+
};
|
|
52
|
+
const lineOf = (content, index) => content.slice(0, index).split('\n').length;
|
|
53
|
+
/**
|
|
54
|
+
* Fails when a doxygen header is cut short.
|
|
55
|
+
*
|
|
56
|
+
* A header is a SAS block comment, and SAS block comments do not nest: the
|
|
57
|
+
* first close marker ends the comment. A block comment inside the header ends
|
|
58
|
+
* it at that inner marker, and so does header text holding a close marker. In
|
|
59
|
+
* both cases the rest of the header is compiled as SAS. Without this the
|
|
60
|
+
* failure lands hundreds of lines away from the header, named by nothing
|
|
61
|
+
* useful.
|
|
62
|
+
*
|
|
63
|
+
* @param content - the raw content of a SAS file.
|
|
64
|
+
* @param filePath - path reported in the error, when the caller knows it.
|
|
65
|
+
*/
|
|
66
|
+
const throwIfDoxygenHeaderClosesEarly = (content, filePath) => {
|
|
67
|
+
const header = (0, exports.getDoxygenHeader)(content);
|
|
68
|
+
// A header that closed at its own terminator was not cut short, and one with
|
|
69
|
+
// no terminator carries no evidence that it was meant to continue.
|
|
70
|
+
if (!header || header.close === null || header.terminator === null)
|
|
71
|
+
return;
|
|
72
|
+
if (header.terminator === header.close - 1)
|
|
73
|
+
return;
|
|
74
|
+
const nested = header.nestedComment;
|
|
75
|
+
const label = filePath ? `${filePath}: ` : '';
|
|
76
|
+
const closeLine = lineOf(content, header.close);
|
|
77
|
+
const terminatorLine = lineOf(content, header.terminator);
|
|
78
|
+
// The terminator stands alone on its line and the close marker is not
|
|
79
|
+
// whitespace, so the two are always on different lines.
|
|
80
|
+
const affected = `lines ${closeLine + 1}-${terminatorLine}`;
|
|
81
|
+
// `/*/` is a comment opener followed straight away by a close marker - the
|
|
82
|
+
// shape a glob such as `src/*/file.sas` leaves in header text.
|
|
83
|
+
const literalSequence = nested !== null && nested === header.close - 1;
|
|
84
|
+
const reword = literalSequence || nested === null;
|
|
85
|
+
const cause = literalSequence
|
|
86
|
+
? `the /*/ on line ${closeLine} holds that close marker.`
|
|
87
|
+
: nested === null
|
|
88
|
+
? `the close marker on line ${closeLine} is text in the header.`
|
|
89
|
+
: `the close marker on line ${closeLine} belongs to the block comment opened ${lineOf(content, nested) === closeLine
|
|
90
|
+
? 'on the same line'
|
|
91
|
+
: `at line ${lineOf(content, nested)}`}.`;
|
|
92
|
+
throw new Error(`${label}the doxygen header is closed at line ${closeLine}, before its **/ terminator at line ${terminatorLine}: ` +
|
|
93
|
+
`${cause} ` +
|
|
94
|
+
`SAS block comments do not nest - a block comment ends at the first close marker it meets - so ${affected} - including the header's closing **/ - would be compiled as SAS. ` +
|
|
95
|
+
(reword
|
|
96
|
+
? `Reword the header text so that it holds no comment terminator.`
|
|
97
|
+
: `Remove the block comment from the header, or move it below the header.`));
|
|
98
|
+
};
|
|
99
|
+
exports.throwIfDoxygenHeaderClosesEarly = throwIfDoxygenHeaderClosesEarly;
|
|
100
|
+
//# sourceMappingURL=doxygenHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doxygenHeader.js","sourceRoot":"","sources":["../../src/compileTree/doxygenHeader.ts"],"names":[],"mappings":"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"}
|
package/compileTree/index.d.ts
CHANGED
package/compileTree/index.js
CHANGED
|
@@ -11,4 +11,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./compileTree"), exports);
|
|
14
|
+
__exportStar(require("./doxygenHeader"), exports);
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
package/compileTree/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compileTree/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/compileTree/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gDAA6B;AAC7B,kDAA+B"}
|
package/file/file.d.ts
CHANGED
|
@@ -7,8 +7,20 @@ export declare function folderExists(folderPath: string): Promise<boolean>;
|
|
|
7
7
|
* Returns the paths of every file named `fileName` at or below `folder`.
|
|
8
8
|
* Node's own fs covers this now, so it replaces the unmaintained `find`
|
|
9
9
|
* package. Unreadable folders are skipped rather than throwing.
|
|
10
|
+
*
|
|
11
|
+
* The first lookup in a folder indexes it; later lookups are answered from that
|
|
12
|
+
* index. `clearFileSearchIndex` forgets them, which is what a caller that adds
|
|
13
|
+
* or removes files after a lookup has to do.
|
|
10
14
|
*/
|
|
11
15
|
export declare function findFilesByName(fileName: string, folder: string): string[];
|
|
16
|
+
/**
|
|
17
|
+
* Forgets every indexed folder.
|
|
18
|
+
*
|
|
19
|
+
* Anything that creates, renames or deletes files and then looks them up in the
|
|
20
|
+
* same process has to call this first, or the lookup answers from the tree as
|
|
21
|
+
* it was when the folder was first searched.
|
|
22
|
+
*/
|
|
23
|
+
export declare const clearFileSearchIndex: () => void;
|
|
12
24
|
export declare function isFolder(inputPath: string): Promise<boolean>;
|
|
13
25
|
export declare function readFile(fileName: string, encoding?: BufferEncoding): Promise<string>;
|
|
14
26
|
export declare function readFileBinary(fileName: string): Promise<Buffer>;
|
package/file/file.js
CHANGED
|
@@ -31,7 +31,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
31
31
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
32
32
|
};
|
|
33
33
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
-
exports.getLineEnding = exports.isTestFile = exports.testFileRegExp = exports.createReadStream = exports.createWriteStream = exports.getRealPath = exports.base64EncodeFile = exports.base64EncodeImageFile = exports.pathSepEscaped = exports.copy = exports.moveFile = exports.getRelativePath = exports.unifyFilePath = exports.deleteFolder = exports.deleteFile = exports.createFile = exports.createFolder = exports.listFilesAndSubFoldersInFolder = exports.listSubFoldersInFolder = exports.listSasFilesInFolder = exports.listIniFilesInFolder = exports.listFilesInFolder = exports.readFileBinary = exports.readFile = exports.isFolder = exports.findFilesByName = exports.folderExists = exports.fileExists = void 0;
|
|
34
|
+
exports.getLineEnding = exports.isTestFile = exports.testFileRegExp = exports.createReadStream = exports.createWriteStream = exports.getRealPath = exports.base64EncodeFile = exports.base64EncodeImageFile = exports.pathSepEscaped = exports.copy = exports.moveFile = exports.getRelativePath = exports.unifyFilePath = exports.deleteFolder = exports.deleteFile = exports.createFile = exports.createFolder = exports.listFilesAndSubFoldersInFolder = exports.listSubFoldersInFolder = exports.listSasFilesInFolder = exports.listIniFilesInFolder = exports.listFilesInFolder = exports.readFileBinary = exports.readFile = exports.isFolder = exports.clearFileSearchIndex = exports.findFilesByName = exports.folderExists = exports.fileExists = void 0;
|
|
35
35
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
36
36
|
const path_1 = __importDefault(require("path"));
|
|
37
37
|
const utils_1 = require("../utils");
|
|
@@ -55,13 +55,62 @@ function folderExists(folderPath) {
|
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
exports.folderExists = folderExists;
|
|
58
|
+
/**
|
|
59
|
+
* Folders already walked, keyed by resolved path.
|
|
60
|
+
*
|
|
61
|
+
* A caller asks for one file name at a time across the whole search path, and
|
|
62
|
+
* asks thousands of times over the same handful of folders - a compile resolves
|
|
63
|
+
* every declared macro of every file against the project's macro folders and
|
|
64
|
+
* @sasjs/core. The walk is the expensive part (one `readdir` per directory, per
|
|
65
|
+
* name), and what it finds does not change while a command runs, so each folder
|
|
66
|
+
* is walked once.
|
|
67
|
+
*/
|
|
68
|
+
const folderIndex = new Map();
|
|
58
69
|
/**
|
|
59
70
|
* Returns the paths of every file named `fileName` at or below `folder`.
|
|
60
71
|
* Node's own fs covers this now, so it replaces the unmaintained `find`
|
|
61
72
|
* package. Unreadable folders are skipped rather than throwing.
|
|
73
|
+
*
|
|
74
|
+
* The first lookup in a folder indexes it; later lookups are answered from that
|
|
75
|
+
* index. `clearFileSearchIndex` forgets them, which is what a caller that adds
|
|
76
|
+
* or removes files after a lookup has to do.
|
|
62
77
|
*/
|
|
63
78
|
function findFilesByName(fileName, folder) {
|
|
64
|
-
const
|
|
79
|
+
const key = path_1.default.resolve(folder);
|
|
80
|
+
let index = folderIndex.get(key);
|
|
81
|
+
if (!index) {
|
|
82
|
+
index = indexFolder(folder);
|
|
83
|
+
// A folder that cannot be read is not remembered: it can be created later
|
|
84
|
+
// in the same process, and a cached empty result would hide its files.
|
|
85
|
+
if (index)
|
|
86
|
+
folderIndex.set(key, index);
|
|
87
|
+
}
|
|
88
|
+
// A copy, so a caller adding to the result cannot change the index.
|
|
89
|
+
return index ? [...(index.get(fileName) || [])] : [];
|
|
90
|
+
}
|
|
91
|
+
exports.findFilesByName = findFilesByName;
|
|
92
|
+
/**
|
|
93
|
+
* Forgets every indexed folder.
|
|
94
|
+
*
|
|
95
|
+
* Anything that creates, renames or deletes files and then looks them up in the
|
|
96
|
+
* same process has to call this first, or the lookup answers from the tree as
|
|
97
|
+
* it was when the folder was first searched.
|
|
98
|
+
*/
|
|
99
|
+
const clearFileSearchIndex = () => folderIndex.clear();
|
|
100
|
+
exports.clearFileSearchIndex = clearFileSearchIndex;
|
|
101
|
+
/**
|
|
102
|
+
* Walks a folder once, collecting every file path by name. Returns undefined
|
|
103
|
+
* when the folder itself cannot be read; unreadable subfolders are skipped, as
|
|
104
|
+
* they always have been.
|
|
105
|
+
*/
|
|
106
|
+
const indexFolder = (folder) => {
|
|
107
|
+
try {
|
|
108
|
+
fs_extra_1.default.readdirSync(folder, { withFileTypes: true });
|
|
109
|
+
}
|
|
110
|
+
catch (_) {
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
const index = new Map();
|
|
65
114
|
const walk = (dir) => {
|
|
66
115
|
let entries;
|
|
67
116
|
try {
|
|
@@ -72,16 +121,20 @@ function findFilesByName(fileName, folder) {
|
|
|
72
121
|
}
|
|
73
122
|
for (const entry of entries) {
|
|
74
123
|
const entryPath = path_1.default.join(dir, entry.name);
|
|
75
|
-
if (entry.isDirectory())
|
|
124
|
+
if (entry.isDirectory()) {
|
|
76
125
|
walk(entryPath);
|
|
77
|
-
|
|
78
|
-
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
const paths = index.get(entry.name);
|
|
129
|
+
if (paths)
|
|
130
|
+
paths.push(entryPath);
|
|
131
|
+
else
|
|
132
|
+
index.set(entry.name, [entryPath]);
|
|
79
133
|
}
|
|
80
134
|
};
|
|
81
135
|
walk(folder);
|
|
82
|
-
return
|
|
83
|
-
}
|
|
84
|
-
exports.findFilesByName = findFilesByName;
|
|
136
|
+
return index;
|
|
137
|
+
};
|
|
85
138
|
function isFolder(inputPath) {
|
|
86
139
|
return __awaiter(this, void 0, void 0, function* () {
|
|
87
140
|
return fs_extra_1.default.promises
|
package/file/file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/file/file.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAyB;AACzB,gDAAuB;AACvB,oCAAuC;AACvC,wCAAyB;AACzB,oCAAsC;AAEtC,SAAsB,UAAU,CAAC,QAAgB;;QAC/C,OAAO,kBAAE,CAAC,QAAQ;aACf,MAAM,CAAC,QAAQ,EAAE,kBAAE,CAAC,SAAS,CAAC,IAAI,CAAC;aACnC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;CAAA;AALD,gCAKC;AAED,SAAsB,YAAY,CAAC,UAAkB;;QACnD,OAAO,kBAAE,CAAC,QAAQ;aACf,MAAM,CAAC,UAAU,EAAE,kBAAE,CAAC,SAAS,CAAC,IAAI,CAAC;aACrC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;IACvB,CAAC;CAAA;AALD,oCAKC;AAED
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/file/file.ts"],"names":[],"mappings":"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"}
|
package/file/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { fileExists, folderExists, findFilesByName, isFolder, readFile, readFileBinary, listFilesInFolder, listIniFilesInFolder, listSasFilesInFolder, listSubFoldersInFolder, listFilesAndSubFoldersInFolder, createFile, createFolder, createReadStream, createWriteStream, deleteFile, deleteFolder, getRelativePath, unifyFilePath, moveFile, pathSepEscaped, copy, base64EncodeImageFile, base64EncodeFile, getRealPath, isTestFile, testFileRegExp, getLineEnding } from './file';
|
|
1
|
+
export { fileExists, folderExists, findFilesByName, clearFileSearchIndex, isFolder, readFile, readFileBinary, listFilesInFolder, listIniFilesInFolder, listSasFilesInFolder, listSubFoldersInFolder, listFilesAndSubFoldersInFolder, createFile, createFolder, createReadStream, createWriteStream, deleteFile, deleteFolder, getRelativePath, unifyFilePath, moveFile, pathSepEscaped, copy, base64EncodeImageFile, base64EncodeFile, getRealPath, isTestFile, testFileRegExp, getLineEnding } from './file';
|
|
2
2
|
export { updateCsv, createCsv, readCsv } from './csvFile';
|
|
3
3
|
export * from './getAbsolutePath';
|
package/file/index.js
CHANGED
|
@@ -10,11 +10,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
-
exports.readCsv = exports.createCsv = exports.updateCsv = exports.getLineEnding = exports.testFileRegExp = exports.isTestFile = exports.getRealPath = exports.base64EncodeFile = exports.base64EncodeImageFile = exports.copy = exports.pathSepEscaped = exports.moveFile = exports.unifyFilePath = exports.getRelativePath = exports.deleteFolder = exports.deleteFile = exports.createWriteStream = exports.createReadStream = exports.createFolder = exports.createFile = exports.listFilesAndSubFoldersInFolder = exports.listSubFoldersInFolder = exports.listSasFilesInFolder = exports.listIniFilesInFolder = exports.listFilesInFolder = exports.readFileBinary = exports.readFile = exports.isFolder = exports.findFilesByName = exports.folderExists = exports.fileExists = void 0;
|
|
13
|
+
exports.readCsv = exports.createCsv = exports.updateCsv = exports.getLineEnding = exports.testFileRegExp = exports.isTestFile = exports.getRealPath = exports.base64EncodeFile = exports.base64EncodeImageFile = exports.copy = exports.pathSepEscaped = exports.moveFile = exports.unifyFilePath = exports.getRelativePath = exports.deleteFolder = exports.deleteFile = exports.createWriteStream = exports.createReadStream = exports.createFolder = exports.createFile = exports.listFilesAndSubFoldersInFolder = exports.listSubFoldersInFolder = exports.listSasFilesInFolder = exports.listIniFilesInFolder = exports.listFilesInFolder = exports.readFileBinary = exports.readFile = exports.isFolder = exports.clearFileSearchIndex = exports.findFilesByName = exports.folderExists = exports.fileExists = void 0;
|
|
14
14
|
var file_1 = require("./file");
|
|
15
15
|
Object.defineProperty(exports, "fileExists", { enumerable: true, get: function () { return file_1.fileExists; } });
|
|
16
16
|
Object.defineProperty(exports, "folderExists", { enumerable: true, get: function () { return file_1.folderExists; } });
|
|
17
17
|
Object.defineProperty(exports, "findFilesByName", { enumerable: true, get: function () { return file_1.findFilesByName; } });
|
|
18
|
+
Object.defineProperty(exports, "clearFileSearchIndex", { enumerable: true, get: function () { return file_1.clearFileSearchIndex; } });
|
|
18
19
|
Object.defineProperty(exports, "isFolder", { enumerable: true, get: function () { return file_1.isFolder; } });
|
|
19
20
|
Object.defineProperty(exports, "readFile", { enumerable: true, get: function () { return file_1.readFile; } });
|
|
20
21
|
Object.defineProperty(exports, "readFileBinary", { enumerable: true, get: function () { return file_1.readFileBinary; } });
|
package/file/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/file/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/file/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,+BA8Be;AA7Bb,kGAAA,UAAU,OAAA;AACV,oGAAA,YAAY,OAAA;AACZ,uGAAA,eAAe,OAAA;AACf,4GAAA,oBAAoB,OAAA;AACpB,gGAAA,QAAQ,OAAA;AACR,gGAAA,QAAQ,OAAA;AACR,sGAAA,cAAc,OAAA;AACd,yGAAA,iBAAiB,OAAA;AACjB,4GAAA,oBAAoB,OAAA;AACpB,4GAAA,oBAAoB,OAAA;AACpB,8GAAA,sBAAsB,OAAA;AACtB,sHAAA,8BAA8B,OAAA;AAC9B,kGAAA,UAAU,OAAA;AACV,oGAAA,YAAY,OAAA;AACZ,wGAAA,gBAAgB,OAAA;AAChB,yGAAA,iBAAiB,OAAA;AACjB,kGAAA,UAAU,OAAA;AACV,oGAAA,YAAY,OAAA;AACZ,uGAAA,eAAe,OAAA;AACf,qGAAA,aAAa,OAAA;AACb,gGAAA,QAAQ,OAAA;AACR,sGAAA,cAAc,OAAA;AACd,4FAAA,IAAI,OAAA;AACJ,6GAAA,qBAAqB,OAAA;AACrB,wGAAA,gBAAgB,OAAA;AAChB,mGAAA,WAAW,OAAA;AACX,kGAAA,UAAU,OAAA;AACV,sGAAA,cAAc,OAAA;AACd,qGAAA,aAAa,OAAA;AAGf,qCAAyD;AAAhD,oGAAA,SAAS,OAAA;AAAE,oGAAA,SAAS,OAAA;AAAE,kGAAA,OAAO,OAAA;AACtC,oDAAiC"}
|
package/package.json
CHANGED
|
@@ -15,6 +15,7 @@ const _1 = require("./");
|
|
|
15
15
|
const utils_2 = require("../utils");
|
|
16
16
|
const file_1 = require("../file");
|
|
17
17
|
const formatter_1 = require("../formatter");
|
|
18
|
+
const doxygenHeader_1 = require("../compileTree/doxygenHeader");
|
|
18
19
|
// REFACTOR: move logic supporting SAS Macros dependencies to this file
|
|
19
20
|
var DependencyType;
|
|
20
21
|
(function (DependencyType) {
|
|
@@ -74,6 +75,10 @@ const getDependencies = (fileName, fileContent, folders, depType, compileTree) =
|
|
|
74
75
|
}
|
|
75
76
|
else {
|
|
76
77
|
encodedFileContent = yield (0, file_1.readFile)(filePaths[0], depType === DependencyType.Binary ? 'base64' : undefined);
|
|
78
|
+
// Without a compile tree the file goes in as read, so its header
|
|
79
|
+
// reaches the compiled output unstripped and has to be checked here.
|
|
80
|
+
if (depType !== DependencyType.Binary)
|
|
81
|
+
(0, doxygenHeader_1.throwIfDoxygenHeaderClosesEarly)(encodedFileContent, filePaths[0]);
|
|
77
82
|
}
|
|
78
83
|
const depContent = compileDep(depType, encodedFileContent, dep.fileRef);
|
|
79
84
|
foundDeps.push(depContent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDependencies.js","sourceRoot":"","sources":["../../src/sasjsCli/getDependencies.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAAoC;AACpC,yBAA6C;AAC7C,oCAA8C;AAC9C,kCAAmD;AACnD,4CAAkD;
|
|
1
|
+
{"version":3,"file":"getDependencies.js","sourceRoot":"","sources":["../../src/sasjsCli/getDependencies.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,8 +13,10 @@ exports.getAllDependencies = exports.loadDependenciesFile = void 0;
|
|
|
13
13
|
const types_1 = require("../types");
|
|
14
14
|
const utils_1 = require("../utils");
|
|
15
15
|
const _1 = require("./");
|
|
16
|
+
const doxygenHeader_1 = require("../compileTree/doxygenHeader");
|
|
16
17
|
const file_1 = require("../file");
|
|
17
18
|
const loadDependenciesFile = ({ filePath, fileContent, configuration, target, type, programFolders, macroFolders, buildSourceFolder, macroCorePath, binaryFolders, compileTree }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
+
(0, doxygenHeader_1.throwIfDoxygenHeaderClosesEarly)(fileContent, filePath);
|
|
18
20
|
const { init, initPath, term, termPath, startUpVars, initLeaf, termLeaf } = yield (0, _1.getInitTerm)({
|
|
19
21
|
configuration,
|
|
20
22
|
target,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadDependenciesFile.js","sourceRoot":"","sources":["../../src/sasjsCli/loadDependenciesFile.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loadDependenciesFile.js","sourceRoot":"","sources":["../../src/sasjsCli/loadDependenciesFile.ts"],"names":[],"mappings":"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"}
|