UNPKG

@create-figma-plugin/build

Version:

Build a Figma/FigJam plugin/widget

48 lines 2.19 kB
import { log, readConfigAsync } from '@create-figma-plugin/common'; import { buildBundlesAsync } from './utilities/build-bundles-async/build-bundles-async.js'; import { buildCssModulesTypingsAsync } from './utilities/build-css-modules-typings-async.js'; import { buildManifestAsync } from './utilities/build-manifest-async.js'; import { trackElapsedTime } from './utilities/track-elapsed-time.js'; import { typeCheckBuild } from './utilities/type-check/type-check-build.js'; export async function buildAsync(options) { const { minify, outputDirectory, typecheck, clearPreviousLine, exitOnError } = options; const config = await readConfigAsync(); try { if (typecheck === true) { const getTypeCheckElapsedTime = trackElapsedTime(); await buildCssModulesTypingsAsync(); log.info('Typechecking...'); typeCheckBuild(); const typeCheckElapsedTime = getTypeCheckElapsedTime(); log.success(`Typechecked in ${typeCheckElapsedTime}`, { clearPreviousLine }); log.info('Building...'); const getBuildElapsedTime = trackElapsedTime(); await Promise.all([ buildBundlesAsync({ config, minify, outputDirectory }), buildManifestAsync({ config, minify, outputDirectory }) ]); const buildElapsedTime = getBuildElapsedTime(); log.success(`Built in ${buildElapsedTime}`, { clearPreviousLine }); } else { log.info('Building...'); const getBuildElapsedTime = trackElapsedTime(); await Promise.all([ buildCssModulesTypingsAsync(), buildBundlesAsync({ config, minify, outputDirectory }), buildManifestAsync({ config, minify, outputDirectory }) ]); const buildElapsedTime = getBuildElapsedTime(); log.success(`Built in ${buildElapsedTime}`, { clearPreviousLine }); } } catch (error) { log.error(error.message); if (exitOnError === true) { process.exit(1); } } } //# sourceMappingURL=build-async.js.map