axios-miniprogram/scripts/utils.ts

26 lines
831 B
TypeScript

import path from 'node:path';
import { createRequire } from 'node:module';
import { fileURLToPath } from 'node:url';
import {
ExecSyncOptionsWithStringEncoding,
execSync,
} from 'node:child_process';
export const __dirname = fileURLToPath(new URL('../', import.meta.url));
export const require = createRequire(import.meta.url);
export const pkgPath = path.resolve(__dirname, 'package.json');
export const distPath = path.resolve(__dirname, 'dist');
export const resolve = (...paths: string[]) =>
path.resolve(__dirname, ...paths);
export const exec = (
command: string,
options?: ExecSyncOptionsWithStringEncoding,
) => execSync(command, { stdio: 'inherit', ...(options ?? {}) });
export const getPkgJSON = () => require(pkgPath);
export const getFileName = (filePath: string) =>
filePath.match(/\/([^/]*)$/)![1];