obsidian-dev-utils
Version:
This is the collection of useful functions that you can use for your Obsidian plugin development
62 lines (59 loc) • 8.52 kB
JavaScript
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
(function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd(){return"/"},env:{},platform:"android"};globalThis.process=browserProcess})();
import { glob } from "glob";
import { getLibDebugger } from "../Debug.mjs";
import { join } from "../Path.mjs";
import { trimStart } from "../String.mjs";
import { readdirPosix } from "./Fs.mjs";
import { readJson } from "./JSON.mjs";
import {
cp,
rm
} from "./NodeModules.mjs";
import { npmRun } from "./NpmRun.mjs";
import { ObsidianDevUtilsRepoPaths } from "./ObsidianDevUtilsRepoPaths.mjs";
import {
execFromRoot,
resolvePathFromRootSafe
} from "./Root.mjs";
async function buildClean() {
await rm(ObsidianDevUtilsRepoPaths.Dist, { force: true, recursive: true });
}
async function buildCompile() {
await npmRun("build:compile:svelte");
await npmRun("build:compile:typescript");
}
async function buildCompileSvelte() {
const tsConfigPath = resolvePathFromRootSafe(ObsidianDevUtilsRepoPaths.TsConfigJson);
const tsConfig = await readJson(tsConfigPath);
const allFiles = await glob(tsConfig.include ?? [], { ignore: tsConfig.exclude ?? [] });
const svelteFiles = allFiles.filter((file) => file.endsWith(".svelte") || file.endsWith(".svelte.js") || file.endsWith(".svelte.ts"));
if (svelteFiles.length === 0) {
getLibDebugger("build:buildCompileSvelte")("No Svelte files found in the project, skipping Svelte compilation");
return;
}
await execFromRoot(["npx", "svelte-check", "--tsconfig", ObsidianDevUtilsRepoPaths.TsConfigJson]);
}
async function buildCompileTypeScript() {
await execFromRoot(["npx", "tsc", "--build", "--force"]);
}
async function buildStatic() {
for (const dirent of await readdirPosix(ObsidianDevUtilsRepoPaths.Static, { recursive: true, withFileTypes: true })) {
if (!dirent.isFile()) {
continue;
}
const path = trimStart(join(dirent.parentPath, dirent.name), `${ObsidianDevUtilsRepoPaths.Static}/`);
await cp(join(ObsidianDevUtilsRepoPaths.Static, path), join(ObsidianDevUtilsRepoPaths.Dist, path));
}
}
export {
buildClean,
buildCompile,
buildCompileSvelte,
buildCompileTypeScript,
buildStatic
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL1NjcmlwdFV0aWxzL2J1aWxkLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIHRvIGhhbmRsZSB0aGUgYnVpbGQgcHJvY2VzcyBmb3Igc3RhdGljIGFzc2V0cyBhbmQgY2xlYW5pbmdcbiAqIHRoZSBidWlsZCBvdXRwdXQgZm9sZGVyLiBJdCBpbmNsdWRlcyBmdW5jdGlvbnMgdG8gY29weSBzdGF0aWMgZmlsZXMgdG8gdGhlIGRpc3RyaWJ1dGlvbiBmb2xkZXJcbiAqIGFuZCB0byByZW1vdmUgdGhlIGV4aXN0aW5nIGJ1aWxkIG91dHB1dC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFRzQ29uZmlnSnNvbiB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7IGdsb2IgfSBmcm9tICdnbG9iJztcblxuaW1wb3J0IHsgZ2V0TGliRGVidWdnZXIgfSBmcm9tICcuLi9EZWJ1Zy50cyc7XG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnLi4vUGF0aC50cyc7XG5pbXBvcnQgeyB0cmltU3RhcnQgfSBmcm9tICcuLi9TdHJpbmcudHMnO1xuaW1wb3J0IHsgcmVhZGRpclBvc2l4IH0gZnJvbSAnLi9Gcy50cyc7XG5pbXBvcnQgeyByZWFkSnNvbiB9IGZyb20gJy4vSlNPTi50cyc7XG5pbXBvcnQge1xuICBjcCxcbiAgcm1cbn0gZnJvbSAnLi9Ob2RlTW9kdWxlcy50cyc7XG5pbXBvcnQgeyBucG1SdW4gfSBmcm9tICcuL05wbVJ1bi50cyc7XG5pbXBvcnQgeyBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzIH0gZnJvbSAnLi9PYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLnRzJztcbmltcG9ydCB7XG4gIGV4ZWNGcm9tUm9vdCxcbiAgcmVzb2x2ZVBhdGhGcm9tUm9vdFNhZmVcbn0gZnJvbSAnLi9Sb290LnRzJztcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBkaXN0cmlidXRpb24gZm9sZGVyIGFuZCBpdHMgY29udGVudHMuXG4gKlxuICogVGhpcyBmdW5jdGlvbiBkZWxldGVzIHRoZSBlbnRpcmUgZGlzdHJpYnV0aW9uIGZvbGRlciB0byBlbnN1cmUgYSBjbGVhbiBidWlsZCBlbnZpcm9ubWVudC5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZvbGRlciBoYXMgYmVlbiByZW1vdmVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRDbGVhbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgcm0oT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0LCB7IGZvcmNlOiB0cnVlLCByZWN1cnNpdmU6IHRydWUgfSk7XG59XG5cbi8qKlxuICogQ29tcGlsZXMgdGhlIGNvZGUuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb2RlIGNvbXBpbGVzIHN1Y2Nlc3NmdWxseS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkQ29tcGlsZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgbnBtUnVuKCdidWlsZDpjb21waWxlOnN2ZWx0ZScpO1xuICBhd2FpdCBucG1SdW4oJ2J1aWxkOmNvbXBpbGU6dHlwZXNjcmlwdCcpO1xufVxuXG4vKipcbiAqIENvbXBpbGVzIHRoZSBTdmVsdGUgY29kZS5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvZGUgY29tcGlsZXMgc3VjY2Vzc2Z1bGx5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYnVpbGRDb21waWxlU3ZlbHRlKCk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB0c0NvbmZpZ1BhdGggPSByZXNvbHZlUGF0aEZyb21Sb290U2FmZShPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLlRzQ29uZmlnSnNvbik7XG4gIGNvbnN0IHRzQ29uZmlnID0gYXdhaXQgcmVhZEpzb248VHNDb25maWdKc29uPih0c0NvbmZpZ1BhdGgpO1xuICBjb25zdCBhbGxGaWxlcyA9IGF3YWl0IGdsb2IodHNDb25maWcuaW5jbHVkZSA/PyBbXSwgeyBpZ25vcmU6IHRzQ29uZmlnLmV4Y2x1ZGUgPz8gW10gfSk7XG4gIGNvbnN0IHN2ZWx0ZUZpbGVzID0gYWxsRmlsZXMuZmlsdGVyKChmaWxlKSA9PiBmaWxlLmVuZHNXaXRoKCcuc3ZlbHRlJykgfHwgZmlsZS5lbmRzV2l0aCgnLnN2ZWx0ZS5qcycpIHx8IGZpbGUuZW5kc1dpdGgoJy5zdmVsdGUudHMnKSk7XG5cbiAgaWYgKHN2ZWx0ZUZpbGVzLmxlbmd0aCA9PT0gMCkge1xuICAgIGdldExpYkRlYnVnZ2VyKCdidWlsZDpidWlsZENvbXBpbGVTdmVsdGUnKSgnTm8gU3ZlbHRlIGZpbGVzIGZvdW5kIGluIHRoZSBwcm9qZWN0LCBza2lwcGluZyBTdmVsdGUgY29tcGlsYXRpb24nKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBhd2FpdCBleGVjRnJvbVJvb3QoWyducHgnLCAnc3ZlbHRlLWNoZWNrJywgJy0tdHNjb25maWcnLCBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLlRzQ29uZmlnSnNvbl0pO1xufVxuXG4vKipcbiAqIENvbXBpbGVzIHRoZSBUeXBlU2NyaXB0IGNvZGUuXG4gKlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb2RlIGNvbXBpbGVzIHN1Y2Nlc3NmdWxseS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkQ29tcGlsZVR5cGVTY3JpcHQoKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ25weCcsICd0c2MnLCAnLS1idWlsZCcsICctLWZvcmNlJ10pO1xufVxuXG4vKipcbiAqIENvcGllcyBhbGwgc3RhdGljIGZpbGVzIGZyb20gdGhlIHN0YXRpYyBhc3NldHMgZm9sZGVyIHRvIHRoZSBkaXN0cmlidXRpb24gZm9sZGVyLlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gcmVjdXJzaXZlbHkgcmVhZHMgdGhlIGNvbnRlbnRzIG9mIHRoZSBzdGF0aWMgYXNzZXRzIGZvbGRlciBhbmQgY29waWVzXG4gKiBlYWNoIGZpbGUgdG8gdGhlIGNvcnJlc3BvbmRpbmcgcGF0aCBpbiB0aGUgZGlzdHJpYnV0aW9uIGZvbGRlci5cbiAqXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gYWxsIGZpbGVzIGhhdmUgYmVlbiBjb3BpZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBidWlsZFN0YXRpYygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgZm9yIChjb25zdCBkaXJlbnQgb2YgYXdhaXQgcmVhZGRpclBvc2l4KE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuU3RhdGljLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KSkge1xuICAgIGlmICghZGlyZW50LmlzRmlsZSgpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXRoID0gdHJpbVN0YXJ0KGpvaW4oZGlyZW50LnBhcmVudFBhdGgsIGRpcmVudC5uYW1lKSwgYCR7T2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5TdGF0aWN9L2ApO1xuICAgIGF3YWl0IGNwKGpvaW4oT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5TdGF0aWMsIHBhdGgpLCBqb2luKE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMuRGlzdCwgcGF0aCkpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7O0FBVUEsU0FBUyxZQUFZO0FBRXJCLFNBQVMsc0JBQXNCO0FBQy9CLFNBQVMsWUFBWTtBQUNyQixTQUFTLGlCQUFpQjtBQUMxQixTQUFTLG9CQUFvQjtBQUM3QixTQUFTLGdCQUFnQjtBQUN6QjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsY0FBYztBQUN2QixTQUFTLGlDQUFpQztBQUMxQztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQVNQLGVBQXNCLGFBQTRCO0FBQ2hELFFBQU0sR0FBRywwQkFBMEIsTUFBTSxFQUFFLE9BQU8sTUFBTSxXQUFXLEtBQUssQ0FBQztBQUMzRTtBQU9BLGVBQXNCLGVBQThCO0FBQ2xELFFBQU0sT0FBTyxzQkFBc0I7QUFDbkMsUUFBTSxPQUFPLDBCQUEwQjtBQUN6QztBQU9BLGVBQXNCLHFCQUFvQztBQUN4RCxRQUFNLGVBQWUsd0JBQXdCLDBCQUEwQixZQUFZO0FBQ25GLFFBQU0sV0FBVyxNQUFNLFNBQXVCLFlBQVk7QUFDMUQsUUFBTSxXQUFXLE1BQU0sS0FBSyxTQUFTLFdBQVcsQ0FBQyxHQUFHLEVBQUUsUUFBUSxTQUFTLFdBQVcsQ0FBQyxFQUFFLENBQUM7QUFDdEYsUUFBTSxjQUFjLFNBQVMsT0FBTyxDQUFDLFNBQVMsS0FBSyxTQUFTLFNBQVMsS0FBSyxLQUFLLFNBQVMsWUFBWSxLQUFLLEtBQUssU0FBUyxZQUFZLENBQUM7QUFFcEksTUFBSSxZQUFZLFdBQVcsR0FBRztBQUM1QixtQkFBZSwwQkFBMEIsRUFBRSxtRUFBbUU7QUFDOUc7QUFBQSxFQUNGO0FBRUEsUUFBTSxhQUFhLENBQUMsT0FBTyxnQkFBZ0IsY0FBYywwQkFBMEIsWUFBWSxDQUFDO0FBQ2xHO0FBT0EsZUFBc0IseUJBQXdDO0FBQzVELFFBQU0sYUFBYSxDQUFDLE9BQU8sT0FBTyxXQUFXLFNBQVMsQ0FBQztBQUN6RDtBQVVBLGVBQXNCLGNBQTZCO0FBQ2pELGFBQVcsVUFBVSxNQUFNLGFBQWEsMEJBQTBCLFFBQVEsRUFBRSxXQUFXLE1BQU0sZUFBZSxLQUFLLENBQUMsR0FBRztBQUNuSCxRQUFJLENBQUMsT0FBTyxPQUFPLEdBQUc7QUFDcEI7QUFBQSxJQUNGO0FBRUEsVUFBTSxPQUFPLFVBQVUsS0FBSyxPQUFPLFlBQVksT0FBTyxJQUFJLEdBQUcsR0FBRywwQkFBMEIsTUFBTSxHQUFHO0FBQ25HLFVBQU0sR0FBRyxLQUFLLDBCQUEwQixRQUFRLElBQUksR0FBRyxLQUFLLDBCQUEwQixNQUFNLElBQUksQ0FBQztBQUFBLEVBQ25HO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==