UNPKG

@lit-protocol/vincent-scaffold-sdk

Version:

Shared build configuration and utilities for Vincent tools and policies

79 lines (53 loc) 1.95 kB
# @lit-protocol/vincent-scaffold-sdk Shared build configuration and utilities for Vincent tools and policies. ## Installation ```bash npm install --save-dev @lit-protocol/vincent-scaffold-sdk ``` ## Usage ### ESBuild Configuration Create an `esbuild.config.js` file in your project: ```javascript const esbuild = require("esbuild"); const { baseConfig, getPlugins, logBuildResults, } = require("@lit-protocol/vincent-scaffold-sdk/esbuild-config"); (async () => { try { await esbuild .build({ ...baseConfig, entryPoints: ["./src/lib/lit-action.ts"], outdir: "./src/generated/", plugins: getPlugins("tool"), // or 'policy' }) .then(logBuildResults); console.log("✅ Build completed successfully"); } catch (e) { console.error("❌ Build failed:", e); process.exit(1); } })(); ``` ### TypeScript Configuration This package expects a `tsconfig.vincent.json` file in your project root. See the included example files: - `tsconfig.lib.example.json` - Example project-specific configuration - `tsconfig.base.example.json` - Example base configuration ### Exports - `@lit-protocol/vincent-scaffold-sdk/esbuild-config` - ESBuild configuration and utilities - `@lit-protocol/vincent-scaffold-sdk/deno-fetch-shim` - Deno fetch shim for browser compatibility - `@lit-protocol/vincent-scaffold-sdk/tsconfig` - Base TypeScript configuration ### API #### `baseConfig` Base ESBuild configuration object with sensible defaults for Vincent tools/policies. #### `getPlugins(type: 'tool' | 'policy')` Returns an array of ESBuild plugins configured for the specified type. #### `logBuildResults(result)` Utility function to log build output sizes in a formatted way. #### `ensureDirectoryExistence(filePath)` Utility function to ensure a directory exists before writing files. ## Requirements - Node.js >= 16.0.0 - @lit-protocol/vincent-tool-sdk (peer dependency)