@justeattakeaway/generator-pie-component
v0.31.1
Published
A generator for PIE Web Components
Downloads
13
Readme
generator-pie-component
generator-pie-component is a generator for Pie Web Components.
Usage
Installation
Build the generator package locally (it is recommended you force the build)
$ yarn build --filter=generator-pie-component --forceGenerating a new component
To run the generator, use this command from the root directory within the monorepo:
$ npx yo @justeattakeaway/pie-componentAn interactive prompt should now be displayed asking for a component name.
Once you have completed all the prompts, your scaffolded component will be generated! 🎉
Setting up Visual Regression Testing:
- Create a Percy project for the component on the Percy website.
- From the "Project settings" page, copy the project token value.
- You need to add the new token value as a repository secret in GitHub. It must be named
PERCY_TOKEN_PIE_COMPONENT_NAME. Visual tests will not work/run if this is not set up correctly.
Exporting Sub-Components
The generator does not currently support automatic generation of sub-components. To add a sub-component, follow these steps:
- Create a folder inside the component's src directory with the sub-component’s name (e.g., pie-breadcrumb-item).
- Add the following files to the new folder:
- index.ts – contains the component logic.
- defs.ts – provides the component types.
- defs-react.ts – provides the React wrapper type.
- Modify the component's
vite.config.tsto match the following:
export default viteConfig({
build: {
lib: {
entry: {
'pie-sub-component/index': 'src/pie-sub-component/index.ts',
'pie-sub-component/react': 'src/pie-sub-component/react.ts',
},
},
},
dtsConfig: {
entryRoot: 'src',
rollupTypes: false,
},
});- Run
npx add-componentsfrom the monorepo root to update thewebcpackage exports.
Local development
Install the dependencies. Note that this, and the following commands below, should be run from the root of the monorepo:
yarnTo build the generator-pie-component package, run the following command:
yarn build --filter=generator-pie-componentYou can also build the component in watch mode if desired with the following command:
yarn watch --filter=generator-pie-componentContributing
In order to contribute to the generator-pie-component, it's advised to link your local build of the generator to Yeoman.
To do this, run yarn link from the root of the generator-pie-component folder in the mono-repo.
Once you have done this, running npx yo @justeattakeaway/pie-component will run your local copy of the generator (rather than the version installed globally via NPM/Yarn).
