-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathindex.cjs
66 lines (66 loc) · 2.8 KB
/
index.cjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __markAsModule = (target) => __defProp(target, "__esModule", {value: true});
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, {get: all[name], enumerable: true});
};
var __reExport = (target, module2, desc) => {
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
for (let key of __getOwnPropNames(module2))
if (!__hasOwnProp.call(target, key) && key !== "default")
__defProp(target, key, {get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable});
}
return target;
};
var __toModule = (module2) => {
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? {get: () => module2.default, enumerable: true} : {value: module2, enumerable: true})), module2);
};
__markAsModule(exports);
__export(exports, {
cache: () => cache
});
var DenoCache = __toModule(require("deno-cache"));
var import_promises = __toModule(require("fs/promises"));
var import_deno_importmap = __toModule(require("deno-importmap"));
var import_path = __toModule(require("path"));
var import_module = __toModule(require("module"));
const import_meta = {};
const locaRequire = (0, import_module.createRequire)(import_meta.url);
function cache({importmap = {imports: {}}, directory}) {
DenoCache.configure({directory});
return {
name: "deno-cache",
setup(build) {
build.onResolve({filter: /.*/}, async (args) => {
const resolvedPath = (0, import_deno_importmap.resolve)(args.path, importmap);
if (resolvedPath.startsWith("http")) {
return {
path: resolvedPath,
namespace: "deno-cache"
};
}
if (args.namespace === "deno-cache") {
return {
path: new URL(resolvedPath, args.importer).toString(),
namespace: "deno-cache"
};
}
if (resolvedPath !== args.path) {
return resolvedPath.match(/^[./]/) ? {path: (0, import_path.join)(args.resolveDir, resolvedPath)} : {path: locaRequire.resolve(resolvedPath)};
}
});
build.onLoad({filter: /.*/, namespace: "deno-cache"}, async (args) => {
const file = await DenoCache.cache(args.path, void 0, "deps");
const contents = await (0, import_promises.readFile)(file.path, "utf8");
const ext = file.meta.url.split(".").pop();
const loader = ext.match(/"j|tsx?$/) ? ext : "js";
return {contents, loader};
});
}
};
}