@appland/appmap 3.27.1 → 3.27.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/CHANGELOG.md +8 -0
- package/built/depends.js +12 -5
- package/built/depends.js.map +1 -1
- package/built/fingerprint/fingerprinter.js +35 -32
- package/built/fingerprint/fingerprinter.js.map +1 -1
- package/built/utils.js +18 -79
- package/built/utils.js.map +1 -1
- package/package.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
# [@appland/appmap-v3.27.2](https://github.com/applandinc/appmap-js/compare/@appland/appmap-v3.27.1...@appland/appmap-v3.27.2) (2022-05-30)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* compare AppMap ctime to dependency mtime ([fd41733](https://github.com/applandinc/appmap-js/commit/fd4173372718cfabbe8c542d9bf757286404eb4d))
|
|
7
|
+
* Indexing no longer causes EXDEV on Linux ([f8b0481](https://github.com/applandinc/appmap-js/commit/f8b0481881cc48715b1dcaa6a3caeaf0782d7b08))
|
|
8
|
+
|
|
1
9
|
# [@appland/appmap-v3.27.1](https://github.com/applandinc/appmap-js/compare/@appland/appmap-v3.27.0...@appland/appmap-v3.27.1) (2022-05-27)
|
|
2
10
|
|
|
3
11
|
|
package/built/depends.js
CHANGED
|
@@ -67,11 +67,18 @@ class Depends {
|
|
|
67
67
|
if (basename(indexDir) === 'Inventory') {
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
70
|
+
let appmapCreatedAtStr;
|
|
71
|
+
try {
|
|
72
|
+
appmapCreatedAtStr = await fsp.readFile(joinPath(indexDir, 'ctime'));
|
|
73
|
+
}
|
|
74
|
+
catch (err) {
|
|
75
|
+
if (err.code !== 'ENOENT')
|
|
76
|
+
console.warn(err);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const appmapCreatedAt = parseInt(appmapCreatedAtStr, 10);
|
|
73
80
|
if (verbose()) {
|
|
74
|
-
console.warn(`Checking AppMap ${indexDir} with timestamp ${
|
|
81
|
+
console.warn(`Checking AppMap ${indexDir} with timestamp ${appmapCreatedAt}`);
|
|
75
82
|
}
|
|
76
83
|
const classMap = JSON.parse(await fsp.readFile(fileName));
|
|
77
84
|
const codeLocations = new Set();
|
|
@@ -94,7 +101,7 @@ class Depends {
|
|
|
94
101
|
if (verbose()) {
|
|
95
102
|
console.warn(`Timestamp of ${dependencyFilePath} is ${dependencyModifiedAt}`);
|
|
96
103
|
}
|
|
97
|
-
return dependencyModifiedAt &&
|
|
104
|
+
return dependencyModifiedAt && appmapCreatedAt < dependencyModifiedAt;
|
|
98
105
|
}
|
|
99
106
|
if (this.testLocations && verbose()) {
|
|
100
107
|
console.warn(`Checking whether AppMap contains any client-provided file: [ ${[
|
package/built/depends.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"depends.js","sourceRoot":"","sources":["../src/depends.js"],"names":[],"mappings":";AAAA,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;AACnC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC1E,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAE5D,qFAAqF;AACrF,gCAAgC;AAChC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3D,MAAM,OAAO;IACX;;OAEG;IACH,YAAY,SAAS;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;IACrB,CAAC;IAED;;;;;;;;OAQG;IACH,IAAI,OAAO,CAAC,OAAO;QACjB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED;;;;;;;OAOG;IACH,IAAI,KAAK,CAAC,KAAK;QACb,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,6CAA6C;YAC7C,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;SACjB;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,QAAQ;QACnB,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;YACxB,OAAO,QAAQ,CAAC;SACjB;QAED,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CAAC,QAAQ;QACpB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;QAEjC,KAAK,UAAU,aAAa,CAAC,QAAQ;YACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE;gBACtC,OAAO;aACR;YAED,
|
|
1
|
+
{"version":3,"file":"depends.js","sourceRoot":"","sources":["../src/depends.js"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,8 @@ const { join: joinPath } = require('path');
|
|
|
4
4
|
const fsp = require('fs').promises;
|
|
5
5
|
const semver = require('semver');
|
|
6
6
|
const { buildAppMap } = require('@appland/models');
|
|
7
|
-
const
|
|
7
|
+
const writeFileAtomic = require('write-file-atomic');
|
|
8
|
+
const { verbose, baseName, ctime } = require('../utils');
|
|
8
9
|
const { algorithms, canonicalize } = require('./canonicalize');
|
|
9
10
|
/**
|
|
10
11
|
* CHANGELOG
|
|
@@ -34,7 +35,7 @@ class Fingerprinter {
|
|
|
34
35
|
}
|
|
35
36
|
// eslint-disable-next-line class-methods-use-this
|
|
36
37
|
async fingerprint(appMapFileName) {
|
|
37
|
-
const appMapCreatedAt = await
|
|
38
|
+
const appMapCreatedAt = await ctime(appMapFileName);
|
|
38
39
|
if (!appMapCreatedAt) {
|
|
39
40
|
return;
|
|
40
41
|
}
|
|
@@ -98,6 +99,7 @@ class Fingerprinter {
|
|
|
98
99
|
}
|
|
99
100
|
let appmapData;
|
|
100
101
|
try {
|
|
102
|
+
// TODO: Should we normalize, compress, etc here?
|
|
101
103
|
appmapData = JSON.parse(data.toString());
|
|
102
104
|
}
|
|
103
105
|
catch (err) {
|
|
@@ -122,36 +124,37 @@ class Fingerprinter {
|
|
|
122
124
|
const fingerprints = [];
|
|
123
125
|
appmapData.metadata.fingerprints = fingerprints;
|
|
124
126
|
const appmap = buildAppMap(appmapData).normalize().build();
|
|
125
|
-
await
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
127
|
+
await fsp.mkdir(indexDir, { recursive: true });
|
|
128
|
+
await Promise.all(Object.keys(algorithms).map(async (algorithmName) => {
|
|
129
|
+
const canonicalForm = canonicalize(algorithmName, appmap);
|
|
130
|
+
const canonicalJSON = JSON.stringify(canonicalForm, null, 2);
|
|
131
|
+
if (this.printCanonicalAppMaps) {
|
|
132
|
+
await writeFileAtomic(joinPath(indexDir, `canonical.${algorithmName}.json`), canonicalJSON);
|
|
133
|
+
}
|
|
134
|
+
const fingerprintDigest = createHash('sha256')
|
|
135
|
+
.update(canonicalJSON)
|
|
136
|
+
.digest('hex');
|
|
137
|
+
if (verbose()) {
|
|
138
|
+
console.warn(`Computed digest for ${algorithmName}`);
|
|
139
|
+
}
|
|
140
|
+
fingerprints.push({
|
|
141
|
+
appmap_digest: appmapDigest,
|
|
142
|
+
canonicalization_algorithm: algorithmName,
|
|
143
|
+
digest: fingerprintDigest,
|
|
144
|
+
fingerprint_algorithm: 'sha256',
|
|
145
|
+
});
|
|
146
|
+
}));
|
|
147
|
+
appmapData.metadata.fingerprints.sort((a, b) => a.canonicalization_algorithm.localeCompare(b.canonicalization_algorithm));
|
|
148
|
+
await writeFileAtomic(appMapFileName, JSON.stringify(appmapData, null, 2));
|
|
149
|
+
const appMapIndexedAt = await ctime(appMapFileName);
|
|
150
|
+
await writeFileAtomic(joinPath(indexDir, 'ctime'), `${appMapCreatedAt}`);
|
|
151
|
+
await writeFileAtomic(joinPath(indexDir, 'version'), VERSION);
|
|
152
|
+
await writeFileAtomic(joinPath(indexDir, 'classMap.json'), JSON.stringify(appmap.classMap, null, 2));
|
|
153
|
+
await writeFileAtomic(joinPath(indexDir, 'metadata.json'), JSON.stringify(appmap.metadata, null, 2));
|
|
154
|
+
// NOTE: mtime needs to be written last.
|
|
155
|
+
// Downstream code will watch for this file and assume
|
|
156
|
+
// indexing is complete once it changes.
|
|
157
|
+
await writeFileAtomic(joinPath(indexDir, 'mtime'), `${appMapIndexedAt}`);
|
|
155
158
|
this.counterFn();
|
|
156
159
|
}
|
|
157
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprinter.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprinter.js"],"names":[],"mappings":";AAAA,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACzC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;AACnC,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjC,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"fingerprinter.js","sourceRoot":"","sources":["../../src/fingerprint/fingerprinter.js"],"names":[],"mappings":"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"}
|
package/built/utils.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* eslint-disable func-names */
|
|
3
|
-
const { constants: fsConstants, promises: fsp
|
|
4
|
-
const fsExtra = require('fs-extra');
|
|
3
|
+
const { constants: fsConstants, promises: fsp } = require('fs');
|
|
5
4
|
const { queue } = require('async');
|
|
6
5
|
const glob = require('glob');
|
|
7
|
-
const
|
|
8
|
-
const { sep: pathSep, join: joinPath, basename, join } = require('path');
|
|
6
|
+
const { join: joinPath } = require('path');
|
|
9
7
|
const { buildAppMap } = require('@appland/models');
|
|
10
|
-
const { rename } = require('fs/promises');
|
|
11
8
|
const StartTime = Date.now();
|
|
12
9
|
function endTime() {
|
|
13
10
|
return (Date.now() - StartTime) / 1000;
|
|
@@ -19,10 +16,10 @@ function verbose(/** @type {boolean|null} */ v = null) {
|
|
|
19
16
|
}
|
|
20
17
|
return isVerbose;
|
|
21
18
|
}
|
|
22
|
-
function baseName(fileName) {
|
|
19
|
+
function baseName(/** @type string */ fileName) {
|
|
23
20
|
return fileName.substring(0, fileName.length - '.appmap.json'.length);
|
|
24
21
|
}
|
|
25
|
-
async function
|
|
22
|
+
async function ctime(filePath) {
|
|
26
23
|
let fileStat;
|
|
27
24
|
try {
|
|
28
25
|
fileStat = await fsp.stat(filePath);
|
|
@@ -35,6 +32,19 @@ async function mtime(filePath) {
|
|
|
35
32
|
}
|
|
36
33
|
return fileStat.ctime.getTime();
|
|
37
34
|
}
|
|
35
|
+
async function mtime(filePath) {
|
|
36
|
+
let fileStat;
|
|
37
|
+
try {
|
|
38
|
+
fileStat = await fsp.stat(filePath);
|
|
39
|
+
}
|
|
40
|
+
catch (e) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
if (!fileStat.isFile()) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
return fileStat.mtime.getTime();
|
|
47
|
+
}
|
|
38
48
|
/**
|
|
39
49
|
* Call a function with each matching file. No guarantee is given that
|
|
40
50
|
* files will be processed in any particular order.
|
|
@@ -112,76 +122,6 @@ async function loadAppMap(filePath) {
|
|
|
112
122
|
.normalize()
|
|
113
123
|
.build();
|
|
114
124
|
}
|
|
115
|
-
const renameFile = async (oldName, newName) => fsExtra.move(oldName, newName, { clobber: true });
|
|
116
|
-
/**
|
|
117
|
-
* @param {string} path
|
|
118
|
-
*/
|
|
119
|
-
async function touch(path) {
|
|
120
|
-
return new Promise((resolve) => {
|
|
121
|
-
const time = Date.now();
|
|
122
|
-
utimes(path, time, time, (utimesErr) => {
|
|
123
|
-
if (utimesErr) {
|
|
124
|
-
console.warn(utimesErr);
|
|
125
|
-
}
|
|
126
|
-
return resolve();
|
|
127
|
-
});
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Builds a directory using a tempdir, which is renamed at the end to
|
|
132
|
-
* a specified directory name.
|
|
133
|
-
*
|
|
134
|
-
* @param {string} dirName
|
|
135
|
-
* @param {function} contentFunction
|
|
136
|
-
*/
|
|
137
|
-
const buildDirectory = async (dirName, contentFunction) => {
|
|
138
|
-
const tempPath = await fsp.realpath(os.tmpdir());
|
|
139
|
-
const tempDir = await fsp.mkdtemp(tempPath + pathSep);
|
|
140
|
-
const discardDir = await fsp.mkdtemp(tempPath + pathSep);
|
|
141
|
-
try {
|
|
142
|
-
await contentFunction(tempDir);
|
|
143
|
-
}
|
|
144
|
-
catch (err) {
|
|
145
|
-
rm(tempDir, { recursive: true }, (e) => {
|
|
146
|
-
console.warn(`Unable to remove (cleanup) tempdir: ${e.message}`);
|
|
147
|
-
});
|
|
148
|
-
throw err;
|
|
149
|
-
}
|
|
150
|
-
// Move dirName to a temp dir
|
|
151
|
-
// Move tempDir to the final dirName
|
|
152
|
-
try {
|
|
153
|
-
await rename(dirName, join(discardDir, basename(dirName)));
|
|
154
|
-
setTimeout(() => rm(discardDir, { recursive: true }, (err) => {
|
|
155
|
-
if (err)
|
|
156
|
-
console.warn(err);
|
|
157
|
-
}), 0);
|
|
158
|
-
}
|
|
159
|
-
catch (e) {
|
|
160
|
-
if (e.code !== 'ENOENT') {
|
|
161
|
-
console.log(`Unable to rename ${dirName} to ${discardDir}: ${e.message}`);
|
|
162
|
-
throw e;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
try {
|
|
166
|
-
await rename(tempDir, dirName);
|
|
167
|
-
}
|
|
168
|
-
catch (e) {
|
|
169
|
-
console.log(`Unable to rename ${tempDir} to ${dirName}: ${e.message}`);
|
|
170
|
-
return;
|
|
171
|
-
}
|
|
172
|
-
// Touch all the created files. This is to ensure that file watchers are notified, because
|
|
173
|
-
// when the directory is renamed into place, filesystem watchers may not report on all the
|
|
174
|
-
// files inside the directory.
|
|
175
|
-
readdir(dirName, (readErr, files) => {
|
|
176
|
-
if (readErr) {
|
|
177
|
-
console.warn(`Unable to read directory ${dirName}: ${readErr.message}`);
|
|
178
|
-
return;
|
|
179
|
-
}
|
|
180
|
-
files
|
|
181
|
-
.filter((file) => !['.', '..'].includes(file))
|
|
182
|
-
.map((file) => touch(join(dirName, file)));
|
|
183
|
-
});
|
|
184
|
-
};
|
|
185
125
|
function formatValue(value) {
|
|
186
126
|
if (!value) {
|
|
187
127
|
return 'Null';
|
|
@@ -217,11 +157,10 @@ module.exports = {
|
|
|
217
157
|
formatHttpServerRequest,
|
|
218
158
|
listAppMapFiles,
|
|
219
159
|
loadAppMap,
|
|
160
|
+
ctime,
|
|
220
161
|
mtime,
|
|
221
162
|
verbose,
|
|
222
163
|
processFiles,
|
|
223
|
-
buildDirectory,
|
|
224
|
-
renameFile,
|
|
225
164
|
exists,
|
|
226
165
|
prefixLines,
|
|
227
166
|
};
|
package/built/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.js"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appland/appmap",
|
|
3
|
-
"version": "3.27.
|
|
3
|
+
"version": "3.27.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"bin": "built/cli.js",
|
|
6
6
|
"publishConfig": {
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"@types/sinon": "^10.0.2",
|
|
35
35
|
"@types/tmp": "^0.2.3",
|
|
36
36
|
"@types/w3c-xmlserializer": "^2.0.2",
|
|
37
|
+
"@types/write-file-atomic": "^4.0.0",
|
|
37
38
|
"copy-webpack-plugin": "^9.0.1",
|
|
38
39
|
"crypto": "^1.0.1",
|
|
39
40
|
"css-loader": "^6.2.0",
|
|
@@ -99,6 +100,7 @@
|
|
|
99
100
|
"semver": "^7.3.5",
|
|
100
101
|
"supports-hyperlinks": "^2.2.0",
|
|
101
102
|
"w3c-xmlserializer": "^2.0.0",
|
|
103
|
+
"write-file-atomic": "^4.0.1",
|
|
102
104
|
"yargs": "^17.1.1"
|
|
103
105
|
}
|
|
104
106
|
}
|