/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ import typescript from "@rollup/plugin-typescript"; import { nodeResolve } from "@rollup/plugin-node-resolve"; import commonjs from "@rollup/plugin-commonjs"; import json from "@rollup/plugin-json"; import path from "path"; import process from "process"; import terser from "@rollup/plugin-terser"; import prettier from "rollup-plugin-prettier"; import banner2 from "rollup-plugin-banner2"; const NO_INLINE = new Set([ "@babel/core", "@babel/plugin-proposal-private-methods", "hermes-parser", "zod", "zod-validation-error", ]); const DEV_ROLLUP_CONFIG = { input: "src/index.ts", output: { file: "dist/index.js", format: "cjs", sourcemap: false, }, treeshake: { moduleSideEffects: false, }, plugins: [ typescript({ compilerOptions: { noEmit: true, }, }), json(), nodeResolve({ preferBuiltins: true, resolveOnly: (module) => NO_INLINE.has(module) === false, rootDir: path.join(process.cwd(), ".."), }), commonjs(), terser({ format: { comments: false, }, compress: false, mangle: false, }), prettier(), banner2( () => `/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @lightSyntaxTransform * @noflow * @nolint * @preventMunge * @preserve-invariant-messages */ "use no memo"; ` ), ], }; export default DEV_ROLLUP_CONFIG;