Libra is a barebones, no-frills React component dev environment.
npm i @sweatpants/libra --save-dev
If you are using TypeScript, add @sweatpants/libra
to your types
field, and make sure to include libra files.
{
"compilerOptions": {
"types": ["@sweatpants/libra"]
},
"include": ["src/**/*.libra.tsx"]
}
Create a new file with a name matches *.libra.{tsx,jsx}
.
// MyComponent.libra.tsx
import { MyComponent } from './MyComponent';
directory('My Component', () => {
add('Default', () => {
return <MyComponent />;
});
});
Add these two scripts to run libra in your package.json
file.
"scripts": {
"start:libra": "libra start",
"build:libra": "libra build"
}
Create a libra.config.ts
file at the root of your project
import { defineConfig } from '@sweatpants/libra/config';
export default defineConfig({
title: 'Example Title',
port: 8080
});
Sets the page title. Defaults to "Libra"
.
Sets the port to run the local development server with libra start
. Defaults to 9000
.
Opens a browser window when running the local development server with libra start
. Defaults to false
.
Enables vite-plugin-inspect.
Specifies the file path to a custom layout for all Libra component pages.
Example layout file:
import type { LibraLayout } from '@sweatpants/libra';
const Layout: LibraLayout = ({ children, scheme }) => {
if (!children) {
return <>This will render on the home page when no entry is active.</>;
}
return <>{children}</>;
};
export default Layout;
Sets the output directory for libra build
. Defaults to "dist/libra"
.
Used to modify Vite's config.