Skip to content

Commit

Permalink
core: init
Browse files Browse the repository at this point in the history
  • Loading branch information
vgseven committed Jul 30, 2024
0 parents commit 66210c5
Show file tree
Hide file tree
Showing 14 changed files with 2,579 additions and 0 deletions.
8 changes: 8 additions & 0 deletions .changeset/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changesets

Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
with multi-package repos, or single-package repos to help you version and publish your code. You can
find the full documentation for it [in our repository](https://github.com/changesets/changesets)

We have a quick list of common questions to get you started engaging with this project in
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
15 changes: 15 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"$schema": "https://unpkg.com/@changesets/config@3.0.2/schema.json",
"changelog": [
"@changesets/changelog-github",
{
"repo": "template/starter/package-essential"
}
],
"commit": false,
"fixed": [],
"linked": [],
"access": "public",
"baseBranch": "main",
"updateInternalDependencies": "patch"
}
40 changes: 40 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Build

on:
push:
branches:
- "**"
pull_request:
branches:
- main

jobs:
build:
runs-on: ubuntu-latest

steps:
- name: Check out repository code
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Install pnpm
uses: pnpm/action-setup@v4

- name: Install dependencies
run: pnpm install

- name: Performing Type Check
run: pnpm run type-check

- name: Performing Lint
run: pnpm run lint

- name: Performing Format
run: pnpm run format

- name: Performing Build
run: pnpm run build
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# modules

node_modules
dist
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
pnpm run type-check
pnpm run lint
pnpm run format
pnpm run build
8 changes: 8 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"recommendations": [
"biomejs.biome",
"redhat.vscode-yaml",
"bierner.markdown-preview-github-styles",
"YoavBls.pretty-ts-errors"
]
}
16 changes: 16 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true,
"[javascript]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[typescript]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[json]": {
"editor.defaultFormatter": "biomejs.biome"
},
"[yaml]": {
"editor.defaultFormatter": "redhat.vscode-yaml"
},
}
41 changes: 41 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Package Essential

Package Essential - An Essential Starter Template for Development of TypeScript Based Packages.

## Getting Started

#### Radium - [Install Radium CLI](https://github.com/silver-company/radium)

`radium` is an CLI tool to initialize any project. It'll install dependencies, initialize as git repository, and prepare your project for development.

```bash
radium init --with
```
```bash
enter the name of project and url of this template
```
> `radium` cli will initialize your project with this template and install dependencies, initialize as git repository and prepare your project for development.
## Features

- 💻 Language: [TypeScript](https://www.typescriptlang.org/)
- 🧹 Linting and Formatting: [Biome.js](https://biomejs.dev/)
- 🚀 Build Tool: [tsup](https://tsup.egoist.dev/)
- ⚙️ Build: Github Actions
- 🛠 Commit: [Husky](https://typicode.github.io/husky/)
- 📦 Package Manager: [pnpm](https://pnpm.io/)

## Note

We recommend importing of the package as following if you're importing it as default or everything imports.

```typescript
import { default as package } from "package";
```
This will help you to avoid importing issues of cjs and esm moudles at build time.

This Starter Template is currently configured for TypeScript based CLI Applications. If you're looking for a Starter Template for a Library, We're working on it. Stay tuned!

## Contribute.

Contributions are always welcome! Please submit a pull request or open an issue to discuss your ideas.
97 changes: 97 additions & 0 deletions biome.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
{
"$schema": "https://biomejs.dev/schemas/1.8.3/schema.json",
"formatter": {
"enabled": true,
"formatWithErrors": false,
"indentStyle": "space",
"indentWidth": 2,
"lineWidth": 80,
"lineEnding": "lf",
"attributePosition": "auto",
"ignore": [
".vscode",
".next",
".vercel",
".env",
".changeset",
".husky",
"node_modules",
"build",
"dist"
]
},
"organizeImports": {
"enabled": true
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"correctness": {
"noUnusedVariables": "warn"
},
"style": {
"recommended": true
},
"complexity": {
"recommended": true
},
"performance": {
"recommended": true
},
"suspicious": {
"recommended": true
},
"a11y": {
"recommended": true
},
"security": {
"recommended": true
}
},
"ignore": [
".vscode",
".next",
".vercel",
".env",
".changeset",
".husky",
"node_modules",
"build",
"dist"
]
},
"javascript": {
"formatter": {
"jsxQuoteStyle": "double",
"quoteProperties": "asNeeded",
"trailingCommas": "es5",
"semicolons": "always",
"arrowParentheses": "always",
"bracketSpacing": true,
"bracketSameLine": false,
"quoteStyle": "double",
"attributePosition": "auto"
}
},
"css": {
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2,
"lineWidth": 80,
"lineEnding": "lf",
"quoteStyle": "double"
}
},
"json": {
"formatter": {
"enabled": true,
"indentStyle": "space",
"indentWidth": 2,
"lineWidth": 80,
"lineEnding": "lf",
"trailingCommas": "none"
}
}
}
34 changes: 34 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
{
"name": "package-essential",
"private": "false",
"version": "0.0.0",
"description": "Package Essential - An Essential Starter Template for Development of TypeScript Based Packages.",
"main": "./src/index.ts",
"module": "./src/index.ts",
"files": ["dist", "README.md", "package.json"],
"bin": {
"package-essential": "./dist/index.js"
},
"type": "module",
"scripts": {
"build": "pnpm rimraf dist && tsup",
"dev": "pnpm run build && node dist/index.js",
"lint": "biome lint --write .",
"format": "biome format --write .",
"type-check": "tsc --noEmit",
"prepare": "husky",
"pub:latest": "changeset publish",
"build:prepare": "pnpm run type-check && pnpm run lint && pnpm run format && pnpm run build",
"dev:prepare": "git pull origin main && pnpm i"
},
"devDependencies": {
"@biomejs/biome": "^1.8.3",
"@changesets/changelog-github": "^0.5.0",
"@changesets/cli": "^2.27.7",
"@types/node": "^22.0.0",
"husky": "^9.1.4",
"rimraf": "^6.0.1",
"tsup": "^8.2.3",
"typescript": "^5.5.4"
}
}
Loading

0 comments on commit 66210c5

Please sign in to comment.