UNPKG

@builder.io/dev-tools

Version:

Builder.io Visual CMS Devtools

138 lines (95 loc) 4.02 kB
# Builder.io Visual CMS Devtools Setup and integrate [Builder.io Visual CMS](https://www.builder.io/) during development using the Devtools plugin. Builder Devtools can be integrated with a project's development through either a [Next.js config](#nextjs), [Remix config](#remix), [Vite plugin](#vite), or [Webpack plugin](#webpack). ## Installing Builder Devtools Builder's Devtools can be [installed and initialized](https://www.npmjs.com/package/@builder.io/create) using: **npm** ``` npm init builder.io@latest ``` **pnpm** ``` pnpm create builder.io@latest ``` This command will update the config file (such as next.config.js, or vite.config.js) and install the `@builder.io/dev-tools` package. Once installed, you can start your app's dev server: ``` npm run dev ``` ## Local Development To develop and test Builder Devtools locally: 1. In the devtools directory, build and link the package: ```bash cd dist/dev-tools npm link ``` 2. In your application directory, link to the local devtools: ```bash npm link @builder.io/dev-tools ``` 3. You can now run the Figma generate command: ```bash npx builder.io figma generate ``` ## Manual Installation Alternatively, you can manually install Builder's Devtools, and update the config files following the steps below. ``` npm install -D @builder.io/dev-tools ``` Next step is to add the Devtools plugin to your build tool's config file. For example, if you're using Next.js, see the docs below on how to import and add Devtools to a Next.js app. ## Next.js A config wrapper function for the [Next.js config](https://nextjs.org/docs/app/api-reference/next-config-js) is provided in order to run Devtools during development. Wrap your existing next config using the `withBuilderDevTools()` function that's created when it is required at the top of the config file. ```js // next config file const withBuilderDevTools = require("@builder.io/dev-tools/next")({ // Builder Devtools Options }); module.exports = withBuilderDevTools({ // next config }); ``` Or configuration as a function: ```js module.exports = (phase, defaultConfig) => { return withBuilderDevTools(defaultConfig); }; ``` ## Remix A config wrapper function for the [Remix config](https://remix.run/docs/en/main/file-conventions/remix-config) is provided in order to run Devtools during development. Wrap your existing remix config using the `withBuilderDevTools()` function that's created when it is required at the top of the config file. ```js // remix config file const withBuilderDevTools = require("@builder.io/dev-tools/remix")({ // Builder Devtools Options }); module.exports = withBuilderDevTools({ // remix config }); ``` ## Vite The [Vite plugin](https://vitejs.dev/guide/using-plugins.html) for Devtools is meant for frameworks using Vite for its development. Currently, Devtools supports [Qwik](https://qwik.builder.io/) integrated with Vite. Import `builderDevTools` from `@builder.io/dev-tools/vite` and place it as the the first plugin to ensure it runs before others. ```js // vite config file import { defineConfig } from "vite"; import { builderDevTools } from "@builder.io/dev-tools/vite"; export default defineConfig(() => { return { plugins: [builderDevTools()], }; }); ``` ## Webpack The Devtools webpack plugin is for React projects. If your project is using Next.js, please see the [Next.js](#nextjs) docs above on how to add the Devtools plugin to the next config. Below is a general [webpack config](https://webpack.js.org/configuration/plugins/) for a React project. ```js // webpack config file const { BuilderDevToolsPlugin } = require("@builder.io/dev-tools/webpack"); module.exports = { plugins: [new BuilderDevToolsPlugin()], }; ``` ## CLI Devtools can also be started with a CLI command, which could be useful if there is a custom setup that doesn't fit into one of the above solutions. Below is an example of running CLI from an npm script: ```json { "scripts": { "devtools": "builder-dev-tools" } } ```