@atlaspack/query 2.12.1-canary.3354

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.
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ /* eslint-disable monorepo/no-internal-import */
4
+ const v = {
5
+ // Split up require specifier to outsmart packages/dev/babel-register/babel-plugin-module-translate.js
6
+ // $FlowFixMe(unsupported-syntax)
7
+ AssetGraph: require('@atlaspack/core' + '/lib/AssetGraph.js').default,
8
+ // $FlowFixMe(unsupported-syntax)
9
+ BundleGraph: require('@atlaspack/core' + '/lib/BundleGraph.js'),
10
+ // $FlowFixMe(unsupported-syntax)
11
+ RequestTracker: require('@atlaspack/core' + '/lib/RequestTracker.js'),
12
+ // $FlowFixMe(unsupported-syntax)
13
+ LMDBCache: require('@atlaspack/cache' + '/lib/LMDBCache.js').LMDBCache,
14
+ // $FlowFixMe(unsupported-syntax)
15
+ Priority: require('@atlaspack/core' + '/lib/types.js').Priority,
16
+ // $FlowFixMe(unsupported-syntax)
17
+ fromProjectPathRelative: require('@atlaspack/core' + '/lib/projectPath.js').fromProjectPathRelative
18
+ };
19
+ module.exports = v;
package/lib/index.js ADDED
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
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
+ function _v() {
22
+ const data = _interopRequireDefault(require("v8"));
23
+ _v = function () {
24
+ return data;
25
+ };
26
+ return data;
27
+ }
28
+ function _nullthrows() {
29
+ const data = _interopRequireDefault(require("nullthrows"));
30
+ _nullthrows = function () {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
35
+ function _assert() {
36
+ const data = _interopRequireDefault(require("assert"));
37
+ _assert = function () {
38
+ return data;
39
+ };
40
+ return data;
41
+ }
42
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
43
+ /* eslint-disable no-console, monorepo/no-internal-import */
44
+ const {
45
+ AssetGraph,
46
+ BundleGraph: {
47
+ default: BundleGraph
48
+ },
49
+ RequestTracker: {
50
+ default: RequestTracker,
51
+ readAndDeserializeRequestGraph,
52
+ requestGraphEdgeTypes
53
+ },
54
+ LMDBCache
55
+ } = require('./deep-imports.js');
56
+ async function loadGraphs(cacheDir) {
57
+ let cacheInfo = new Map();
58
+ let {
59
+ requestGraphBlob,
60
+ bundleGraphBlob,
61
+ 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 LMDBCache(cacheDir);
91
+
92
+ // Get requestTracker
93
+ let requestTracker;
94
+ if (requestGraphBlob) {
95
+ try {
96
+ var _cacheInfo$get;
97
+ let requestGraphKey = requestGraphBlob.slice(0, -'-0'.length);
98
+ let date = Date.now();
99
+ let {
100
+ requestGraph,
101
+ bufferLength
102
+ } = await readAndDeserializeRequestGraph(cache, requestGraphKey, requestGraphKey.replace('requestGraph-', ''));
103
+ requestTracker = new RequestTracker({
104
+ graph: requestGraph,
105
+ // $FlowFixMe
106
+ farm: null,
107
+ // $FlowFixMe
108
+ options: null
109
+ });
110
+ let timeToDeserialize = Date.now() - date;
111
+ cacheInfo.set('RequestGraph', [bufferLength]);
112
+ (_cacheInfo$get = cacheInfo.get('RequestGraph')) === null || _cacheInfo$get === void 0 || _cacheInfo$get.push(timeToDeserialize);
113
+ } catch (e) {
114
+ console.log('Error loading Request Graph\n', e);
115
+ }
116
+ }
117
+
118
+ // Get bundleGraph
119
+ let bundleGraph;
120
+ if (bundleGraphBlob) {
121
+ try {
122
+ var _cacheInfo$get2;
123
+ let file = await cache.getLargeBlob(_path().default.basename(bundleGraphBlob).slice(0, -'-0'.length));
124
+ let timeToDeserialize = Date.now();
125
+ let obj = _v().default.deserialize(file);
126
+ (0, _assert().default)(obj.bundleGraph != null);
127
+ bundleGraph = BundleGraph.deserialize(obj.bundleGraph.value);
128
+ timeToDeserialize = Date.now() - timeToDeserialize;
129
+ cacheInfo.set('BundleGraph', [Buffer.byteLength(file)]);
130
+ (_cacheInfo$get2 = cacheInfo.get('BundleGraph')) === null || _cacheInfo$get2 === void 0 || _cacheInfo$get2.push(timeToDeserialize);
131
+ } catch (e) {
132
+ console.log('Error loading Bundle Graph\n', e);
133
+ }
134
+ }
135
+
136
+ // Get assetGraph
137
+ let assetGraph;
138
+ if (assetGraphBlob) {
139
+ try {
140
+ var _cacheInfo$get3;
141
+ let file = await cache.getLargeBlob(_path().default.basename(assetGraphBlob).slice(0, -'-0'.length));
142
+ let timeToDeserialize = Date.now();
143
+ let obj = _v().default.deserialize(file);
144
+ (0, _assert().default)(obj.assetGraph != null);
145
+ assetGraph = AssetGraph.deserialize(obj.assetGraph.value);
146
+ timeToDeserialize = Date.now() - timeToDeserialize;
147
+ cacheInfo.set('AssetGraph', [Buffer.byteLength(file)]);
148
+ (_cacheInfo$get3 = cacheInfo.get('AssetGraph')) === null || _cacheInfo$get3 === void 0 || _cacheInfo$get3.push(timeToDeserialize);
149
+ } catch (e) {
150
+ console.log('Error loading Asset Graph\n', e);
151
+ }
152
+ }
153
+ function getSubRequests(id) {
154
+ return requestTracker.graph.getNodeIdsConnectedFrom(id, requestGraphEdgeTypes.subrequest).map(n => (0, _nullthrows().default)(requestTracker.graph.getNode(n)));
155
+ }
156
+
157
+ // Load graphs by finding the main subrequests and loading their results
158
+ let bundleInfo;
159
+ try {
160
+ (0, _assert().default)(requestTracker);
161
+ let buildRequestId = requestTracker.graph.getNodeIdByContentKey('atlaspack_build_request');
162
+ let buildRequestNode = (0, _nullthrows().default)(requestTracker.graph.getNode(buildRequestId));
163
+ (0, _assert().default)(buildRequestNode.type === 1 && buildRequestNode.requestType === 1);
164
+ let buildRequestSubRequests = getSubRequests(buildRequestId);
165
+ let writeBundlesRequest = buildRequestSubRequests.find(n => n.type === 1 && n.requestType === 11);
166
+ if (writeBundlesRequest != null) {
167
+ (0, _assert().default)(writeBundlesRequest.type === 1);
168
+ // $FlowFixMe[incompatible-cast]
169
+ bundleInfo = (0, _nullthrows().default)(writeBundlesRequest.result);
170
+ }
171
+ } catch (e) {
172
+ console.log('Error loading bundleInfo\n', e);
173
+ }
174
+ return {
175
+ assetGraph,
176
+ bundleGraph,
177
+ requestTracker,
178
+ bundleInfo,
179
+ cacheInfo
180
+ };
181
+ }
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@atlaspack/query",
3
+ "version": "2.12.1-canary.3354+7bb54d46a",
4
+ "license": "MIT",
5
+ "publishConfig": {
6
+ "access": "public"
7
+ },
8
+ "scripts": {
9
+ "prepack": "./ensure-no-dev-lib.sh",
10
+ "dev:prepare": "rimraf ./lib/ && mkdir -p lib && cp ./bin/dev-bin.js ./lib/bin.js"
11
+ },
12
+ "repository": {
13
+ "type": "git",
14
+ "url": "https://github.com/atlassian-labs/atlaspack.git"
15
+ },
16
+ "bin": {
17
+ "atlaspack-query": "bin/atlaspack-query.js"
18
+ },
19
+ "main": "src/index.js",
20
+ "dependencies": {
21
+ "@atlaspack/cache": "2.12.1-canary.3354+7bb54d46a",
22
+ "@atlaspack/core": "2.12.1-canary.3354+7bb54d46a",
23
+ "@atlaspack/graph": "3.2.1-canary.3354+7bb54d46a",
24
+ "nullthrows": "^1.1.1",
25
+ "table": "^6.8.1",
26
+ "v8-compile-cache": "^2.0.0"
27
+ },
28
+ "devDependencies": {
29
+ "@atlaspack/babel-register": "2.12.0",
30
+ "@babel/core": "^7.22.11",
31
+ "rimraf": "^5.0.5"
32
+ },
33
+ "gitHead": "7bb54d46a00c5ba9cdbc2ee426dcbe82c8d79a3e"
34
+ }
package/src/bin.js ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+
3
+ 'use strict';
4
+
5
+ if (
6
+ process.env.ATLASPACK_BUILD_ENV !== 'production' ||
7
+ process.env.ATLASPACK_SELF_BUILD
8
+ ) {
9
+ require('@atlaspack/babel-register');
10
+ }
11
+
12
+ const run = require('./cli').run;
13
+ require('v8-compile-cache');
14
+
15
+ run(process.argv.slice(2));