@funish/basis 0.2.8-edge.2 → 0.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -16
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -12,14 +12,16 @@
|
|
|
12
12
|
|
|
13
13
|
Basis is your **unified development toolkit** for modern projects. Instead of juggling multiple CLI tools, Basis provides a single interface for all your development workflow needs.
|
|
14
14
|
|
|
15
|
+
**Similar to**: [Vite+](https://viteplus.dev/) - Basis follows the same philosophy of unified tooling with Rust-powered components (oxlint/oxfmt) for maximum performance.
|
|
16
|
+
|
|
15
17
|
## Features
|
|
16
18
|
|
|
17
19
|
- 🎯 **Unified CLI**: One command interface for all development tasks
|
|
18
20
|
- 📦 **Package Management**: Add, remove dependencies with auto-detected package manager (npm, yarn, pnpm, bun, deno)
|
|
19
21
|
- 🏷️ **Version Management**: Semantic versioning with automated git tagging
|
|
20
22
|
- 🚀 **Publishing**: Flexible publishing with tag strategy
|
|
21
|
-
- 🔍 **Code Quality**: Linting, formatting, and
|
|
22
|
-
- 🛠️ **Project Audit**: Dependency and structure validation
|
|
23
|
+
- 🔍 **Code Quality**: Linting, formatting, and building
|
|
24
|
+
- 🛠️ **Project Audit**: Dependency and structure validation with auto-fix
|
|
23
25
|
- 🪪 **Smart Git Hooks**: Automatic git hook management and commit message validation
|
|
24
26
|
- 💻 **Direct TS Execution**: Run TypeScript files directly without compilation
|
|
25
27
|
- 🔧 **Single Configuration**: One config file for all functionality
|
|
@@ -29,12 +31,20 @@ Basis is your **unified development toolkit** for modern projects. Instead of ju
|
|
|
29
31
|
### Installation
|
|
30
32
|
|
|
31
33
|
```bash
|
|
32
|
-
# Install
|
|
33
|
-
|
|
34
|
-
|
|
34
|
+
# Install with npm
|
|
35
|
+
$ npm install -D @funish/basis
|
|
36
|
+
|
|
37
|
+
# Install with yarn
|
|
38
|
+
$ yarn add -D @funish/basis
|
|
39
|
+
|
|
40
|
+
# Install with pnpm
|
|
41
|
+
$ pnpm add -D @funish/basis
|
|
42
|
+
|
|
43
|
+
# Install globally (optional)
|
|
44
|
+
$ pnpm add -g @funish/basis
|
|
35
45
|
|
|
36
46
|
# Or use directly without installation
|
|
37
|
-
npx @funish/basis init
|
|
47
|
+
$ npx @funish/basis init
|
|
38
48
|
```
|
|
39
49
|
|
|
40
50
|
### Initialize
|
|
@@ -43,6 +53,11 @@ npx @funish/basis init
|
|
|
43
53
|
cd your-project
|
|
44
54
|
basis init
|
|
45
55
|
|
|
56
|
+
# Options
|
|
57
|
+
basis init --force # Overwrite existing configuration
|
|
58
|
+
basis init --skip-git-check # Skip git directory check
|
|
59
|
+
basis init --skip-install # Skip dependency installation
|
|
60
|
+
|
|
46
61
|
# This creates:
|
|
47
62
|
# ✅ basis.config.ts with Git hooks
|
|
48
63
|
# ✅ Git hooks setup (run 'basis git setup' to activate)
|
|
@@ -59,16 +74,16 @@ basis lint
|
|
|
59
74
|
# Format code
|
|
60
75
|
basis fmt
|
|
61
76
|
|
|
62
|
-
# Type check
|
|
63
|
-
basis check
|
|
64
|
-
|
|
65
77
|
# Build project
|
|
66
|
-
basis build
|
|
78
|
+
basis build # Build with default config
|
|
79
|
+
basis build --dir ./packages # Build specific directory
|
|
80
|
+
basis build --stub # Generate stub files
|
|
67
81
|
|
|
68
82
|
# Audit code quality
|
|
69
83
|
basis audit # Run all audits
|
|
70
84
|
basis audit --dependencies # Audit dependencies only
|
|
71
85
|
basis audit --structure # Audit structure only
|
|
86
|
+
basis audit --fix # Auto-fix issues
|
|
72
87
|
```
|
|
73
88
|
|
|
74
89
|
### Package Management
|
|
@@ -109,8 +124,16 @@ basis version major # 1.0.0 → 2.0.0
|
|
|
109
124
|
basis version prerelease # 1.0.0 → 1.0.1-edge.0
|
|
110
125
|
basis version prerelease --preid beta # 1.0.0 → 1.0.1-beta.0
|
|
111
126
|
|
|
127
|
+
# Advanced prerelease
|
|
128
|
+
basis version premajor # 2.0.0-alpha.0
|
|
129
|
+
basis version preminor # 1.1.0-alpha.0
|
|
130
|
+
basis version prepatch # 1.0.1-alpha.0
|
|
131
|
+
|
|
112
132
|
# Specific version
|
|
113
133
|
basis version 2.0.0
|
|
134
|
+
|
|
135
|
+
# Allow same version
|
|
136
|
+
basis version patch --allow-same-version
|
|
114
137
|
```
|
|
115
138
|
|
|
116
139
|
### Publishing
|
|
@@ -136,9 +159,10 @@ basis git staged
|
|
|
136
159
|
# Validate commit message
|
|
137
160
|
basis git lint-commit
|
|
138
161
|
|
|
139
|
-
# Git passthrough
|
|
162
|
+
# Git passthrough (all other git commands)
|
|
140
163
|
basis git status
|
|
141
164
|
basis git log --oneline
|
|
165
|
+
basis git branch -a
|
|
142
166
|
```
|
|
143
167
|
|
|
144
168
|
## Configuration
|
|
@@ -150,11 +174,15 @@ Basis uses a single configuration file for all features:
|
|
|
150
174
|
import { defineBasisConfig } from "@funish/basis/config";
|
|
151
175
|
|
|
152
176
|
export default defineBasisConfig({
|
|
153
|
-
// Linting configuration (oxlint)
|
|
154
|
-
lint: {
|
|
177
|
+
// Linting configuration (oxlint arguments)
|
|
178
|
+
lint: {
|
|
179
|
+
config: ["--fix", "--fix-suggestions", "--type-aware", "--type-check"],
|
|
180
|
+
},
|
|
155
181
|
|
|
156
|
-
// Formatting configuration (oxfmt)
|
|
157
|
-
fmt: {
|
|
182
|
+
// Formatting configuration (oxfmt arguments)
|
|
183
|
+
fmt: {
|
|
184
|
+
config: ["--write", "."],
|
|
185
|
+
},
|
|
158
186
|
|
|
159
187
|
// Git configuration
|
|
160
188
|
git: {
|
|
@@ -220,7 +248,10 @@ export default defineBasisConfig({
|
|
|
220
248
|
|
|
221
249
|
// Publishing configuration
|
|
222
250
|
publish: {
|
|
223
|
-
|
|
251
|
+
npm: {
|
|
252
|
+
tag: "latest",
|
|
253
|
+
additionalTag: "edge",
|
|
254
|
+
},
|
|
224
255
|
git: {
|
|
225
256
|
tagPrefix: "v",
|
|
226
257
|
message: (version) => `chore: release v${version}`,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@funish/basis",
|
|
3
|
-
"version": "0.2.8
|
|
3
|
+
"version": "0.2.8",
|
|
4
4
|
"description": "A modern development toolkit with unified CLI for package management, versioning, publishing, code quality, and Git workflow automation.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"basis",
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
"semver",
|
|
23
23
|
"typescript",
|
|
24
24
|
"unjs",
|
|
25
|
-
"version-management"
|
|
25
|
+
"version-management",
|
|
26
|
+
"vite-plus"
|
|
26
27
|
],
|
|
27
28
|
"homepage": "https://github.com/funish/basis#readme",
|
|
28
29
|
"bugs": {
|
|
@@ -79,7 +80,7 @@
|
|
|
79
80
|
"pkg-types": "2.3.0",
|
|
80
81
|
"semver": "7.7.4",
|
|
81
82
|
"tinyglobby": "0.2.15",
|
|
82
|
-
"@funish/build": "0.0.4
|
|
83
|
+
"@funish/build": "0.0.4"
|
|
83
84
|
},
|
|
84
85
|
"devDependencies": {
|
|
85
86
|
"@types/picomatch": "4.0.2",
|