@lukaskj/xmonkey 2.0.2 → 2.0.4
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/build.js
CHANGED
|
@@ -1,8 +1,182 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __copyProps = (to, from, except, desc) => {
|
|
8
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
9
|
+
for (let key of __getOwnPropNames(from))
|
|
10
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
11
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
}
|
|
13
|
+
return to;
|
|
14
|
+
};
|
|
15
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
16
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
+
mod
|
|
22
|
+
));
|
|
23
|
+
|
|
24
|
+
// src/esbuild/build.ts
|
|
25
|
+
var esbuild = __toESM(require("esbuild"));
|
|
26
|
+
var import_esbuild_sass_plugin = require("esbuild-sass-plugin");
|
|
27
|
+
|
|
28
|
+
// src/esbuild/plugins/xmonkey-strip-metadata-plugin.ts
|
|
29
|
+
var import_promises = require("fs/promises");
|
|
30
|
+
function xMonkeyStripMetadataPlugin() {
|
|
31
|
+
return {
|
|
32
|
+
name: "xmonkey-strip-metadata-plugin",
|
|
33
|
+
setup(build2) {
|
|
34
|
+
let foundMetadata = false;
|
|
35
|
+
let metadataContent = "";
|
|
36
|
+
build2.onLoad({ filter: /.(ts|tsx)/, namespace: "file" }, async (args) => {
|
|
37
|
+
if (foundMetadata)
|
|
38
|
+
return;
|
|
39
|
+
const source = await (0, import_promises.readFile)(args.path, "utf8");
|
|
40
|
+
const scriptMetadataIndex = source.match(/@(ConsoleScript|UiScript)\(/)?.index;
|
|
41
|
+
if (!scriptMetadataIndex || scriptMetadataIndex < 0)
|
|
42
|
+
return;
|
|
43
|
+
foundMetadata = true;
|
|
44
|
+
const regex = /\@(ConsoleScript|UiScript)\([^\)]*\)(\.[^\)]*\))?/gi;
|
|
45
|
+
const metadataDecoratorMatcher = source.match(regex);
|
|
46
|
+
if (metadataDecoratorMatcher) {
|
|
47
|
+
metadataContent = metadataDecoratorMatcher.at(0);
|
|
48
|
+
const startJsonMetadataIndex = metadataContent.indexOf("{");
|
|
49
|
+
const endJsonMetadataIndex = metadataContent.lastIndexOf("}");
|
|
50
|
+
const metadataJsonString = metadataContent.substring(startJsonMetadataIndex, endJsonMetadataIndex + 1);
|
|
51
|
+
const contents = source.replace(metadataJsonString, "");
|
|
52
|
+
const extension = args.path.split(".").pop();
|
|
53
|
+
const loader = extension === "tsx" ? "tsx" : "ts";
|
|
54
|
+
return { contents, loader };
|
|
55
|
+
}
|
|
56
|
+
return;
|
|
57
|
+
});
|
|
58
|
+
build2.onEnd(async (result) => {
|
|
59
|
+
if (!build2.initialOptions?.outfile || !build2.initialOptions?.bundle) {
|
|
60
|
+
console.error("Wrong build configuration. Options 'bundle' must be enabled and 'outfile' must be set.");
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (!foundMetadata) {
|
|
64
|
+
console.error("ScriptMetadata decorator not found.");
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
if (result.errors.length) {
|
|
68
|
+
console.error("Error building. Script Metadata cannot be added to final script.");
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const fileContents = await (0, import_promises.readFile)(build2.initialOptions.outfile);
|
|
72
|
+
const scriptMetadataString = getScriptMetadataString(metadataContent);
|
|
73
|
+
await (0, import_promises.writeFile)(build2.initialOptions.outfile, `${scriptMetadataString}
|
|
74
|
+
|
|
75
|
+
${fileContents.toString()}`);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function getScriptMetadataString(scriptMetadataFunctionCallString) {
|
|
81
|
+
scriptMetadataFunctionCallString = scriptMetadataFunctionCallString.trim();
|
|
82
|
+
const startJsonMetadataIndex = scriptMetadataFunctionCallString.indexOf("{");
|
|
83
|
+
const endJsonMetadataIndex = scriptMetadataFunctionCallString.lastIndexOf("}");
|
|
84
|
+
if (startJsonMetadataIndex < 0 || endJsonMetadataIndex < 0) {
|
|
85
|
+
return "";
|
|
86
|
+
}
|
|
87
|
+
const metadataObject = JSON.parse(
|
|
88
|
+
scriptMetadataFunctionCallString.substring(startJsonMetadataIndex, endJsonMetadataIndex + 1).replaceAll("\n", "").replaceAll(",}", "}")
|
|
89
|
+
);
|
|
90
|
+
const tag = "// ==UserScript==";
|
|
91
|
+
const tagEnd = "// ==/UserScript==";
|
|
92
|
+
const headersArr = [];
|
|
93
|
+
const spaces = 13;
|
|
94
|
+
for (const key in metadataObject) {
|
|
95
|
+
if (Array.isArray(metadataObject[key])) {
|
|
96
|
+
metadataObject[key].forEach((item) => {
|
|
97
|
+
headersArr.push(`${key.padEnd(spaces, " ")}${item}`);
|
|
98
|
+
});
|
|
99
|
+
} else {
|
|
100
|
+
headersArr.push(`${key.padEnd(spaces, " ")}${metadataObject[key]}`);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
const headers = headersArr.map((h) => `// ${h}`).join("\n");
|
|
104
|
+
return `${tag}
|
|
105
|
+
${headers}
|
|
106
|
+
${tagEnd}`;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// src/esbuild/plugins/xmonkey-styles-plugin.ts
|
|
110
|
+
var import_promises2 = require("fs/promises");
|
|
111
|
+
function xMonkeyStylesPlugin() {
|
|
112
|
+
return {
|
|
113
|
+
name: "xmonkey-styles-plugin",
|
|
114
|
+
setup(build2) {
|
|
115
|
+
build2.onEnd(async (result) => {
|
|
116
|
+
if (!build2.initialOptions?.outfile || !build2.initialOptions?.bundle) {
|
|
117
|
+
console.error("Wrong build configuration. Options 'bundle' must be enabled and 'outfile' must be set.");
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (!result.metafile) {
|
|
121
|
+
console.warn("ESBuild metafile not enabled. Style bundle skipped.");
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
const outputs = result.metafile.outputs;
|
|
125
|
+
let cssFilePath = "";
|
|
126
|
+
for (const file in outputs) {
|
|
127
|
+
const ext = file.split(".").pop();
|
|
128
|
+
if (ext === "css") {
|
|
129
|
+
cssFilePath = file;
|
|
130
|
+
break;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
if (!cssFilePath.length) {
|
|
134
|
+
console.warn("CSS output not generated. Style bundle skipped.");
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
const jsOutFile = build2.initialOptions.outfile;
|
|
138
|
+
const cssContents = (await (0, import_promises2.readFile)(cssFilePath)).toString();
|
|
139
|
+
(0, import_promises2.appendFile)(jsOutFile, `
|
|
140
|
+
GM.addStyle("\\
|
|
141
|
+
${cssContents.trim()}\\
|
|
142
|
+
");`);
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// src/esbuild/build.ts
|
|
149
|
+
async function buildXmonkeyScript(scriptBasePath) {
|
|
150
|
+
const entryFile2 = scriptBasePath;
|
|
151
|
+
console.info(`Building file: '${entryFile2}'`);
|
|
152
|
+
await esbuild.build({
|
|
153
|
+
entryPoints: [entryFile2],
|
|
154
|
+
outfile: "dist/index.js",
|
|
155
|
+
bundle: true,
|
|
156
|
+
treeShaking: true,
|
|
157
|
+
minify: process.env.DEBUG ? false : true,
|
|
158
|
+
platform: "browser",
|
|
159
|
+
format: "iife",
|
|
160
|
+
// target: "esnext",
|
|
161
|
+
sourcemap: false,
|
|
162
|
+
keepNames: true,
|
|
163
|
+
logLevel: "info",
|
|
164
|
+
metafile: true,
|
|
165
|
+
plugins: [
|
|
166
|
+
xMonkeyStripMetadataPlugin(),
|
|
167
|
+
// xMonkeyDevPlugin(),
|
|
168
|
+
(0, import_esbuild_sass_plugin.sassPlugin)({ style: "compressed" }),
|
|
169
|
+
xMonkeyStylesPlugin()
|
|
170
|
+
]
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// src/build.ts
|
|
175
|
+
var entryFile = process.argv[2];
|
|
3
176
|
if (!entryFile) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
177
|
+
console.error(`No entryfile specified. Try adding the script to build in the argument.`);
|
|
178
|
+
console.error(`Example: npm run build src/example-script.ts`);
|
|
179
|
+
process.exit(1);
|
|
7
180
|
}
|
|
8
181
|
buildXmonkeyScript(entryFile);
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2VzYnVpbGQvYnVpbGQudHMiLCAiLi4vc3JjL2VzYnVpbGQvcGx1Z2lucy94bW9ua2V5LXN0cmlwLW1ldGFkYXRhLXBsdWdpbi50cyIsICIuLi9zcmMvZXNidWlsZC9wbHVnaW5zL3htb25rZXktc3R5bGVzLXBsdWdpbi50cyIsICIuLi9zcmMvYnVpbGQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCAqIGFzIGVzYnVpbGQgZnJvbSBcImVzYnVpbGRcIjtcbmltcG9ydCB7IHNhc3NQbHVnaW4gfSBmcm9tIFwiZXNidWlsZC1zYXNzLXBsdWdpblwiO1xuaW1wb3J0IHsgeE1vbmtleVN0cmlwTWV0YWRhdGFQbHVnaW4gfSBmcm9tIFwiLi9wbHVnaW5zL3htb25rZXktc3RyaXAtbWV0YWRhdGEtcGx1Z2luLmpzXCI7XG5pbXBvcnQgeyB4TW9ua2V5U3R5bGVzUGx1Z2luIH0gZnJvbSBcIi4vcGx1Z2lucy94bW9ua2V5LXN0eWxlcy1wbHVnaW4uanNcIjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkWG1vbmtleVNjcmlwdChzY3JpcHRCYXNlUGF0aDogc3RyaW5nKSB7XG4gIC8vIGxldCBlbnRyeUZpbGUgPSBwcm9jZXNzLmFyZ3ZbMl07XG4gIGNvbnN0IGVudHJ5RmlsZSA9IHNjcmlwdEJhc2VQYXRoO1xuICBjb25zb2xlLmluZm8oYEJ1aWxkaW5nIGZpbGU6ICcke2VudHJ5RmlsZX0nYCk7XG5cbiAgYXdhaXQgZXNidWlsZC5idWlsZCh7XG4gICAgZW50cnlQb2ludHM6IFtlbnRyeUZpbGVdLFxuICAgIG91dGZpbGU6IFwiZGlzdC9pbmRleC5qc1wiLFxuICAgIGJ1bmRsZTogdHJ1ZSxcbiAgICB0cmVlU2hha2luZzogdHJ1ZSxcbiAgICBtaW5pZnk6IHByb2Nlc3MuZW52LkRFQlVHID8gZmFsc2UgOiB0cnVlLFxuICAgIHBsYXRmb3JtOiBcImJyb3dzZXJcIixcbiAgICBmb3JtYXQ6IFwiaWlmZVwiLFxuICAgIC8vIHRhcmdldDogXCJlc25leHRcIixcbiAgICBzb3VyY2VtYXA6IGZhbHNlLFxuICAgIGtlZXBOYW1lczogdHJ1ZSxcbiAgICBsb2dMZXZlbDogXCJpbmZvXCIsXG4gICAgbWV0YWZpbGU6IHRydWUsXG4gICAgcGx1Z2luczogW1xuICAgICAgeE1vbmtleVN0cmlwTWV0YWRhdGFQbHVnaW4oKSxcbiAgICAgIC8vIHhNb25rZXlEZXZQbHVnaW4oKSxcbiAgICAgIHNhc3NQbHVnaW4oeyBzdHlsZTogXCJjb21wcmVzc2VkXCIgfSksXG4gICAgICB4TW9ua2V5U3R5bGVzUGx1Z2luKCksXG4gICAgXSxcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSBcImVzYnVpbGRcIjtcbmltcG9ydCB7IHJlYWRGaWxlLCB3cml0ZUZpbGUgfSBmcm9tIFwiZnMvcHJvbWlzZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHhNb25rZXlTdHJpcE1ldGFkYXRhUGx1Z2luKCk6IFBsdWdpbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogXCJ4bW9ua2V5LXN0cmlwLW1ldGFkYXRhLXBsdWdpblwiLFxuICAgIHNldHVwKGJ1aWxkKSB7XG4gICAgICBsZXQgZm91bmRNZXRhZGF0YSA9IGZhbHNlO1xuICAgICAgbGV0IG1ldGFkYXRhQ29udGVudCA9IFwiXCI7XG5cbiAgICAgIGJ1aWxkLm9uTG9hZCh7IGZpbHRlcjogLy4odHN8dHN4KS8sIG5hbWVzcGFjZTogXCJmaWxlXCIgfSwgYXN5bmMgKGFyZ3MpID0+IHtcbiAgICAgICAgaWYgKGZvdW5kTWV0YWRhdGEpIHJldHVybjtcbiAgICAgICAgY29uc3Qgc291cmNlID0gYXdhaXQgcmVhZEZpbGUoYXJncy5wYXRoLCBcInV0ZjhcIik7XG4gICAgICAgIGNvbnN0IHNjcmlwdE1ldGFkYXRhSW5kZXggPSBzb3VyY2UubWF0Y2goL0AoQ29uc29sZVNjcmlwdHxVaVNjcmlwdClcXCgvKT8uaW5kZXg7XG5cbiAgICAgICAgaWYgKCFzY3JpcHRNZXRhZGF0YUluZGV4IHx8IHNjcmlwdE1ldGFkYXRhSW5kZXggPCAwKSByZXR1cm47XG4gICAgICAgIGZvdW5kTWV0YWRhdGEgPSB0cnVlO1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdXNlbGVzcy1lc2NhcGVcbiAgICAgICAgY29uc3QgcmVnZXggPSAvXFxAKENvbnNvbGVTY3JpcHR8VWlTY3JpcHQpXFwoW15cXCldKlxcKShcXC5bXlxcKV0qXFwpKT8vZ2k7XG4gICAgICAgIGNvbnN0IG1ldGFkYXRhRGVjb3JhdG9yTWF0Y2hlciA9IHNvdXJjZS5tYXRjaChyZWdleCk7XG4gICAgICAgIGlmIChtZXRhZGF0YURlY29yYXRvck1hdGNoZXIpIHtcbiAgICAgICAgICBtZXRhZGF0YUNvbnRlbnQgPSBtZXRhZGF0YURlY29yYXRvck1hdGNoZXIuYXQoMCkgYXMgc3RyaW5nO1xuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwibWV0YWRhdGFDb250ZW50XCIsIG1ldGFkYXRhQ29udGVudCk7XG4gICAgICAgICAgY29uc3Qgc3RhcnRKc29uTWV0YWRhdGFJbmRleCA9IG1ldGFkYXRhQ29udGVudC5pbmRleE9mKFwie1wiKTtcbiAgICAgICAgICBjb25zdCBlbmRKc29uTWV0YWRhdGFJbmRleCA9IG1ldGFkYXRhQ29udGVudC5sYXN0SW5kZXhPZihcIn1cIik7XG4gICAgICAgICAgY29uc3QgbWV0YWRhdGFKc29uU3RyaW5nID0gbWV0YWRhdGFDb250ZW50LnN1YnN0cmluZyhzdGFydEpzb25NZXRhZGF0YUluZGV4LCBlbmRKc29uTWV0YWRhdGFJbmRleCArIDEpO1xuICAgICAgICAgIGNvbnN0IGNvbnRlbnRzID0gc291cmNlLnJlcGxhY2UobWV0YWRhdGFKc29uU3RyaW5nLCBcIlwiKTsgLy8gcmVtb3ZlIHRoZSBqc29uIG1ldGFkYXRhIGZyb20gc291cmNlXG4gICAgICAgICAgLy8gY29uc3QgY29udGVudHMgPSBzb3VyY2UucmVwbGFjZShyZWdleCwgXCJcIik7IC8vIHJlbW92ZSBAQ29uc29sZVNjcmlwdCh7Li4uLn0pIGZyb20gc291cmNlXG5cbiAgICAgICAgICAvLyBjb25zdCBjb250ZW50cyA9IHNvdXJjZS5yZXBsYWNlKHJlZ2V4LCBcIlwiKTtcbiAgICAgICAgICBjb25zdCBleHRlbnNpb24gPSBhcmdzLnBhdGguc3BsaXQoXCIuXCIpLnBvcCgpO1xuXG4gICAgICAgICAgY29uc3QgbG9hZGVyID0gZXh0ZW5zaW9uID09PSBcInRzeFwiID8gXCJ0c3hcIiA6IFwidHNcIjtcblxuICAgICAgICAgIHJldHVybiB7IGNvbnRlbnRzLCBsb2FkZXIgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH0pO1xuXG4gICAgICBidWlsZC5vbkVuZChhc3luYyAocmVzdWx0KSA9PiB7XG4gICAgICAgIGlmICghYnVpbGQuaW5pdGlhbE9wdGlvbnM/Lm91dGZpbGUgfHwgIWJ1aWxkLmluaXRpYWxPcHRpb25zPy5idW5kbGUpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKFwiV3JvbmcgYnVpbGQgY29uZmlndXJhdGlvbi4gT3B0aW9ucyAnYnVuZGxlJyBtdXN0IGJlIGVuYWJsZWQgYW5kICdvdXRmaWxlJyBtdXN0IGJlIHNldC5cIik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFmb3VuZE1ldGFkYXRhKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIlNjcmlwdE1ldGFkYXRhIGRlY29yYXRvciBub3QgZm91bmQuXCIpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXN1bHQuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBidWlsZGluZy4gU2NyaXB0IE1ldGFkYXRhIGNhbm5vdCBiZSBhZGRlZCB0byBmaW5hbCBzY3JpcHQuXCIpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpbGVDb250ZW50cyA9IGF3YWl0IHJlYWRGaWxlKGJ1aWxkLmluaXRpYWxPcHRpb25zLm91dGZpbGUpO1xuICAgICAgICBjb25zdCBzY3JpcHRNZXRhZGF0YVN0cmluZyA9IGdldFNjcmlwdE1ldGFkYXRhU3RyaW5nKG1ldGFkYXRhQ29udGVudCk7XG4gICAgICAgIGF3YWl0IHdyaXRlRmlsZShidWlsZC5pbml0aWFsT3B0aW9ucy5vdXRmaWxlLCBgJHtzY3JpcHRNZXRhZGF0YVN0cmluZ31cXG5cXG4ke2ZpbGVDb250ZW50cy50b1N0cmluZygpfWApO1xuICAgICAgfSk7XG4gICAgfSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0U2NyaXB0TWV0YWRhdGFTdHJpbmcoc2NyaXB0TWV0YWRhdGFGdW5jdGlvbkNhbGxTdHJpbmc6IHN0cmluZykge1xuICBzY3JpcHRNZXRhZGF0YUZ1bmN0aW9uQ2FsbFN0cmluZyA9IHNjcmlwdE1ldGFkYXRhRnVuY3Rpb25DYWxsU3RyaW5nLnRyaW0oKTtcbiAgY29uc3Qgc3RhcnRKc29uTWV0YWRhdGFJbmRleCA9IHNjcmlwdE1ldGFkYXRhRnVuY3Rpb25DYWxsU3RyaW5nLmluZGV4T2YoXCJ7XCIpO1xuICBjb25zdCBlbmRKc29uTWV0YWRhdGFJbmRleCA9IHNjcmlwdE1ldGFkYXRhRnVuY3Rpb25DYWxsU3RyaW5nLmxhc3RJbmRleE9mKFwifVwiKTtcbiAgaWYgKHN0YXJ0SnNvbk1ldGFkYXRhSW5kZXggPCAwIHx8IGVuZEpzb25NZXRhZGF0YUluZGV4IDwgMCkge1xuICAgIHJldHVybiBcIlwiO1xuICB9XG5cbiAgY29uc3QgbWV0YWRhdGFPYmplY3QgPSBKU09OLnBhcnNlKFxuICAgIHNjcmlwdE1ldGFkYXRhRnVuY3Rpb25DYWxsU3RyaW5nXG4gICAgICAuc3Vic3RyaW5nKHN0YXJ0SnNvbk1ldGFkYXRhSW5kZXgsIGVuZEpzb25NZXRhZGF0YUluZGV4ICsgMSlcbiAgICAgIC5yZXBsYWNlQWxsKFwiXFxuXCIsIFwiXCIpXG4gICAgICAucmVwbGFjZUFsbChcIix9XCIsIFwifVwiKSxcbiAgKTtcblxuICBjb25zdCB0YWcgPSBcIi8vID09VXNlclNjcmlwdD09XCI7XG4gIGNvbnN0IHRhZ0VuZCA9IFwiLy8gPT0vVXNlclNjcmlwdD09XCI7XG4gIGNvbnN0IGhlYWRlcnNBcnIgPSBbXTtcblxuICBjb25zdCBzcGFjZXMgPSAxMztcbiAgZm9yIChjb25zdCBrZXkgaW4gbWV0YWRhdGFPYmplY3QpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShtZXRhZGF0YU9iamVjdFtrZXldKSkge1xuICAgICAgbWV0YWRhdGFPYmplY3Rba2V5XS5mb3JFYWNoKChpdGVtOiB1bmtub3duKSA9PiB7XG4gICAgICAgIGhlYWRlcnNBcnIucHVzaChgJHtrZXkucGFkRW5kKHNwYWNlcywgXCIgXCIpfSR7aXRlbX1gKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBoZWFkZXJzQXJyLnB1c2goYCR7a2V5LnBhZEVuZChzcGFjZXMsIFwiIFwiKX0ke21ldGFkYXRhT2JqZWN0W2tleV19YCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGVhZGVycyA9IGhlYWRlcnNBcnIubWFwKChoKSA9PiBgLy8gJHtofWApLmpvaW4oXCJcXG5cIik7XG4gIHJldHVybiBgJHt0YWd9XFxuJHtoZWFkZXJzfVxcbiR7dGFnRW5kfWA7XG59XG4iLCAiaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSBcImVzYnVpbGRcIjtcbmltcG9ydCB7IGFwcGVuZEZpbGUsIHJlYWRGaWxlIH0gZnJvbSBcImZzL3Byb21pc2VzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiB4TW9ua2V5U3R5bGVzUGx1Z2luKCk6IFBsdWdpbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogXCJ4bW9ua2V5LXN0eWxlcy1wbHVnaW5cIixcbiAgICBzZXR1cChidWlsZCkge1xuICAgICAgYnVpbGQub25FbmQoYXN5bmMgKHJlc3VsdCkgPT4ge1xuICAgICAgICBpZiAoIWJ1aWxkLmluaXRpYWxPcHRpb25zPy5vdXRmaWxlIHx8ICFidWlsZC5pbml0aWFsT3B0aW9ucz8uYnVuZGxlKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihcIldyb25nIGJ1aWxkIGNvbmZpZ3VyYXRpb24uIE9wdGlvbnMgJ2J1bmRsZScgbXVzdCBiZSBlbmFibGVkIGFuZCAnb3V0ZmlsZScgbXVzdCBiZSBzZXQuXCIpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghcmVzdWx0Lm1ldGFmaWxlKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFwiRVNCdWlsZCBtZXRhZmlsZSBub3QgZW5hYmxlZC4gU3R5bGUgYnVuZGxlIHNraXBwZWQuXCIpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvdXRwdXRzID0gcmVzdWx0Lm1ldGFmaWxlLm91dHB1dHM7XG4gICAgICAgIGxldCBjc3NGaWxlUGF0aCA9IFwiXCI7XG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBpbiBvdXRwdXRzKSB7XG4gICAgICAgICAgY29uc3QgZXh0ID0gZmlsZS5zcGxpdChcIi5cIikucG9wKCk7XG4gICAgICAgICAgaWYgKGV4dCA9PT0gXCJjc3NcIikge1xuICAgICAgICAgICAgY3NzRmlsZVBhdGggPSBmaWxlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFjc3NGaWxlUGF0aC5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zb2xlLndhcm4oXCJDU1Mgb3V0cHV0IG5vdCBnZW5lcmF0ZWQuIFN0eWxlIGJ1bmRsZSBza2lwcGVkLlwiKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBqc091dEZpbGUgPSBidWlsZC5pbml0aWFsT3B0aW9ucy5vdXRmaWxlO1xuXG4gICAgICAgIGNvbnN0IGNzc0NvbnRlbnRzID0gKGF3YWl0IHJlYWRGaWxlKGNzc0ZpbGVQYXRoKSkudG9TdHJpbmcoKTtcbiAgICAgICAgYXBwZW5kRmlsZShqc091dEZpbGUsIGBcXG5HTS5hZGRTdHlsZShcIlxcXFxcXG4ke2Nzc0NvbnRlbnRzLnRyaW0oKX1cXFxcXFxuXCIpO2ApO1xuICAgICAgfSk7XG4gICAgfSxcbiAgfTtcbn1cbiIsICJpbXBvcnQgeyBidWlsZFhtb25rZXlTY3JpcHQgfSBmcm9tIFwiLi9lc2J1aWxkL2J1aWxkLmpzXCI7XG5cbmNvbnN0IGVudHJ5RmlsZSA9IHByb2Nlc3MuYXJndlsyXTtcblxuaWYgKCFlbnRyeUZpbGUpIHtcbiAgY29uc29sZS5lcnJvcihgTm8gZW50cnlmaWxlIHNwZWNpZmllZC4gVHJ5IGFkZGluZyB0aGUgc2NyaXB0IHRvIGJ1aWxkIGluIHRoZSBhcmd1bWVudC5gKTtcbiAgY29uc29sZS5lcnJvcihgRXhhbXBsZTogbnBtIHJ1biBidWlsZCBzcmMvZXhhbXBsZS1zY3JpcHQudHNgKTtcbiAgcHJvY2Vzcy5leGl0KDEpO1xufVxuXG5idWlsZFhtb25rZXlTY3JpcHQoZW50cnlGaWxlKTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGNBQXlCO0FBQ3pCLGlDQUEyQjs7O0FDQTNCLHNCQUFvQztBQUU3QixTQUFTLDZCQUFxQztBQUNuRCxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNQSxRQUFPO0FBQ1gsVUFBSSxnQkFBZ0I7QUFDcEIsVUFBSSxrQkFBa0I7QUFFdEIsTUFBQUEsT0FBTSxPQUFPLEVBQUUsUUFBUSxhQUFhLFdBQVcsT0FBTyxHQUFHLE9BQU8sU0FBUztBQUN2RSxZQUFJO0FBQWU7QUFDbkIsY0FBTSxTQUFTLFVBQU0sMEJBQVMsS0FBSyxNQUFNLE1BQU07QUFDL0MsY0FBTSxzQkFBc0IsT0FBTyxNQUFNLDZCQUE2QixHQUFHO0FBRXpFLFlBQUksQ0FBQyx1QkFBdUIsc0JBQXNCO0FBQUc7QUFDckQsd0JBQWdCO0FBRWhCLGNBQU0sUUFBUTtBQUNkLGNBQU0sMkJBQTJCLE9BQU8sTUFBTSxLQUFLO0FBQ25ELFlBQUksMEJBQTBCO0FBQzVCLDRCQUFrQix5QkFB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
|
|
@@ -4,8 +4,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { ConsoleScript } from "../decorators/console-script.decorator.js";
|
|
8
7
|
import { sleep } from "../utils/sleep.js";
|
|
8
|
+
import { ConsoleScript } from "@lukaskj/xmonkey";
|
|
9
9
|
let ExampleConsoleScript = class ExampleConsoleScript {
|
|
10
10
|
async execute() {
|
|
11
11
|
for (let i = 0; i < 50; i++) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IUiScript } from "
|
|
2
|
-
import "
|
|
1
|
+
import { IUiScript } from "@lukaskj/xmonkey";
|
|
2
|
+
import "@lukaskj/xmonkey/styles/base.scss";
|
|
3
3
|
export declare class ExampleUiScript implements IUiScript {
|
|
4
4
|
title: string;
|
|
5
5
|
render(): import("preact").JSX.Element;
|
|
@@ -5,9 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "preact/jsx-runtime";
|
|
8
|
-
import { UiScript } from "
|
|
8
|
+
import { UiScript } from "@lukaskj/xmonkey";
|
|
9
|
+
import "@lukaskj/xmonkey/styles/base.scss";
|
|
9
10
|
import { useState } from "preact/hooks";
|
|
10
|
-
import "./example-scss.scss";
|
|
11
11
|
let ExampleUiScript = class ExampleUiScript {
|
|
12
12
|
title = "Example UI Script";
|
|
13
13
|
render() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lukaskj/xmonkey",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.4",
|
|
4
4
|
"author": "lukaskj",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"scripts": {
|
|
@@ -8,9 +8,10 @@
|
|
|
8
8
|
"prebuild": "pnpm run clean",
|
|
9
9
|
"prepublish": "pnpm run build",
|
|
10
10
|
"build:old": "node esbuild/build.mjs",
|
|
11
|
-
"build": "pnpm build:esm && pnpm copy-styles",
|
|
11
|
+
"build": "pnpm build:esm && pnpm build:bin && pnpm copy-styles",
|
|
12
12
|
"build:esm": "tsc -p tsconfig.build.json",
|
|
13
13
|
"build:cjs": "tsc -p tsconfig.build.json --module CommonJS --outDir dist/cjs",
|
|
14
|
+
"build:bin": "esbuild src/build.ts --platform=node --format=cjs --packages=external --bundle --sourcemap=inline --outfile=dist/build.js",
|
|
14
15
|
"build:prod": "pnpm run lint && pnpm run build",
|
|
15
16
|
"build:dev": "DEBUG=1 node esbuild/build.mjs",
|
|
16
17
|
"build:debug": "DEBUG=1 node esbuild/build.mjs",
|
|
@@ -69,7 +70,8 @@
|
|
|
69
70
|
"*.{js,mjs,ts,tsx,jsx}": "eslint --fix"
|
|
70
71
|
},
|
|
71
72
|
"exports": {
|
|
72
|
-
".": "./dist
|
|
73
|
+
".": "./dist/index.js",
|
|
74
|
+
"./styles/*": "./dist/styles/*",
|
|
73
75
|
"./decorators": "./dist/decorators/*",
|
|
74
76
|
"./interfaces": "./dist/interfaces/*"
|
|
75
77
|
},
|
|
@@ -83,6 +85,5 @@
|
|
|
83
85
|
],
|
|
84
86
|
"bin": {
|
|
85
87
|
"xmonkey": "dist/build.js"
|
|
86
|
-
}
|
|
87
|
-
"type": "module"
|
|
88
|
+
}
|
|
88
89
|
}
|