@silexlabs/silex-plugin-starter
Version:
96 lines (67 loc) • 2.49 kB
Markdown
# Silex Plugin Starter
Starter template for writing Silex plugins. Supports server and/or client side plugins in JavaScript and TypeScript.
Start creating your plugin from `src/main.js` or `src/main.ts`, [read the Development section](#development)
## TODO for your plugin
Here is a list of things to do before distributing your plugin to Silex users
* [ ] Replace `silex-plugin-starter` in all files with your plugin name
* [ ] Choose Javascript or TypeScript: edit rollup configs and just change the input from `main.ts` to `main.js`
* [ ] Choose client side and or server side: edit `build` script in `package.json`, add/remove `yarn run build:client` or `yarn run builde:server`
* [ ] Tests: when writing tests for the client, add a "doc block" with `@jest-environment jsdom`
* [ ] Automate npm publish with github actions: you need to set the package `name` in `package.json` and the action secret `NPM_SECRET` in github
* [ ] Remove this "TODO" section and fill in the blanks in the rest of the README
* [ ] Show some gif/demo if possible
* [ ] Run `yarn test` and `yarn run lint:fix`, create a version with `npm version patch` then push to github with `git push oringin main --follow-tags` which will **publish to npm thanks to github actions**
> **Add a gif or a live demo of your plugin here**
## Installation
This is how to use the silex-plugin-starter plugin in your Silex instance or JS project
Add as a dependency
```bash
$ yarn add --save @silexlabs/silex-plugin-starter
```
Add to Silex config (client or server)
```js
import plugin from '@silexlabs/silex-plugin-starter'
// Or import YourPlugin from '../path/to/silex-plugin-starter'
// Or import YourPlugin from 'http://unpkg.com/your-plugin'
export default function(config, options) {
config.addPlugin(plugin, {
// ... plugin config ...
})
};
```
## Options
|Option|Description|Default|
|-|-|-
|`option1`|Description option|`default value`|
## Development
Clone the repository
```sh
$ git clone https://github.com/silexlabs/silex-plugin-starter.git
$ cd silex-plugin-starter
```
Install dependencies
```sh
$ yarn install
```
Build the project
```sh
$ yarn run build
```
Build and watch for changes
```sh
$ yarn run build:watch
```
Start the dev server on port 3000 with watch and debug
```sh
$ yarn run dev
```
Publish a new version
```sh
$ yarn test
$ yarn run lint:fix
$ git commit -am "new feature"
$ npm version patch
$ git push origin main --follow-tags
```
## License
AGPL-3.0