Installation
The easiest way to install Morfeo is by letting the CLI do it, just run:
npx morfeo initAfter running it, you'll be asked to answer some questions:
_ _ _
' ) ) ) /)
/ / / __ __ // _ __
/ ' (_(_)/ (_//_</_(_)
/>
</
? Where is your code? ./src/**/*.{ts,tsx,js,jsx}
? Where do you want to place the extracted CSS? ./src/styles/morfeo.css
? Where do you want to create the morfeo instance? ./src/morfeo.tsbased on your answers, the CLI will automatically create all the needed configurations:
CLI Changes
After running the command a couple of files will be added/changed:
- morfeo.css
- morfeo.ts
package.json
Inside the package.json will be added the following dependencies/scripts:
{
"scripts": {
+ "dev:morfeo": "morfeo extract --watch",
+ "build:morfeo": "morfeo extract"
},
"dependencies": {
+ "@morfeo/web": "<latest-version>"
},
"devDependencies": {
+ "@morfeo/compiler": "<latest-version>"
}
}In case react is detected, the CLI will automatically install
@morfeo/react instead of @morfeo/web
morfeo.ts
This file will initially look like this:
import { createMorfeo } from '@morfeo/web'; // or `@morfeo/react`
export const morfeo = createMorfeo({
output: './styles/morfeo.css', // based on what your answers
entryPoints: ['./**/*.{ts,tsx,js,jsx}'], // based on what your answers
});This file exposes the morfeo instance you'll use all around your application to style your components.
Based on the options passed to createMorfeo you can customize Morfeo's behavior, for example, you can give a custom theme or a custom prefix for your class names:
import { createMorfeo } from '@morfeo/web'; // or `@morfeo/react`
import { myCustomTheme } from './myCustomTheme';
export const morfeo = createMorfeo({
theme: myCustomTheme,
prefix: 'my-prefix-',
output: './styles/morfeo.css',
entryPoints: ['./**/*.{ts,tsx,js,jsx}'],
});.gitignore
And, finally, the .gitignore will be updated in the following way:
+ # morfeo
+ /src/morfeo.cssManual Changes
Now, it's your turn:
As you can see the CLI added the file morfeo.css, please import this file in the main entry point of your application:
import './styles/morfeo.css';
export function App() {
// Your app
return <></>;
}That's it, you're now ready to use morfeo.