@atlaspack/query 2.14.8 → 2.14.10

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 CHANGED
@@ -1,5 +1,22 @@
1
1
  # @atlaspack/query
2
2
 
3
+ ## 2.14.10
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`51aba5f`](https://github.com/atlassian-labs/atlaspack/commit/51aba5fc0e49235ee06bbc3c376f48c3e7da5c4b), [`1e32d4e`](https://github.com/atlassian-labs/atlaspack/commit/1e32d4eae6b3af3968e8a0ef97d35b4347fd4196), [`0b2f6f5`](https://github.com/atlassian-labs/atlaspack/commit/0b2f6f55794d3ff6e2f5a41f963e7e5dd8ad9f8d), [`6dd4ccb`](https://github.com/atlassian-labs/atlaspack/commit/6dd4ccb753541de32322d881f973d571dd57e4ca)]:
8
+ - @atlaspack/core@2.18.0
9
+ - @atlaspack/cache@3.2.5
10
+
11
+ ## 2.14.9
12
+
13
+ ### Patch Changes
14
+
15
+ - Updated dependencies [[`1940859`](https://github.com/atlassian-labs/atlaspack/commit/194085942f0e86532e9d039fc3f8039badce4594), [`15b6155`](https://github.com/atlassian-labs/atlaspack/commit/15b61556e9114203ebbc9de94b864118ca764598), [`124b7ff`](https://github.com/atlassian-labs/atlaspack/commit/124b7fff44f71aac9fbad289a9a9509b3dfc9aaa), [`209692f`](https://github.com/atlassian-labs/atlaspack/commit/209692ffb11eae103a0d65c5e1118a5aa1625818), [`d04de26`](https://github.com/atlassian-labs/atlaspack/commit/d04de26af684d7abfba5091fbe3df16a12cd0ebc)]:
16
+ - @atlaspack/core@2.17.4
17
+ - @atlaspack/cache@3.2.4
18
+ - @atlaspack/graph@3.4.7
19
+
3
20
  ## 2.14.8
4
21
 
5
22
  ### Patch Changes
package/lib/index.js CHANGED
@@ -4,20 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.loadGraphs = loadGraphs;
7
- function _fs() {
8
- const data = _interopRequireDefault(require("fs"));
9
- _fs = function () {
10
- return data;
11
- };
12
- return data;
13
- }
14
- function _path() {
15
- const data = _interopRequireDefault(require("path"));
16
- _path = function () {
17
- return data;
18
- };
19
- return data;
20
- }
21
7
  function _v() {
22
8
  const data = _interopRequireDefault(require("v8"));
23
9
  _v = function () {
@@ -55,51 +41,47 @@ const {
55
41
  } = require('./deep-imports.js');
56
42
  async function loadGraphs(cacheDir) {
57
43
  let cacheInfo = new Map();
58
- let {
44
+ const cache = new LMDBLiteCache(cacheDir);
45
+ let requestGraphBlob;
46
+ let requestGraphKey;
47
+ let bundleGraphBlob;
48
+ let assetGraphBlob;
49
+ for (let key of cache.keys()) {
50
+ if (key.startsWith('Asset/')) {
51
+ continue;
52
+ } else if (key.startsWith('PackagerRunner/')) {
53
+ continue;
54
+ }
55
+ if (key.startsWith('RequestTracker/') && key.endsWith('/RequestGraph')) {
56
+ requestGraphBlob = key;
57
+ requestGraphKey = key.split('/').slice(0, -1).join('/');
58
+ }
59
+ if (key.startsWith('BundleGraph/')) {
60
+ bundleGraphBlob = key;
61
+ }
62
+ if (key.startsWith('AssetGraph/')) {
63
+ assetGraphBlob = key;
64
+ }
65
+ }
66
+ console.log({
59
67
  requestGraphBlob,
60
68
  bundleGraphBlob,
61
69
  assetGraphBlob
62
- } = function getMostRecentCacheBlobs() {
63
- let files = _fs().default.readdirSync(cacheDir);
64
- let result = {};
65
- let blobsToFind = [{
66
- name: 'requestGraphBlob',
67
- check: basename => basename.startsWith('requestGraph-') && !basename.startsWith('requestGraph-nodes')
68
- }, {
69
- name: 'bundleGraphBlob',
70
- check: basename => basename.endsWith('BundleGraph-0')
71
- }, {
72
- name: 'assetGraphBlob',
73
- check: basename => basename.endsWith('AssetGraph-0')
74
- }];
75
- for (let file of files) {
76
- let basename = _path().default.basename(file);
77
- let match = blobsToFind.find(({
78
- check
79
- }) => check(basename));
80
- if (match) {
81
- let stat = _fs().default.statSync(_path().default.join(cacheDir, file));
82
- if (!match.mtime || stat.mtime > match.mtime) {
83
- match.mtime = stat.mtime;
84
- result[match.name] = file;
85
- }
86
- }
87
- }
88
- return result;
89
- }();
90
- const cache = new LMDBLiteCache(cacheDir);
70
+ });
91
71
 
92
72
  // Get requestTracker
93
73
  let requestTracker;
94
- if (requestGraphBlob) {
74
+ if (requestGraphBlob != null && requestGraphKey != null) {
95
75
  try {
96
76
  var _cacheInfo$get;
97
- let requestGraphKey = requestGraphBlob.slice(0, -'-0'.length);
98
77
  let date = Date.now();
78
+ const buffer = await cache.getBlob(requestGraphBlob);
79
+ const deserializer = new (_v().default.Deserializer)(buffer);
80
+ console.log('Wire format version stored', deserializer.getWireFormatVersion());
99
81
  let {
100
82
  requestGraph,
101
83
  bufferLength
102
- } = await readAndDeserializeRequestGraph(cache, requestGraphKey, requestGraphKey.replace('requestGraph-', ''));
84
+ } = await readAndDeserializeRequestGraph(cache, requestGraphBlob, requestGraphKey);
103
85
  requestTracker = new RequestTracker({
104
86
  graph: requestGraph,
105
87
  // $FlowFixMe
@@ -111,16 +93,16 @@ async function loadGraphs(cacheDir) {
111
93
  cacheInfo.set('RequestGraph', [bufferLength]);
112
94
  (_cacheInfo$get = cacheInfo.get('RequestGraph')) === null || _cacheInfo$get === void 0 || _cacheInfo$get.push(timeToDeserialize);
113
95
  } catch (e) {
114
- console.log('Error loading Request Graph\n', e);
96
+ console.error('Error loading Request Graph\n', e);
115
97
  }
116
98
  }
117
99
 
118
100
  // Get bundleGraph
119
101
  let bundleGraph;
120
- if (bundleGraphBlob) {
102
+ if (bundleGraphBlob != null) {
121
103
  try {
122
104
  var _cacheInfo$get2;
123
- let file = await cache.getLargeBlob(_path().default.basename(bundleGraphBlob).slice(0, -'-0'.length));
105
+ let file = await cache.getBlob(bundleGraphBlob);
124
106
  let timeToDeserialize = Date.now();
125
107
  let obj = _v().default.deserialize(file);
126
108
  (0, _assert().default)(obj.bundleGraph != null);
@@ -129,17 +111,17 @@ async function loadGraphs(cacheDir) {
129
111
  cacheInfo.set('BundleGraph', [Buffer.byteLength(file)]);
130
112
  (_cacheInfo$get2 = cacheInfo.get('BundleGraph')) === null || _cacheInfo$get2 === void 0 || _cacheInfo$get2.push(timeToDeserialize);
131
113
  } catch (e) {
132
- console.log('Error loading Bundle Graph\n', e);
114
+ console.error('Error loading Bundle Graph\n', e);
133
115
  }
134
116
  }
135
117
 
136
118
  // Get assetGraph
137
119
  let assetGraph;
138
- if (assetGraphBlob) {
120
+ if (assetGraphBlob != null) {
139
121
  try {
140
122
  var _cacheInfo$get3;
141
123
  // TODO: this should be reviewed when `cachePerformanceImprovements` flag is removed, as we'll be writing files to LMDB cache instead of large blobs
142
- let file = await cache.getLargeBlob(_path().default.basename(assetGraphBlob).slice(0, -'-0'.length));
124
+ let file = await cache.getBlob(assetGraphBlob);
143
125
  let timeToDeserialize = Date.now();
144
126
  let obj = _v().default.deserialize(file);
145
127
  (0, _assert().default)(obj.assetGraph != null);
@@ -148,7 +130,7 @@ async function loadGraphs(cacheDir) {
148
130
  cacheInfo.set('AssetGraph', [Buffer.byteLength(file)]);
149
131
  (_cacheInfo$get3 = cacheInfo.get('AssetGraph')) === null || _cacheInfo$get3 === void 0 || _cacheInfo$get3.push(timeToDeserialize);
150
132
  } catch (e) {
151
- console.log('Error loading Asset Graph\n', e);
133
+ console.error('Error loading Asset Graph\n', e);
152
134
  }
153
135
  }
154
136
  function getSubRequests(id) {
@@ -170,7 +152,7 @@ async function loadGraphs(cacheDir) {
170
152
  bundleInfo = (0, _nullthrows().default)(writeBundlesRequest.result);
171
153
  }
172
154
  } catch (e) {
173
- console.log('Error loading bundleInfo\n', e);
155
+ console.error('Error loading bundleInfo\n', e);
174
156
  }
175
157
  return {
176
158
  assetGraph,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaspack/query",
3
- "version": "2.14.8",
3
+ "version": "2.14.10",
4
4
  "license": "(MIT OR Apache-2.0)",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -18,9 +18,9 @@
18
18
  },
19
19
  "main": "src/index.js",
20
20
  "dependencies": {
21
- "@atlaspack/cache": "3.2.3",
22
- "@atlaspack/core": "2.17.3",
23
- "@atlaspack/graph": "3.4.6",
21
+ "@atlaspack/cache": "3.2.5",
22
+ "@atlaspack/core": "2.18.0",
23
+ "@atlaspack/graph": "3.4.7",
24
24
  "nullthrows": "^1.1.1",
25
25
  "table": "^6.8.1",
26
26
  "v8-compile-cache": "^2.0.0"
package/src/index.js CHANGED
@@ -3,8 +3,6 @@
3
3
  import type {ContentKey, NodeId} from '@atlaspack/graph';
4
4
  import type {PackagedBundleInfo} from '@atlaspack/core/src/types';
5
5
 
6
- import fs from 'fs';
7
- import path from 'path';
8
6
  import v8 from 'v8';
9
7
  import nullthrows from 'nullthrows';
10
8
  import invariant from 'assert';
@@ -27,65 +25,51 @@ export async function loadGraphs(cacheDir: string): Promise<{|
27
25
  bundleInfo: ?Map<ContentKey, PackagedBundleInfo>,
28
26
  cacheInfo: ?Map<string, Array<string | number>>,
29
27
  |}> {
30
- function getMostRecentCacheBlobs() {
31
- let files = fs.readdirSync(cacheDir);
32
-
33
- let result = {};
34
-
35
- let blobsToFind: Array<{|
36
- name: string,
37
- check: (v: string) => boolean,
38
- mtime?: Date,
39
- |}> = [
40
- {
41
- name: 'requestGraphBlob',
42
- check: (basename) =>
43
- basename.startsWith('requestGraph-') &&
44
- !basename.startsWith('requestGraph-nodes'),
45
- },
46
- {
47
- name: 'bundleGraphBlob',
48
- check: (basename) => basename.endsWith('BundleGraph-0'),
49
- },
50
- {
51
- name: 'assetGraphBlob',
52
- check: (basename) => basename.endsWith('AssetGraph-0'),
53
- },
54
- ];
55
-
56
- for (let file of files) {
57
- let basename = path.basename(file);
58
- let match = blobsToFind.find(({check}) => check(basename));
59
-
60
- if (match) {
61
- let stat = fs.statSync(path.join(cacheDir, file));
62
-
63
- if (!match.mtime || stat.mtime > match.mtime) {
64
- match.mtime = stat.mtime;
65
- result[match.name] = file;
66
- }
67
- }
28
+ let cacheInfo: Map<string, Array<string | number>> = new Map();
29
+ const cache = new LMDBLiteCache(cacheDir);
30
+
31
+ let requestGraphBlob;
32
+ let requestGraphKey;
33
+ let bundleGraphBlob;
34
+ let assetGraphBlob;
35
+ for (let key of cache.keys()) {
36
+ if (key.startsWith('Asset/')) {
37
+ continue;
38
+ } else if (key.startsWith('PackagerRunner/')) {
39
+ continue;
68
40
  }
69
41
 
70
- return result;
42
+ if (key.startsWith('RequestTracker/') && key.endsWith('/RequestGraph')) {
43
+ requestGraphBlob = key;
44
+ requestGraphKey = key.split('/').slice(0, -1).join('/');
45
+ }
46
+ if (key.startsWith('BundleGraph/')) {
47
+ bundleGraphBlob = key;
48
+ }
49
+ if (key.startsWith('AssetGraph/')) {
50
+ assetGraphBlob = key;
51
+ }
71
52
  }
72
53
 
73
- let cacheInfo: Map<string, Array<string | number>> = new Map();
74
-
75
- let {requestGraphBlob, bundleGraphBlob, assetGraphBlob} =
76
- getMostRecentCacheBlobs();
77
- const cache = new LMDBLiteCache(cacheDir);
54
+ console.log({requestGraphBlob, bundleGraphBlob, assetGraphBlob});
78
55
 
79
56
  // Get requestTracker
80
57
  let requestTracker;
81
- if (requestGraphBlob) {
58
+ if (requestGraphBlob != null && requestGraphKey != null) {
82
59
  try {
83
- let requestGraphKey = requestGraphBlob.slice(0, -'-0'.length);
84
60
  let date = Date.now();
61
+
62
+ const buffer = await cache.getBlob(requestGraphBlob);
63
+ const deserializer = new v8.Deserializer(buffer);
64
+ console.log(
65
+ 'Wire format version stored',
66
+ deserializer.getWireFormatVersion(),
67
+ );
68
+
85
69
  let {requestGraph, bufferLength} = await readAndDeserializeRequestGraph(
86
70
  cache,
71
+ requestGraphBlob,
87
72
  requestGraphKey,
88
- requestGraphKey.replace('requestGraph-', ''),
89
73
  );
90
74
 
91
75
  requestTracker = new RequestTracker({
@@ -99,17 +83,15 @@ export async function loadGraphs(cacheDir: string): Promise<{|
99
83
  cacheInfo.set('RequestGraph', [bufferLength]);
100
84
  cacheInfo.get('RequestGraph')?.push(timeToDeserialize);
101
85
  } catch (e) {
102
- console.log('Error loading Request Graph\n', e);
86
+ console.error('Error loading Request Graph\n', e);
103
87
  }
104
88
  }
105
89
 
106
90
  // Get bundleGraph
107
91
  let bundleGraph;
108
- if (bundleGraphBlob) {
92
+ if (bundleGraphBlob != null) {
109
93
  try {
110
- let file = await cache.getLargeBlob(
111
- path.basename(bundleGraphBlob).slice(0, -'-0'.length),
112
- );
94
+ let file = await cache.getBlob(bundleGraphBlob);
113
95
 
114
96
  let timeToDeserialize = Date.now();
115
97
  let obj = v8.deserialize(file);
@@ -120,18 +102,16 @@ export async function loadGraphs(cacheDir: string): Promise<{|
120
102
  cacheInfo.set('BundleGraph', [Buffer.byteLength(file)]);
121
103
  cacheInfo.get('BundleGraph')?.push(timeToDeserialize);
122
104
  } catch (e) {
123
- console.log('Error loading Bundle Graph\n', e);
105
+ console.error('Error loading Bundle Graph\n', e);
124
106
  }
125
107
  }
126
108
 
127
109
  // Get assetGraph
128
110
  let assetGraph;
129
- if (assetGraphBlob) {
111
+ if (assetGraphBlob != null) {
130
112
  try {
131
113
  // TODO: this should be reviewed when `cachePerformanceImprovements` flag is removed, as we'll be writing files to LMDB cache instead of large blobs
132
- let file = await cache.getLargeBlob(
133
- path.basename(assetGraphBlob).slice(0, -'-0'.length),
134
- );
114
+ let file = await cache.getBlob(assetGraphBlob);
135
115
 
136
116
  let timeToDeserialize = Date.now();
137
117
  let obj = v8.deserialize(file);
@@ -142,7 +122,7 @@ export async function loadGraphs(cacheDir: string): Promise<{|
142
122
  cacheInfo.set('AssetGraph', [Buffer.byteLength(file)]);
143
123
  cacheInfo.get('AssetGraph')?.push(timeToDeserialize);
144
124
  } catch (e) {
145
- console.log('Error loading Asset Graph\n', e);
125
+ console.error('Error loading Asset Graph\n', e);
146
126
  }
147
127
  }
148
128
 
@@ -179,7 +159,7 @@ export async function loadGraphs(cacheDir: string): Promise<{|
179
159
  >);
180
160
  }
181
161
  } catch (e) {
182
- console.log('Error loading bundleInfo\n', e);
162
+ console.error('Error loading bundleInfo\n', e);
183
163
  }
184
164
 
185
165
  return {assetGraph, bundleGraph, requestTracker, bundleInfo, cacheInfo};