@marko/compiler 5.39.20 → 5.39.22
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/dist/babel-plugin/index.js +5 -7
- package/dist/babel-utils/tags.js +15 -20
- package/dist/index.js +4 -3
- package/dist/taglib/finder/index.js +4 -4
- package/dist/taglib/index.js +1 -1
- package/dist/taglib/loader/loadTagFromProps.js +5 -4
- package/dist/taglib/loader/loadTaglibFromProps.js +8 -7
- package/dist/util/quick-hash.js +35 -0
- package/dist/util/try-load-translator.js +3 -3
- package/modules.js +26 -2
- package/package.json +2 -2
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = void 0;var _traverse = _interopRequireDefault(require("@babel/traverse"));
|
|
2
|
-
var _crypto = require("crypto");
|
|
3
2
|
var _path = _interopRequireDefault(require("path"));
|
|
4
3
|
|
|
5
4
|
var t = _interopRequireWildcard(require("../babel-types"));
|
|
@@ -10,6 +9,7 @@ var _taglib = require("../taglib");
|
|
|
10
9
|
var _config = _interopRequireDefault(require("../taglib/config"));
|
|
11
10
|
var _buildCodeFrame = require("../util/build-code-frame");
|
|
12
11
|
var _mergeErrors = _interopRequireDefault(require("../util/merge-errors"));
|
|
12
|
+
var _quickHash = require("../util/quick-hash");
|
|
13
13
|
var _shouldOptimize = _interopRequireDefault(require("../util/should-optimize"));
|
|
14
14
|
var _tryLoadTranslator = _interopRequireDefault(require("../util/try-load-translator"));
|
|
15
15
|
var _file = require("./file");
|
|
@@ -159,10 +159,8 @@ function getMarkoFile(code, fileOpts, markoOpts) {
|
|
|
159
159
|
const isMigrate = markoOpts.output === "migrate";
|
|
160
160
|
const canCache = !(isSource || isMigrate);
|
|
161
161
|
const id = (0, _tags.getTemplateId)(markoOpts, filename);
|
|
162
|
-
const contentHash = canCache &&
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
let cached = canCache && compileCache.get(cacheKey);
|
|
162
|
+
const contentHash = canCache && new _quickHash.Hash().update(code).digest();
|
|
163
|
+
let cached = canCache && compileCache.get(id);
|
|
166
164
|
|
|
167
165
|
if (cached) {
|
|
168
166
|
if (cached.contentHash !== contentHash) {
|
|
@@ -302,7 +300,7 @@ function getMarkoFile(code, fileOpts, markoOpts) {
|
|
|
302
300
|
}
|
|
303
301
|
}
|
|
304
302
|
|
|
305
|
-
compileCache.set(
|
|
303
|
+
compileCache.set(id, {
|
|
306
304
|
time: Date.now(),
|
|
307
305
|
file,
|
|
308
306
|
contentHash
|
|
@@ -313,7 +311,7 @@ function getMarkoFile(code, fileOpts, markoOpts) {
|
|
|
313
311
|
file.___compileStage = "analyze";
|
|
314
312
|
traverseAll(file, translator.analyze);
|
|
315
313
|
} catch (e) {
|
|
316
|
-
compileCache.delete(
|
|
314
|
+
compileCache.delete(id);
|
|
317
315
|
throw e;
|
|
318
316
|
}
|
|
319
317
|
}
|
package/dist/babel-utils/tags.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.findAttributeTags = findAttributeTags;exports.findParentTag = findParentTag;exports.getArgOrSequence = getArgOrSequence;exports.getFullyResolvedTagName = getFullyResolvedTagName;exports.getMacroIdentifier = getMacroIdentifier;exports.getMacroIdentifierForName = getMacroIdentifierForName;exports.getTagDef = getTagDef;exports.getTagTemplate = getTagTemplate;exports.getTemplateId = getTemplateId;exports.hasMacro = hasMacro;exports.isAttributeTag = isAttributeTag;exports.isDynamicTag = isDynamicTag;exports.isLoopTag = isLoopTag;exports.isMacroTag = isMacroTag;exports.isNativeTag = isNativeTag;exports.isTransparentTag = isTransparentTag;exports.loadFileForImport = loadFileForImport;exports.loadFileForTag = loadFileForTag;exports.registerMacro = registerMacro;exports.resolveTagImport = resolveTagImport;var _compiler = require("@marko/compiler");
|
|
2
|
-
var
|
|
2
|
+
var _modules = _interopRequireDefault(require("@marko/compiler/modules"));
|
|
3
3
|
var _lassoPackageRoot = require("lasso-package-root");
|
|
4
4
|
var _path = require("path");
|
|
5
|
-
var _resolveFrom = _interopRequireDefault(require("resolve-from"));
|
|
6
5
|
|
|
6
|
+
var _quickHash = require("../util/quick-hash");
|
|
7
7
|
var _diagnostics = require("./diagnostics");
|
|
8
8
|
var _imports = require("./imports");
|
|
9
9
|
var _taglib = require("./taglib");
|
|
@@ -281,7 +281,7 @@ function loadFileForImport(file, request) {
|
|
|
281
281
|
const filename =
|
|
282
282
|
relativeRequest[0] === "." ?
|
|
283
283
|
(0, _path.resolve)(file.opts.filename, "..", relativeRequest) :
|
|
284
|
-
(
|
|
284
|
+
_modules.default.resolve(relativeRequest, (0, _path.dirname)(file.opts.filename));
|
|
285
285
|
const markoMeta = file.metadata.marko;
|
|
286
286
|
const { analyzedTags } = markoMeta;
|
|
287
287
|
if (analyzedTags) {
|
|
@@ -350,12 +350,12 @@ function getTemplateId(opts, request, child) {
|
|
|
350
350
|
}
|
|
351
351
|
}
|
|
352
352
|
|
|
353
|
-
const hash =
|
|
353
|
+
const hash = new _quickHash.Hash().update(id);
|
|
354
354
|
if (child) {
|
|
355
355
|
hash.update(child);
|
|
356
356
|
}
|
|
357
357
|
|
|
358
|
-
return encodeTemplateId(
|
|
358
|
+
return encodeTemplateId(hash.digest());
|
|
359
359
|
}
|
|
360
360
|
|
|
361
361
|
return id + (child ? `_${child}` : "");
|
|
@@ -408,21 +408,16 @@ function createNewFileOpts(opts, filename) {
|
|
|
408
408
|
};
|
|
409
409
|
}
|
|
410
410
|
|
|
411
|
-
function encodeTemplateId(
|
|
412
|
-
const
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
let
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
while (cur > 0) {
|
|
422
|
-
mod = cur % encodeLen;
|
|
423
|
-
id += encodeChars[mod];
|
|
424
|
-
cur = (cur - mod) / encodeLen;
|
|
411
|
+
function encodeTemplateId(id) {
|
|
412
|
+
const c = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$_0123456789";
|
|
413
|
+
let n = id;
|
|
414
|
+
let r = c[n % 53]; // Avoids chars that cannot start a property name and _ (reserved).
|
|
415
|
+
n = Math.floor(n / 53);
|
|
416
|
+
|
|
417
|
+
// ensure at most 7 characters.
|
|
418
|
+
for (let i = 6; n > 0 && i--; n = Math.floor(n / 64)) {
|
|
419
|
+
r += c[n & 63];
|
|
425
420
|
}
|
|
426
421
|
|
|
427
|
-
return
|
|
422
|
+
return r;
|
|
428
423
|
}
|
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@ var _pluginTransformTypescript = _interopRequireDefault(require("@babel/plugin-t
|
|
|
6
6
|
var _babelUtils = require("@marko/compiler/babel-utils");
|
|
7
7
|
var _path = _interopRequireDefault(require("path"));
|
|
8
8
|
|
|
9
|
+
var _modules = _interopRequireDefault(require("../modules"));
|
|
9
10
|
var _babelPlugin = _interopRequireDefault(require("./babel-plugin"));
|
|
10
11
|
var _config = _interopRequireDefault(require("./config"));
|
|
11
12
|
var taglib = _interopRequireWildcard(require("./taglib"));exports.taglib = taglib;
|
|
@@ -15,8 +16,6 @@ var _shouldOptimize = _interopRequireDefault(require("./util/should-optimize"));
|
|
|
15
16
|
var _tryLoadTranslator = _interopRequireDefault(require("./util/try-load-translator"));function _getRequireWildcardCache(e) {if ("function" != typeof WeakMap) return null;var r = new WeakMap(),t = new WeakMap();return (_getRequireWildcardCache = function (e) {return e ? t : r;})(e);}function _interopRequireWildcard(e, r) {if (!r && e && e.__esModule) return e;if (null === e || "object" != typeof e && "function" != typeof e) return { default: e };var t = _getRequireWildcardCache(r);if (t && t.has(e)) return t.get(e);var n = { __proto__: null },a = Object.defineProperty && Object.getOwnPropertyDescriptor;for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];}return n.default = e, t && t.set(e, n), n;}
|
|
16
17
|
|
|
17
18
|
|
|
18
|
-
const CWD = process.cwd();
|
|
19
|
-
|
|
20
19
|
let globalConfig = exports.globalConfig = { ..._config.default };
|
|
21
20
|
function configure(newConfig) {
|
|
22
21
|
exports.globalConfig = globalConfig = { ..._config.default, ...newConfig };
|
|
@@ -103,7 +102,9 @@ function getBaseBabelConfig(filename, { babelConfig, ...markoConfig }) {
|
|
|
103
102
|
|
|
104
103
|
|
|
105
104
|
const baseBabelConfig = {
|
|
106
|
-
filenameRelative: filename ?
|
|
105
|
+
filenameRelative: filename ?
|
|
106
|
+
_path.default.relative(_modules.default.cwd, filename) :
|
|
107
|
+
undefined,
|
|
107
108
|
sourceRoot: filename ? _path.default.dirname(filename) : undefined,
|
|
108
109
|
sourceFileName: filename ? _path.default.basename(filename) : undefined,
|
|
109
110
|
configFile: isTranslated,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var nodePath = require("path");
|
|
3
3
|
var lassoPackageRoot = require("lasso-package-root");
|
|
4
|
-
var
|
|
4
|
+
var markoModules = require("../../../modules");
|
|
5
5
|
var taglibConfig = require("../config");
|
|
6
6
|
var taglibLoader = require("../loader");
|
|
7
7
|
var findCache = {};
|
|
@@ -119,9 +119,9 @@ function find(dirname, registeredTaglibs, tagDiscoveryDirs) {
|
|
|
119
119
|
// Now look for `marko.json` from installed packages
|
|
120
120
|
getAllDependencyNames(rootPkg).forEach((name) => {
|
|
121
121
|
if (!excludedPackages[name]) {
|
|
122
|
-
let taglibPath =
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
let taglibPath = markoModules.tryResolve(
|
|
123
|
+
nodePath.join(name, "marko.json"),
|
|
124
|
+
rootPkg.__dirname
|
|
125
125
|
);
|
|
126
126
|
if (taglibPath) {
|
|
127
127
|
var taglib = taglibLoader.loadTaglibFromFile(taglibPath, true);
|
package/dist/taglib/index.js
CHANGED
|
@@ -4,7 +4,6 @@ var ok = require("assert").ok;
|
|
|
4
4
|
var nodePath = require("path");
|
|
5
5
|
var createError = require("raptor-util/createError");
|
|
6
6
|
var isObjectEmpty = require("raptor-util/isObjectEmpty");
|
|
7
|
-
var resolveFrom = require("resolve-from").silent;
|
|
8
7
|
var markoModules = require("../../../modules");
|
|
9
8
|
var taglibConfig = require("../config");
|
|
10
9
|
var loaders = require("./loaders");
|
|
@@ -13,7 +12,9 @@ var types = require("./types");
|
|
|
13
12
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
14
13
|
|
|
15
14
|
function resolveRelative(dirname, value) {
|
|
16
|
-
return value[0] === "." ?
|
|
15
|
+
return value[0] === "." ?
|
|
16
|
+
markoModules.tryResolve(value, dirname) || value :
|
|
17
|
+
value;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
function resolveWithMarkoExt(dirname, value) {
|
|
@@ -25,13 +26,13 @@ function resolveWithMarkoExt(dirname, value) {
|
|
|
25
26
|
{
|
|
26
27
|
markoModules.require.extensions[".marko"] = undefined;
|
|
27
28
|
try {
|
|
28
|
-
return
|
|
29
|
+
return markoModules.tryResolve(value, dirname) || value;
|
|
29
30
|
} finally {
|
|
30
31
|
delete markoModules.require.extensions[".marko"];
|
|
31
32
|
}
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
return
|
|
35
|
+
return markoModules.tryResolve(value, dirname) || value;
|
|
35
36
|
}
|
|
36
37
|
|
|
37
38
|
function removeDashes(str) {
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
var ok = require("assert").ok;
|
|
4
4
|
var nodePath = require("path");
|
|
5
5
|
var createError = require("raptor-util/createError");
|
|
6
|
-
var resolveFrom = require("resolve-from").silent;
|
|
7
6
|
var markoModules = require("../../../modules");
|
|
8
7
|
var taglibFS = require("../config");
|
|
9
8
|
var DependencyChain = require("./DependencyChain");
|
|
@@ -15,7 +14,9 @@ var types = require("./types");
|
|
|
15
14
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
16
15
|
|
|
17
16
|
function resolveRelative(dirname, value) {
|
|
18
|
-
return value[0] === "." ?
|
|
17
|
+
return value[0] === "." ?
|
|
18
|
+
markoModules.tryResolve(value, dirname) || value :
|
|
19
|
+
value;
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
function normalizeHook(dirname, value) {
|
|
@@ -289,7 +290,7 @@ class TaglibLoader {
|
|
|
289
290
|
if (typeof curImport === "string") {
|
|
290
291
|
var basename = nodePath.basename(curImport);
|
|
291
292
|
if (basename === "package.json") {
|
|
292
|
-
var packagePath =
|
|
293
|
+
var packagePath = markoModules.tryResolve(curImport, dirname);
|
|
293
294
|
var packageDir = nodePath.dirname(packagePath);
|
|
294
295
|
var pkg = jsonFileReader.readFileSync(packagePath);
|
|
295
296
|
var dependencies = pkg.dependencies;
|
|
@@ -298,9 +299,9 @@ class TaglibLoader {
|
|
|
298
299
|
for (var j = 0; j < dependencyNames.length; j++) {
|
|
299
300
|
var dependencyName = dependencyNames[j];
|
|
300
301
|
|
|
301
|
-
importPath =
|
|
302
|
-
|
|
303
|
-
|
|
302
|
+
importPath = markoModules.tryResolve(
|
|
303
|
+
nodePath.join(dependencyName, "marko.json"),
|
|
304
|
+
packageDir
|
|
304
305
|
);
|
|
305
306
|
|
|
306
307
|
if (importPath) {
|
|
@@ -309,7 +310,7 @@ class TaglibLoader {
|
|
|
309
310
|
}
|
|
310
311
|
}
|
|
311
312
|
} else {
|
|
312
|
-
importPath =
|
|
313
|
+
importPath = markoModules.tryResolve(curImport, dirname);
|
|
313
314
|
if (importPath) {
|
|
314
315
|
taglib.addImport(importPath);
|
|
315
316
|
} else {
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";exports.__esModule = true;exports.Hash = void 0; /**
|
|
2
|
+
* Outputs a noncryptographic hash as a safe integer (<= Number.MAX_SAFE_INTEGER).
|
|
3
|
+
*/
|
|
4
|
+
class Hash {
|
|
5
|
+
a = 0xdeadbeef;
|
|
6
|
+
b = 0x9e3779b9;
|
|
7
|
+
|
|
8
|
+
update(s) {
|
|
9
|
+
let a = this.a;
|
|
10
|
+
let b = this.b;
|
|
11
|
+
for (let i = s.length; i--;) {
|
|
12
|
+
a = Math.imul(a ^ s.charCodeAt(i), 0x85ebca6b);
|
|
13
|
+
a = a << 13 | a >>> 19;
|
|
14
|
+
b = Math.imul(b ^ a, 0xc2b2ae35);
|
|
15
|
+
b = b << 17 | b >>> 15;
|
|
16
|
+
a ^= b >>> 11;
|
|
17
|
+
b ^= a >>> 7;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
this.a = a;
|
|
21
|
+
this.b = b;
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
digest() {
|
|
26
|
+
let a = this.a;
|
|
27
|
+
let b = this.b;
|
|
28
|
+
a = Math.imul(a ^ b, 0x27d4eb2f);
|
|
29
|
+
a ^= a >>> 16;
|
|
30
|
+
b = Math.imul(b ^ a, 0x165667b1);
|
|
31
|
+
b ^= b >>> 15;
|
|
32
|
+
a = Math.imul(a ^ b >>> 13, 0x5bd1e995);
|
|
33
|
+
return (b & 0x1fffff) * 0x100000000 + a;
|
|
34
|
+
}
|
|
35
|
+
}exports.Hash = Hash;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule = true;exports.default = _default;var _modules = _interopRequireDefault(require("../../modules"));
|
|
2
|
-
var _config = _interopRequireDefault(require("../config"));
|
|
3
2
|
const cache = {};
|
|
4
3
|
|
|
5
|
-
function _default(requested
|
|
4
|
+
function _default(requested) {
|
|
6
5
|
if (typeof requested === "string") {
|
|
7
6
|
return (
|
|
8
|
-
cache[requested] || (
|
|
7
|
+
cache[requested] || (
|
|
8
|
+
cache[requested] = _modules.default.require(_modules.default.resolve(requested))));
|
|
9
9
|
|
|
10
10
|
}
|
|
11
11
|
|
package/modules.js
CHANGED
|
@@ -1,4 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
if (process.env.BUNDLE || typeof document === "object") {
|
|
4
|
+
exports.cwd = "/";
|
|
5
|
+
exports.root = "/";
|
|
6
|
+
exports.require = undefined;
|
|
7
|
+
exports.resolve = undefined;
|
|
8
|
+
exports.tryResolve = undefined;
|
|
9
|
+
} else {
|
|
10
|
+
const resolveFrom = require("resolve-from");
|
|
11
|
+
const cwd = process.cwd();
|
|
12
|
+
const root = (() => {
|
|
13
|
+
try {
|
|
14
|
+
return require("lasso-package-root").getRootDir(cwd) || cwd;
|
|
15
|
+
} catch {
|
|
16
|
+
return cwd;
|
|
17
|
+
}
|
|
18
|
+
})();
|
|
19
|
+
exports.cwd = cwd;
|
|
20
|
+
exports.root = root;
|
|
21
|
+
exports.require = require;
|
|
22
|
+
exports.resolve = (id, from) => {
|
|
23
|
+
return resolveFrom(from || root, id);
|
|
24
|
+
};
|
|
25
|
+
exports.tryResolve = (id, from) => {
|
|
26
|
+
return resolveFrom.silent(from || root, id);
|
|
27
|
+
};
|
|
28
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marko/compiler",
|
|
3
|
-
"version": "5.39.
|
|
3
|
+
"version": "5.39.22",
|
|
4
4
|
"description": "Marko template to JS compiler.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"babel",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"source-map-support": "^0.5.21"
|
|
88
88
|
},
|
|
89
89
|
"devDependencies": {
|
|
90
|
-
"marko": "^5.37.
|
|
90
|
+
"marko": "^5.37.33"
|
|
91
91
|
},
|
|
92
92
|
"engines": {
|
|
93
93
|
"node": "18 || 20 || >=22"
|