@nxext/stencil
v21.0.0
Published
Nx plugin for stenciljs
Readme
@nxext/stencil
Table of Contents
Features
- Generate Ionic/Pwa project
- Generate Stencil app project
- Generate library project
Usage
Add this plugin to an Nx workspace:
yarn add @nxext/stencilor
npm install @nxext/stencil --saveProject schematics
Generate your projects:
nx g @nxext/stencil:app my-app
nx g @nxext/stencil:lib my-libeach generator is able to generate your template with different style variants. Supported are:
--style=css (default)
--style=scssYou can generate components with:
nx g @nxext/stencil:component my-compor
nx g @nxext/stencil:c my-compIf Storybook is configured a <my-comp>.stories.ts is generated.
Build
Build your project:
nx build my-appRun commands are passed to the stencil compiler. Supported flags are:
| Parameter | Type | Default | Description | | ------------ | ------ | ---------------------------------------------------------------------------------------- | ---------------------------- | | --ci | bool | false | | | --debug | bool | false | | | --dev | bool | false | | | --docs | bool | false | | | --port=1234 | number | | | | --serve | bool | false | | | --verbose | bool | false | | | --watch | bool | false | | | --configPath | string | "libs/projectname/stencil.config.ts" or "apps/projectname/stencil.config.ts" | relative from workspace root |
You can define the path for the stencil.config.ts file like this: The configPath is set in the workspace.json/angular.json for each builder. The default used path can be change there.
Support for tests. For unit tests run:
Test
nx test my-appWatch
Supported flags are:
- --watch
For e2e test:
nx e2e my-appServe
Serve with:
nx serve my-appSupported flags are:
| Parameter | Type | Default | Description | | ------------ | ------- | ---------------------------------------------------------------------------------------- | ---------------------------- | | --debug | bool | false | | | --dev | bool | false | | | --docs | bool | false | | | --port=1234 | number | | | | --verbose | bool | false | | | --configPath | string | "libs/projectname/stencil.config.ts" or "apps/projectname/stencil.config.ts" | relative from workspace root | | --open | boolean | true | |
Storybook
You can generate Storybook configuration for an individual project with this command:
nx g @nxext/stencil:storybook-configuration my-libTo run the generated Storybook use:
nx storybook my-libThe Storybook startup needs an successful nx build cause of the generated loaders to work
React, Angular and Vue
You're able to generate angular/react/vue libraries for yout stencil libraries using stencils outputtargets:
nx g @nxext/stencil:add-outputtarget my-libWith the --outputType='react' or --outputType='angular' or --outputType='vue' you can define the kind of library.
