https://github.com/nevoland/foundation
🏛 Base repository for building JavaScript apps or libraries.
https://github.com/nevoland/foundation
boilerplate bundler front-end javascript library webapp
Last synced: 4 months ago
JSON representation
🏛 Base repository for building JavaScript apps or libraries.
- Host: GitHub
- URL: https://github.com/nevoland/foundation
- Owner: nevoland
- Created: 2018-01-01T21:19:57.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2025-03-16T22:48:24.000Z (over 1 year ago)
- Last Synced: 2025-07-11T21:36:20.731Z (12 months ago)
- Topics: boilerplate, bundler, front-end, javascript, library, webapp
- Language: TypeScript
- Homepage:
- Size: 558 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Foundation
🏛️ Base repository for building JavaScript apps or libraries.
> To use this template, clone this repository and rename all "Foundation" instances to the name of your library.
> Set this package to "public" before publishing it.
### Uses
- [Vite](https://vitejs.dev)
- [Vitest](https://vitest.dev)
- [TypeScript](https://www.typescriptlang.org)
- [Prettier](https://prettier.io)
- [Eslint](https://eslint.org)
- [Tailwind](https://tailwindcss.com)
- [Typedoc](https://typedoc.org)
- [NVM](https://github.com/nvm-sh/nvm)
## Setup
- `nvm install`
- `cp .env.template .env.local`
- `npm install`
## Library mode
### Features
- List the main features of the library
- Explain how it distinguishes from other libraries
### Usage
Everything is exported from the main entry-point through an ES6 module:
```js
import { add } from "foundation";
```
### Installation
Install with the [Node Package Manager](https://www.npmjs.com/package/foundation):
```bash
npm install foundation
```
### Documentation
Documentation is generated [here](doc/README.md).
### Use the application to test the library
- `npm run dev`
- `npm run dev:test` (or use dedicated Vitest plugin of your IDE)
Import exported library items from the `"#lib"` alias:
```ts
import { add } from "#lib";
```
### Build and publish the library
- `npm run build:lib`
- Set the `private` property to `false` in [package.json](./package.json)
- `npm run release:init`
#### Release subsequent versions using either
- `npm run release:alpha`
- `npm run release:beta`
- `npm run release:patch`
- `npm run release:minor`
- `npm run release:major`
## Application mode
### Develop on the application
- `npm run dev`
- `npm run dev:test` (or use dedicated Vitest plugin of your IDE)
### Build and run
- `npm run build:app`
- OPTIONAL: `export ENV_PATH=path/to/extra/dot_env/file`
- `npm start`
### Options
List all environment variables used by the application:
- `ENV_PATH`: Path to an optional environment file.
- `LOG_LEVEL`: One of the [supported levels](https://github.com/pinojs/pino/blob/main/docs/api.md#loggerlevels-object) or `"silent"` to disable logging.