- TypeScript 100%
| .github/workflows | ||
| src | ||
| test | ||
| tools | ||
| .gitignore | ||
| ARCHITECTURE.md | ||
| code-of-conduct.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| rollup.config.ts | ||
| TODO.md | ||
| tsconfig.json | ||
| yarn.lock | ||
e2e-vault
Give your web app users private, secure data storage in the platform of their choice
Usage
yarn add e2e-vault
# or #
npm install e2e-vault
Development
yarn test: Run test suiteyarn test:watch: Run test suite and watch for changesyarn test:prod: Run linting and generate coverageyarn build: Generate bundles and typings, create docsyarn lint: Lints codeyarn commit: Commit using conventional commit style (husky will tell you to use it if you haven't 😉)
Tooling
- RollupJS for multiple optimized bundles following the standard convention and Tree-shaking
- Tests, coverage and interactive watch mode using Jest
- Prettier and ESLint for code formatting and consistency
- Docs automatic generation and deployment to
gh-pages, using TypeDoc - Github Actions for CI/CD pipeline
- (Automatic releases and changelog, using Semantic release, Commitizen, Conventional changelog and Husky (for the git hooks)
Excluding peerDependencies
On library development, one might want to set some peer dependencies, and thus remove those from the final bundle. You can see in Rollup docs how to do that.
Good news: the setup is here for you, you must only include the dependency name in external property within rollup.config.js. For example, if you want to exclude lodash, just write there external: ['lodash'].
Automatic releases
Prerequisites: you need to create/login accounts and add your project to:
Prerequisite for Windows: Semantic-release uses node-gyp so you will need to install Microsoft's windows-build-tools using this command:
npm install --global --production windows-build-tools
Git Hooks
There is already set a precommit hook for formatting your code with Prettier 💅
By default, there are two disabled git hooks. They're set up when you run the npm run semantic-release-prepare script. They make sure:
- You follow a conventional commit message
- Your build is not going to fail in Travis (or your CI server), since it's runned locally before
git push
This makes more sense in combination with automatic releases
Contributors
This project follows the all-contributors specification. Contributions of any kind are welcome!