Compare commits
No commits in common. "27f87553b32defc7ae8d392ca5c610e86d948587" and "c41e23cdc51a097488b1fb99e1847eb48df33c85" have entirely different histories.
27f87553b3
...
c41e23cdc5
2
LICENSE
2
LICENSE
|
@ -1,6 +1,6 @@
|
||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2022, Hammer Technologies LLC
|
Copyright (c) <year> <copyright holders>
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
import type { Plugin } from "vite";
|
|
||||||
export default function bundleNativeModulesPlugin(): Plugin;
|
|
|
@ -1,103 +0,0 @@
|
||||||
"use strict";
|
|
||||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
||||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
const ast_matcher_1 = __importDefault(require("ast-matcher"));
|
|
||||||
const magic_string_1 = __importDefault(require("magic-string"));
|
|
||||||
// @ts-ignore
|
|
||||||
const loady_1 = __importDefault(require("loady"));
|
|
||||||
const fs_1 = __importDefault(require("fs"));
|
|
||||||
const loaderFunction = `function loadNativeModuleTemp(module, data) {
|
|
||||||
const tempDir = require("os").tmpdir();
|
|
||||||
const fs = require("fs");
|
|
||||||
const path = require("path");
|
|
||||||
const outputPath = path.join(tempDir, module, "build", "Release");
|
|
||||||
const modulePath = path.join(outputPath, module + ".node");
|
|
||||||
|
|
||||||
fs.mkdirSync(outputPath, { recursive: true });
|
|
||||||
fs.writeFileSync(modulePath, Buffer.from(data, "base64"));
|
|
||||||
|
|
||||||
return modulePath;
|
|
||||||
}`;
|
|
||||||
function bundleNativeModulesPlugin() {
|
|
||||||
const edits = [];
|
|
||||||
/*
|
|
||||||
Copied from https://github.com/sastan/rollup-plugin-define/blob/main/src/define.ts
|
|
||||||
*/
|
|
||||||
function markEdited(node, edits) {
|
|
||||||
for (const [start, end] of edits) {
|
|
||||||
if ((start <= node.start && node.start < end) ||
|
|
||||||
(start < node.end && node.end <= end)) {
|
|
||||||
return false; // Already edited
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Not edited
|
|
||||||
return edits.push([node.start, node.end]);
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
name: "bundle-native-modules",
|
|
||||||
transform(src, id, ast) {
|
|
||||||
if (!/\.(js)$/.test(id)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
if (!/binding/.test(src)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
const magicString = new magic_string_1.default(src);
|
|
||||||
const parse = (code, source = code) => {
|
|
||||||
try {
|
|
||||||
return this.parse(code, undefined);
|
|
||||||
}
|
|
||||||
catch (error) {
|
|
||||||
error.message += ` in ${source}`;
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
ast_matcher_1.default.setParser(parse);
|
|
||||||
if (!ast) {
|
|
||||||
try {
|
|
||||||
ast = parse(src);
|
|
||||||
}
|
|
||||||
catch (e) {
|
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
const findLoady = (0, ast_matcher_1.default)("require('loady')(__str_aName, __any)");
|
|
||||||
const loadyMatches = findLoady(ast);
|
|
||||||
if (loadyMatches?.length) {
|
|
||||||
for (const match of loadyMatches) {
|
|
||||||
if (markEdited(match.node, edits)) {
|
|
||||||
const modulePath = loady_1.default.resolve(match.match.aName, id);
|
|
||||||
const moduleFile = fs_1.default.readFileSync(modulePath);
|
|
||||||
const moduleB64 = moduleFile.toString("base64");
|
|
||||||
magicString.overwrite(match.node.start, match.node.end, `require('loady')('${match.match.aName}', loadNativeModuleTemp('${match.match.aName}', '${moduleB64}'))`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (edits.length === 0) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
const findStrict = (0, ast_matcher_1.default)('"use strict";');
|
|
||||||
const strictMatches = findStrict(ast);
|
|
||||||
let injectNode;
|
|
||||||
if (strictMatches?.length) {
|
|
||||||
injectNode = strictMatches[0].node;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
injectNode = ast.body[0];
|
|
||||||
}
|
|
||||||
magicString.appendRight(injectNode.end + 1, loaderFunction);
|
|
||||||
return {
|
|
||||||
code: magicString.toString(),
|
|
||||||
map: magicString.generateMap({
|
|
||||||
source: src,
|
|
||||||
includeContent: true,
|
|
||||||
hires: true,
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
},
|
|
||||||
};
|
|
||||||
}
|
|
||||||
exports.default = bundleNativeModulesPlugin;
|
|
||||||
//# sourceMappingURL=index.js.map
|
|
16
package.json
16
package.json
|
@ -1,16 +0,0 @@
|
||||||
{
|
|
||||||
"name": "@lumeweb/rollup-plugin-bundle-native-modules",
|
|
||||||
"version": "0.1.0",
|
|
||||||
"main": "dist/index.js",
|
|
||||||
"dependencies": {
|
|
||||||
"ast-matcher": "^1.1.1",
|
|
||||||
"loady": "^0.0.5",
|
|
||||||
"magic-string": "^0.27.0"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@types/node": "^18.11.14",
|
|
||||||
"prettier": "^2.8.1",
|
|
||||||
"rollup": "^3.7.4",
|
|
||||||
"vite": "^4.0.1"
|
|
||||||
}
|
|
||||||
}
|
|
124
src/index.ts
124
src/index.ts
|
@ -1,124 +0,0 @@
|
||||||
import astMatcher from "ast-matcher";
|
|
||||||
import MagicString from "magic-string";
|
|
||||||
// @ts-ignore
|
|
||||||
import loady from "loady";
|
|
||||||
import fs from "fs";
|
|
||||||
import type { PluginContext } from "rollup";
|
|
||||||
import type { Plugin } from "vite";
|
|
||||||
|
|
||||||
const loaderFunction = `function loadNativeModuleTemp(module, data) {
|
|
||||||
const tempDir = require("os").tmpdir();
|
|
||||||
const fs = require("fs");
|
|
||||||
const path = require("path");
|
|
||||||
const outputPath = path.join(tempDir, module, "build", "Release");
|
|
||||||
const modulePath = path.join(outputPath, module + ".node");
|
|
||||||
|
|
||||||
fs.mkdirSync(outputPath, { recursive: true });
|
|
||||||
fs.writeFileSync(modulePath, Buffer.from(data, "base64"));
|
|
||||||
|
|
||||||
return modulePath;
|
|
||||||
}`;
|
|
||||||
|
|
||||||
type Edit = [number, number];
|
|
||||||
type AstNode = { start: number; end: number };
|
|
||||||
|
|
||||||
export default function bundleNativeModulesPlugin() {
|
|
||||||
const edits: Edit[] = [];
|
|
||||||
|
|
||||||
/*
|
|
||||||
Copied from https://github.com/sastan/rollup-plugin-define/blob/main/src/define.ts
|
|
||||||
*/
|
|
||||||
function markEdited(node: AstNode, edits: Edit[]): number | false {
|
|
||||||
for (const [start, end] of edits) {
|
|
||||||
if (
|
|
||||||
(start <= node.start && node.start < end) ||
|
|
||||||
(start < node.end && node.end <= end)
|
|
||||||
) {
|
|
||||||
return false; // Already edited
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Not edited
|
|
||||||
return edits.push([node.start, node.end]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
name: "bundle-native-modules",
|
|
||||||
transform(src, id, ast: any) {
|
|
||||||
if (!/\.(js)$/.test(id)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
if (!/binding/.test(src)) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
const magicString = new MagicString(src);
|
|
||||||
|
|
||||||
const parse = (
|
|
||||||
code: string,
|
|
||||||
source = code
|
|
||||||
): ReturnType<PluginContext["parse"]> => {
|
|
||||||
try {
|
|
||||||
return this.parse(code, undefined);
|
|
||||||
} catch (error) {
|
|
||||||
(error as Error).message += ` in ${source}`;
|
|
||||||
throw error;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
astMatcher.setParser(parse);
|
|
||||||
|
|
||||||
if (!ast) {
|
|
||||||
try {
|
|
||||||
ast = parse(src);
|
|
||||||
} catch (e) {
|
|
||||||
throw e;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const findLoady = astMatcher("require('loady')(__str_aName, __any)");
|
|
||||||
const loadyMatches = findLoady(ast);
|
|
||||||
|
|
||||||
if (loadyMatches?.length) {
|
|
||||||
for (const match of loadyMatches) {
|
|
||||||
if (markEdited(match.node, edits)) {
|
|
||||||
const modulePath = loady.resolve(match.match.aName, id);
|
|
||||||
const moduleFile = fs.readFileSync(modulePath);
|
|
||||||
const moduleB64 = moduleFile.toString("base64");
|
|
||||||
magicString.overwrite(
|
|
||||||
match.node.start,
|
|
||||||
match.node.end,
|
|
||||||
`require('loady')('${match.match.aName}', loadNativeModuleTemp('${match.match.aName}', '${moduleB64}'))`
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (edits.length === 0) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
const findStrict = astMatcher('"use strict";');
|
|
||||||
const strictMatches = findStrict(ast);
|
|
||||||
|
|
||||||
let injectNode;
|
|
||||||
|
|
||||||
if (strictMatches?.length) {
|
|
||||||
injectNode = strictMatches[0].node;
|
|
||||||
} else {
|
|
||||||
injectNode = ast.body[0];
|
|
||||||
}
|
|
||||||
|
|
||||||
magicString.appendRight(injectNode.end + 1, loaderFunction);
|
|
||||||
|
|
||||||
return {
|
|
||||||
code: magicString.toString(),
|
|
||||||
map: magicString.generateMap({
|
|
||||||
source: src,
|
|
||||||
includeContent: true,
|
|
||||||
hires: true,
|
|
||||||
}),
|
|
||||||
};
|
|
||||||
},
|
|
||||||
} as Plugin;
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
{
|
|
||||||
"compilerOptions": {
|
|
||||||
"allowSyntheticDefaultImports": true,
|
|
||||||
"esModuleInterop": true,
|
|
||||||
"lib": ["es6","dom"],
|
|
||||||
"module": "commonjs",
|
|
||||||
"moduleResolution": "node",
|
|
||||||
"noEmitOnError": false,
|
|
||||||
"declaration": true,
|
|
||||||
"noUnusedLocals": true,
|
|
||||||
"noUnusedParameters": true,
|
|
||||||
"pretty": true,
|
|
||||||
"sourceMap": true,
|
|
||||||
"strict": true,
|
|
||||||
"target": "esnext",
|
|
||||||
"outDir": "dist"
|
|
||||||
},
|
|
||||||
"exclude": ["dist", "node_modules", "test/types"]
|
|
||||||
}
|
|
259
yarn.lock
259
yarn.lock
|
@ -1,259 +0,0 @@
|
||||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
|
||||||
# yarn lockfile v1
|
|
||||||
|
|
||||||
|
|
||||||
"@esbuild/android-arm64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.4.tgz#4b31b9e3da2e4c12a8170bd682f713c775f68ab1"
|
|
||||||
integrity sha512-VPuTzXFm/m2fcGfN6CiwZTlLzxrKsWbPkG7ArRFpuxyaHUm/XFHQPD4xNwZT6uUmpIHhnSjcaCmcla8COzmZ5Q==
|
|
||||||
|
|
||||||
"@esbuild/android-arm@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.4.tgz#057d3e8b0ee41ff59386c33ba6dcf20f4bedd1f7"
|
|
||||||
integrity sha512-rZzb7r22m20S1S7ufIc6DC6W659yxoOrl7sKP1nCYhuvUlnCFHVSbATG4keGUtV8rDz11sRRDbWkvQZpzPaHiw==
|
|
||||||
|
|
||||||
"@esbuild/android-x64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.4.tgz#62ccab8ac1d3e6ef1df3fa2e1974bc2b8528d74a"
|
|
||||||
integrity sha512-MW+B2O++BkcOfMWmuHXB15/l1i7wXhJFqbJhp82IBOais8RBEQv2vQz/jHrDEHaY2X0QY7Wfw86SBL2PbVOr0g==
|
|
||||||
|
|
||||||
"@esbuild/darwin-arm64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.4.tgz#c19a6489d626c36fc611c85ccd8a3333c1f2a930"
|
|
||||||
integrity sha512-a28X1O//aOfxwJVZVs7ZfM8Tyih2Za4nKJrBwW5Wm4yKsnwBy9aiS/xwpxiiTRttw3EaTg4Srerhcm6z0bu9Wg==
|
|
||||||
|
|
||||||
"@esbuild/darwin-x64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.4.tgz#b726bbc84a1e277f6ec2509d10b8ee03f242b776"
|
|
||||||
integrity sha512-e3doCr6Ecfwd7VzlaQqEPrnbvvPjE9uoTpxG5pyLzr2rI2NMjDHmvY1E5EO81O/e9TUOLLkXA5m6T8lfjK9yAA==
|
|
||||||
|
|
||||||
"@esbuild/freebsd-arm64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.4.tgz#364568e6ca2901297f247de0681c9b14bbe658c8"
|
|
||||||
integrity sha512-Oup3G/QxBgvvqnXWrBed7xxkFNwAwJVHZcklWyQt7YCAL5bfUkaa6FVWnR78rNQiM8MqqLiT6ZTZSdUFuVIg1w==
|
|
||||||
|
|
||||||
"@esbuild/freebsd-x64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.4.tgz#44701ba4a5497ba64eec0a6c9e221d8f46a25e72"
|
|
||||||
integrity sha512-vAP+eYOxlN/Bpo/TZmzEQapNS8W1njECrqkTpNgvXskkkJC2AwOXwZWai/Kc2vEFZUXQttx6UJbj9grqjD/+9Q==
|
|
||||||
|
|
||||||
"@esbuild/linux-arm64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.4.tgz#b58fb418ec9ac714d8dbb38c787ff2441eb1d9db"
|
|
||||||
integrity sha512-2zXoBhv4r5pZiyjBKrOdFP4CXOChxXiYD50LRUU+65DkdS5niPFHbboKZd/c81l0ezpw7AQnHeoCy5hFrzzs4g==
|
|
||||||
|
|
||||||
"@esbuild/linux-arm@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.4.tgz#b37f15ecddb53eeea466e5960e31a58f33e0e87e"
|
|
||||||
integrity sha512-A47ZmtpIPyERxkSvIv+zLd6kNIOtJH03XA0Hy7jaceRDdQaQVGSDt4mZqpWqJYgDk9rg96aglbF6kCRvPGDSUA==
|
|
||||||
|
|
||||||
"@esbuild/linux-ia32@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.4.tgz#117e32a9680b5deac184ebee122f8575369fad1b"
|
|
||||||
integrity sha512-uxdSrpe9wFhz4yBwt2kl2TxS/NWEINYBUFIxQtaEVtglm1eECvsj1vEKI0KX2k2wCe17zDdQ3v+jVxfwVfvvjw==
|
|
||||||
|
|
||||||
"@esbuild/linux-loong64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.4.tgz#dd504fb83c280752d4b485d9acb3cf391cb7bf5b"
|
|
||||||
integrity sha512-peDrrUuxbZ9Jw+DwLCh/9xmZAk0p0K1iY5d2IcwmnN+B87xw7kujOkig6ZRcZqgrXgeRGurRHn0ENMAjjD5DEg==
|
|
||||||
|
|
||||||
"@esbuild/linux-mips64el@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.4.tgz#9ab77e31cf3be1e35572afff94b51df8149d15bd"
|
|
||||||
integrity sha512-sD9EEUoGtVhFjjsauWjflZklTNr57KdQ6xfloO4yH1u7vNQlOfAlhEzbyBKfgbJlW7rwXYBdl5/NcZ+Mg2XhQA==
|
|
||||||
|
|
||||||
"@esbuild/linux-ppc64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.4.tgz#69d56c2a960808bee1c7b9b84a115220ec9ce05c"
|
|
||||||
integrity sha512-X1HSqHUX9D+d0l6/nIh4ZZJ94eQky8d8z6yxAptpZE3FxCWYWvTDd9X9ST84MGZEJx04VYUD/AGgciddwO0b8g==
|
|
||||||
|
|
||||||
"@esbuild/linux-riscv64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.4.tgz#9fc23583f4a1508a8d352bd376340e42217e8a90"
|
|
||||||
integrity sha512-97ANpzyNp0GTXCt6SRdIx1ngwncpkV/z453ZuxbnBROCJ5p/55UjhbaG23UdHj88fGWLKPFtMoU4CBacz4j9FA==
|
|
||||||
|
|
||||||
"@esbuild/linux-s390x@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.4.tgz#4cae1f70ac2943f076dd130c3c80d28f57bf75d1"
|
|
||||||
integrity sha512-pUvPQLPmbEeJRPjP0DYTC1vjHyhrnCklQmCGYbipkep+oyfTn7GTBJXoPodR7ZS5upmEyc8lzAkn2o29wD786A==
|
|
||||||
|
|
||||||
"@esbuild/linux-x64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.4.tgz#fdf494de07cda23a2dc4b71ff1e0848e4ee6539c"
|
|
||||||
integrity sha512-N55Q0mJs3Sl8+utPRPBrL6NLYZKBCLLx0bme/+RbjvMforTGGzFvsRl4xLTZMUBFC1poDzBEPTEu5nxizQ9Nlw==
|
|
||||||
|
|
||||||
"@esbuild/netbsd-x64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.4.tgz#b59ecb49087119c575c0f64d7e66001d52799e24"
|
|
||||||
integrity sha512-LHSJLit8jCObEQNYkgsDYBh2JrJT53oJO2HVdkSYLa6+zuLJh0lAr06brXIkljrlI+N7NNW1IAXGn/6IZPi3YQ==
|
|
||||||
|
|
||||||
"@esbuild/openbsd-x64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.4.tgz#c51e36db875948b7b11d08bafa355605a1aa289c"
|
|
||||||
integrity sha512-nLgdc6tWEhcCFg/WVFaUxHcPK3AP/bh+KEwKtl69Ay5IBqUwKDaq/6Xk0E+fh/FGjnLwqFSsarsbPHeKM8t8Sw==
|
|
||||||
|
|
||||||
"@esbuild/sunos-x64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.4.tgz#0b50e941cd44f069e9f2573321aec984244ec228"
|
|
||||||
integrity sha512-08SluG24GjPO3tXKk95/85n9kpyZtXCVwURR2i4myhrOfi3jspClV0xQQ0W0PYWHioJj+LejFMt41q+PG3mlAQ==
|
|
||||||
|
|
||||||
"@esbuild/win32-arm64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.4.tgz#d1c93b20f17355ab2221cd18e13ae2f1b68013e3"
|
|
||||||
integrity sha512-yYiRDQcqLYQSvNQcBKN7XogbrSvBE45FEQdH8fuXPl7cngzkCvpsG2H9Uey39IjQ6gqqc+Q4VXYHsQcKW0OMjQ==
|
|
||||||
|
|
||||||
"@esbuild/win32-ia32@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.4.tgz#df5910e76660e0acbbdceb8d4ae6bf1efeade6ae"
|
|
||||||
integrity sha512-5rabnGIqexekYkh9zXG5waotq8mrdlRoBqAktjx2W3kb0zsI83mdCwrcAeKYirnUaTGztR5TxXcXmQrEzny83w==
|
|
||||||
|
|
||||||
"@esbuild/win32-x64@0.16.4":
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.4.tgz#6ec594468610c176933da1387c609558371d37e0"
|
|
||||||
integrity sha512-sN/I8FMPtmtT2Yw+Dly8Ur5vQ5a/RmC8hW7jO9PtPSQUPkowxWpcUZnqOggU7VwyT3Xkj6vcXWd3V/qTXwultQ==
|
|
||||||
|
|
||||||
"@jridgewell/sourcemap-codec@^1.4.13":
|
|
||||||
version "1.4.14"
|
|
||||||
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
|
|
||||||
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
|
|
||||||
|
|
||||||
"@types/node@^18.11.14":
|
|
||||||
version "18.11.14"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.14.tgz#a8571b25f3a31e9ded14e3ab9488509adef831d8"
|
|
||||||
integrity sha512-0KXV57tENYmmJMl+FekeW9V3O/rlcqGQQJ/hNh9r8pKIj304pskWuEd8fCyNT86g/TpO0gcOTiLzsHLEURFMIQ==
|
|
||||||
|
|
||||||
ast-matcher@^1.1.1:
|
|
||||||
version "1.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/ast-matcher/-/ast-matcher-1.1.1.tgz#95a6dc72318319507024fff438b7839e4e280813"
|
|
||||||
integrity sha512-wQPAp09kPFRQsOijM2Blfg4lH6B9MIhIUrhFtDdhD/1JFhPmfg2/+WAjViVYl3N7EwleHI+q/enTHjaDrv+wEw==
|
|
||||||
|
|
||||||
esbuild@^0.16.3:
|
|
||||||
version "0.16.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.4.tgz#06c86298d233386f5e41bcc14d36086daf3f40bd"
|
|
||||||
integrity sha512-qQrPMQpPTWf8jHugLWHoGqZjApyx3OEm76dlTXobHwh/EBbavbRdjXdYi/GWr43GyN0sfpap14GPkb05NH3ROA==
|
|
||||||
optionalDependencies:
|
|
||||||
"@esbuild/android-arm" "0.16.4"
|
|
||||||
"@esbuild/android-arm64" "0.16.4"
|
|
||||||
"@esbuild/android-x64" "0.16.4"
|
|
||||||
"@esbuild/darwin-arm64" "0.16.4"
|
|
||||||
"@esbuild/darwin-x64" "0.16.4"
|
|
||||||
"@esbuild/freebsd-arm64" "0.16.4"
|
|
||||||
"@esbuild/freebsd-x64" "0.16.4"
|
|
||||||
"@esbuild/linux-arm" "0.16.4"
|
|
||||||
"@esbuild/linux-arm64" "0.16.4"
|
|
||||||
"@esbuild/linux-ia32" "0.16.4"
|
|
||||||
"@esbuild/linux-loong64" "0.16.4"
|
|
||||||
"@esbuild/linux-mips64el" "0.16.4"
|
|
||||||
"@esbuild/linux-ppc64" "0.16.4"
|
|
||||||
"@esbuild/linux-riscv64" "0.16.4"
|
|
||||||
"@esbuild/linux-s390x" "0.16.4"
|
|
||||||
"@esbuild/linux-x64" "0.16.4"
|
|
||||||
"@esbuild/netbsd-x64" "0.16.4"
|
|
||||||
"@esbuild/openbsd-x64" "0.16.4"
|
|
||||||
"@esbuild/sunos-x64" "0.16.4"
|
|
||||||
"@esbuild/win32-arm64" "0.16.4"
|
|
||||||
"@esbuild/win32-ia32" "0.16.4"
|
|
||||||
"@esbuild/win32-x64" "0.16.4"
|
|
||||||
|
|
||||||
fsevents@~2.3.2:
|
|
||||||
version "2.3.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
|
|
||||||
integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
|
|
||||||
|
|
||||||
function-bind@^1.1.1:
|
|
||||||
version "1.1.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
|
|
||||||
integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
|
|
||||||
|
|
||||||
has@^1.0.3:
|
|
||||||
version "1.0.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
|
|
||||||
integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
|
|
||||||
dependencies:
|
|
||||||
function-bind "^1.1.1"
|
|
||||||
|
|
||||||
is-core-module@^2.9.0:
|
|
||||||
version "2.11.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
|
|
||||||
integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
|
|
||||||
dependencies:
|
|
||||||
has "^1.0.3"
|
|
||||||
|
|
||||||
loady@^0.0.5:
|
|
||||||
version "0.0.5"
|
|
||||||
resolved "https://registry.yarnpkg.com/loady/-/loady-0.0.5.tgz#b17adb52d2fb7e743f107b0928ba0b591da5d881"
|
|
||||||
integrity sha512-uxKD2HIj042/HBx77NBcmEPsD+hxCgAtjEWlYNScuUjIsh/62Uyu39GOR68TBR68v+jqDL9zfftCWoUo4y03sQ==
|
|
||||||
|
|
||||||
magic-string@^0.27.0:
|
|
||||||
version "0.27.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3"
|
|
||||||
integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==
|
|
||||||
dependencies:
|
|
||||||
"@jridgewell/sourcemap-codec" "^1.4.13"
|
|
||||||
|
|
||||||
nanoid@^3.3.4:
|
|
||||||
version "3.3.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
|
|
||||||
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
|
|
||||||
|
|
||||||
path-parse@^1.0.7:
|
|
||||||
version "1.0.7"
|
|
||||||
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
|
|
||||||
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
|
|
||||||
|
|
||||||
picocolors@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
|
|
||||||
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
|
|
||||||
|
|
||||||
postcss@^8.4.20:
|
|
||||||
version "8.4.20"
|
|
||||||
resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56"
|
|
||||||
integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==
|
|
||||||
dependencies:
|
|
||||||
nanoid "^3.3.4"
|
|
||||||
picocolors "^1.0.0"
|
|
||||||
source-map-js "^1.0.2"
|
|
||||||
|
|
||||||
prettier@^2.8.1:
|
|
||||||
version "2.8.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.1.tgz#4e1fd11c34e2421bc1da9aea9bd8127cd0a35efc"
|
|
||||||
integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==
|
|
||||||
|
|
||||||
resolve@^1.22.1:
|
|
||||||
version "1.22.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
|
|
||||||
integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
|
|
||||||
dependencies:
|
|
||||||
is-core-module "^2.9.0"
|
|
||||||
path-parse "^1.0.7"
|
|
||||||
supports-preserve-symlinks-flag "^1.0.0"
|
|
||||||
|
|
||||||
rollup@^3.7.0, rollup@^3.7.4:
|
|
||||||
version "3.7.4"
|
|
||||||
resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.7.4.tgz#993c3b30eff1df96f5eafb7c2ef7648960f2fa34"
|
|
||||||
integrity sha512-jN9rx3k5pfg9H9al0r0y1EYKSeiRANZRYX32SuNXAnKzh6cVyf4LZVto1KAuDnbHT03E1CpsgqDKaqQ8FZtgxw==
|
|
||||||
optionalDependencies:
|
|
||||||
fsevents "~2.3.2"
|
|
||||||
|
|
||||||
source-map-js@^1.0.2:
|
|
||||||
version "1.0.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
|
|
||||||
integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
|
|
||||||
|
|
||||||
supports-preserve-symlinks-flag@^1.0.0:
|
|
||||||
version "1.0.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
|
|
||||||
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
|
|
||||||
|
|
||||||
vite@^4.0.1:
|
|
||||||
version "4.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/vite/-/vite-4.0.1.tgz#e0a54d818c28ae47fd27bcac6a4a952c6a658502"
|
|
||||||
integrity sha512-kZQPzbDau35iWOhy3CpkrRC7It+HIHtulAzBhMqzGHKRf/4+vmh8rPDDdv98SWQrFWo6//3ozwsRmwQIPZsK9g==
|
|
||||||
dependencies:
|
|
||||||
esbuild "^0.16.3"
|
|
||||||
postcss "^8.4.20"
|
|
||||||
resolve "^1.22.1"
|
|
||||||
rollup "^3.7.0"
|
|
||||||
optionalDependencies:
|
|
||||||
fsevents "~2.3.2"
|
|
Loading…
Reference in New Issue