@funish/basis 0.0.1 → 0.0.2
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 +70 -24
- package/dist/chunks/config.cjs +1 -1
- package/dist/chunks/config.mjs +1 -1
- package/dist/chunks/git.cjs +1 -0
- package/dist/chunks/git.mjs +1 -0
- package/dist/chunks/init.cjs +1 -1
- package/dist/chunks/init.mjs +1 -1
- package/dist/chunks/lint.cjs +1 -1
- package/dist/chunks/lint.mjs +1 -1
- package/dist/chunks/publish.cjs +1 -1
- package/dist/chunks/publish.mjs +1 -1
- package/dist/chunks/version.cjs +1 -1
- package/dist/chunks/version.mjs +1 -1
- package/dist/cli.cjs +1 -1
- package/dist/cli.mjs +1 -1
- package/dist/config.cjs +1 -1
- package/dist/config.d.cts +1 -1
- package/dist/config.d.mts +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.mjs +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +193 -24
- package/dist/index.d.mts +193 -24
- package/dist/index.d.ts +193 -24
- package/dist/index.mjs +1 -1
- package/dist/shared/{basis.dc3ybBoz.mjs → basis.BglwV-us.mjs} +1 -1
- package/dist/shared/{basis.CgpyxNW3.cjs → basis.Bhi6kSAJ.cjs} +1 -1
- package/dist/shared/basis.BjS41bTE.cjs +1 -0
- package/dist/shared/basis.BvLeB_5F.d.cts +253 -0
- package/dist/shared/basis.BvLeB_5F.d.mts +253 -0
- package/dist/shared/basis.BvLeB_5F.d.ts +253 -0
- package/dist/shared/basis.C7U9rUSl.mjs +1 -0
- package/dist/shared/basis.CASkqgVR.mjs +1 -0
- package/dist/shared/basis.D2srGCU3.cjs +1 -0
- package/dist/shared/basis.D3bv4yUV.mjs +3 -0
- package/dist/shared/basis.DHqql56x.mjs +10 -0
- package/dist/shared/basis.DXBdQ4nF.mjs +1 -0
- package/dist/shared/basis.DcyVtmjR.cjs +1 -0
- package/dist/shared/basis.FJWRn1Ix.cjs +3 -0
- package/dist/shared/basis.QoGvLLsN.cjs +10 -0
- package/package.json +5 -3
- package/dist/chunks/githooks.cjs +0 -1
- package/dist/chunks/githooks.mjs +0 -1
- package/dist/shared/basis.ByJ8R9TE.cjs +0 -1
- package/dist/shared/basis.C0E7mwQ6.mjs +0 -1
- package/dist/shared/basis.C5wlo6IO.mjs +0 -1
- package/dist/shared/basis.CBZIV3-V.mjs +0 -19
- package/dist/shared/basis.CSSuyvpq.cjs +0 -1
- package/dist/shared/basis.D57HxVvD.cjs +0 -4
- package/dist/shared/basis.DeKfEQsQ.cjs +0 -5
- package/dist/shared/basis.DweCjqFb.cjs +0 -19
- package/dist/shared/basis.O4so-uuj.mjs +0 -5
- package/dist/shared/basis.iRZ1Ylu8.d.cts +0 -127
- package/dist/shared/basis.iRZ1Ylu8.d.mts +0 -127
- package/dist/shared/basis.iRZ1Ylu8.d.ts +0 -127
- package/dist/shared/basis.rDVxD7qf.mjs +0 -4
package/README.md
CHANGED
|
@@ -135,21 +135,49 @@ basis publish --skip-build --skip-tests
|
|
|
135
135
|
# Lint staged files
|
|
136
136
|
basis lint --staged
|
|
137
137
|
|
|
138
|
-
#
|
|
139
|
-
basis lint --
|
|
138
|
+
# Run project-wide linting
|
|
139
|
+
basis lint --project
|
|
140
|
+
|
|
141
|
+
# Check dependencies
|
|
142
|
+
basis lint --deps
|
|
143
|
+
|
|
144
|
+
# Check project structure
|
|
145
|
+
basis lint --structure
|
|
146
|
+
|
|
147
|
+
# Check documentation
|
|
148
|
+
basis lint --docs
|
|
149
|
+
|
|
150
|
+
# Run all lint checks
|
|
151
|
+
basis lint --all
|
|
140
152
|
```
|
|
141
153
|
|
|
142
154
|
### Git Hooks Management
|
|
143
155
|
|
|
144
156
|
```bash
|
|
145
|
-
#
|
|
146
|
-
basis
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
basis
|
|
157
|
+
# Setup git configuration and hooks
|
|
158
|
+
basis git setup
|
|
159
|
+
|
|
160
|
+
# Setup git configuration only
|
|
161
|
+
basis git config
|
|
162
|
+
|
|
163
|
+
# Setup git hooks only
|
|
164
|
+
basis git hooks
|
|
165
|
+
|
|
166
|
+
# Remove git hooks
|
|
167
|
+
basis git remove # Remove all basis-managed hooks
|
|
168
|
+
basis git remove pre-commit # Remove specific hook
|
|
169
|
+
basis git remove --update-config # Remove hooks AND config from basis.config.ts
|
|
170
|
+
|
|
171
|
+
# Reset git configuration
|
|
172
|
+
basis git reset # Reset config (keep user info)
|
|
173
|
+
basis git reset --no-keep-user # Reset config (remove user info)
|
|
174
|
+
basis git reset --update-config # Reset config AND remove from basis.config.ts
|
|
175
|
+
|
|
176
|
+
# Initialize git repository with basis configuration
|
|
177
|
+
basis git init
|
|
178
|
+
|
|
179
|
+
# Validate commit message
|
|
180
|
+
basis git lint-commit
|
|
153
181
|
```
|
|
154
182
|
|
|
155
183
|
### Project Management
|
|
@@ -188,6 +216,21 @@ export default defineBasisConfig({
|
|
|
188
216
|
"*.{json,md,yml,yaml}": "prettier --write",
|
|
189
217
|
"*.vue": "vue-tsc --noEmit && eslint --fix",
|
|
190
218
|
},
|
|
219
|
+
// Project-wide linting commands
|
|
220
|
+
project: {
|
|
221
|
+
typecheck: "tsc --noEmit",
|
|
222
|
+
"format-check": "prettier --check .",
|
|
223
|
+
},
|
|
224
|
+
},
|
|
225
|
+
|
|
226
|
+
// Git configuration
|
|
227
|
+
git: {
|
|
228
|
+
// Hook commands
|
|
229
|
+
hooks: {
|
|
230
|
+
"pre-commit": "basis lint --staged",
|
|
231
|
+
"commit-msg": "basis git lint-commit",
|
|
232
|
+
},
|
|
233
|
+
|
|
191
234
|
// Commit message validation
|
|
192
235
|
commitMsg: {
|
|
193
236
|
types: [
|
|
@@ -207,13 +250,6 @@ export default defineBasisConfig({
|
|
|
207
250
|
scopeRequired: false,
|
|
208
251
|
allowedScopes: ["api", "ui", "core"],
|
|
209
252
|
},
|
|
210
|
-
},
|
|
211
|
-
|
|
212
|
-
// Git hooks configuration
|
|
213
|
-
githooks: {
|
|
214
|
-
// Hook commands
|
|
215
|
-
"pre-commit": "basis lint --staged",
|
|
216
|
-
"commit-msg": "basis lint --commit-msg",
|
|
217
253
|
|
|
218
254
|
// Options
|
|
219
255
|
autoInitGit: true, // Auto-initialize git repo if not found
|
|
@@ -347,7 +383,7 @@ basis add package # Unified package management
|
|
|
347
383
|
basis version patch # Unified version management
|
|
348
384
|
basis publish --tag beta # Unified publishing
|
|
349
385
|
basis lint --staged # Unified linting
|
|
350
|
-
basis
|
|
386
|
+
basis git hooks # Unified git hooks
|
|
351
387
|
```
|
|
352
388
|
|
|
353
389
|
## API
|
|
@@ -377,12 +413,22 @@ await basis.publishPackage({ tag: "beta" });
|
|
|
377
413
|
|
|
378
414
|
// Linting
|
|
379
415
|
await basis.lintStaged();
|
|
380
|
-
await basis.
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
await basis.
|
|
384
|
-
|
|
385
|
-
|
|
416
|
+
await basis.lintProject();
|
|
417
|
+
await basis.lintDependencies();
|
|
418
|
+
await basis.lintStructure();
|
|
419
|
+
await basis.lintDocs();
|
|
420
|
+
|
|
421
|
+
// Git management
|
|
422
|
+
await basis.setupGit(); // Setup everything
|
|
423
|
+
await basis.setupGitConfig(); // Setup config only
|
|
424
|
+
await basis.setupGitHooks(); // Setup hooks only
|
|
425
|
+
await basis.removeGitHooks(); // Remove hooks (keep config)
|
|
426
|
+
await basis.removeGitHooks(true); // Remove hooks + config file
|
|
427
|
+
await basis.resetGitConfig(); // Reset config (keep user)
|
|
428
|
+
await basis.resetGitConfig(false); // Reset config (remove all)
|
|
429
|
+
await basis.resetGitConfig(true, true); // Reset + remove from config file
|
|
430
|
+
await basis.initGitRepo(); // Initialize repository
|
|
431
|
+
await basis.lintCommitMessage(); // Validate commit message
|
|
386
432
|
```
|
|
387
433
|
|
|
388
434
|
## License
|
package/dist/chunks/config.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const citty=require("citty"),consola=require("consola"),utils=require("../shared/basis.
|
|
1
|
+
"use strict";const citty=require("citty"),consola=require("consola"),utils=require("../shared/basis.DcyVtmjR.cjs");require("node:fs/promises"),require("c12"),require("../config.cjs");const config=citty.defineCommand({meta:{name:"config",description:"View current basis configuration"},args:{json:{type:"boolean",description:"Output configuration as JSON"},path:{type:"boolean",description:"Show configuration file path"}},async run({args:e}){try{const s=process.cwd(),{config:o,configFile:t}=await utils.loadConfig({cwd:s});if(e.path){t?consola.consola.info(`Configuration file: ${t}`):(consola.consola.warn("No configuration file found"),consola.consola.info("Run `basis init` to create one"));return}if(Object.keys(o).length===0){consola.consola.warn("No configuration found"),consola.consola.info("Run `basis init` to create a basis.config.ts file");return}if(e.json)consola.consola.log(JSON.stringify(o,null,2));else{if(consola.consola.info("Current basis configuration:"),t&&consola.consola.log(`\u{1F4C1} Config file: ${t}`),o.lint){if(consola.consola.log(""),consola.consola.log("\u{1F4DD} Lint:"),o.lint.staged){consola.consola.log(" Staged files:");for(const[n,i]of Object.entries(o.lint.staged))consola.consola.log(` ${n}: ${i}`)}if(o.lint.project){consola.consola.log(" Project:");for(const[n,i]of Object.entries(o.lint.project))consola.consola.log(` ${n}: ${i}`)}}if(o.git&&(consola.consola.log(""),consola.consola.log("\u{1F527} Git:"),o.git.commitMsg&&(consola.consola.log(" Commit message:"),o.git.commitMsg.types&&consola.consola.log(` Types: ${o.git.commitMsg.types.join(", ")}`),o.git.commitMsg.maxLength&&consola.consola.log(` Max length: ${o.git.commitMsg.maxLength}`),o.git.commitMsg.minLength&&consola.consola.log(` Min length: ${o.git.commitMsg.minLength}`)),o.git.hooks)){consola.consola.log(" Hooks:");for(const[n,i]of Object.entries(o.git.hooks))consola.consola.log(` ${n}: ${i}`)}}consola.consola.success("Configuration loaded successfully")}catch(s){consola.consola.error("Failed to load configuration:",s),process.exit(1)}}});exports.default=config;
|
package/dist/chunks/config.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineCommand as
|
|
1
|
+
import{defineCommand as r}from"citty";import{consola as o}from"consola";import{l as a}from"../shared/basis.C7U9rUSl.mjs";import"node:fs/promises";import"c12";import"../config.mjs";const c=r({meta:{name:"config",description:"View current basis configuration"},args:{json:{type:"boolean",description:"Output configuration as JSON"},path:{type:"boolean",description:"Show configuration file path"}},async run({args:s}){try{const g=process.cwd(),{config:i,configFile:e}=await a({cwd:g});if(s.path){e?o.info(`Configuration file: ${e}`):(o.warn("No configuration file found"),o.info("Run `basis init` to create one"));return}if(Object.keys(i).length===0){o.warn("No configuration found"),o.info("Run `basis init` to create a basis.config.ts file");return}if(s.json)o.log(JSON.stringify(i,null,2));else{if(o.info("Current basis configuration:"),e&&o.log(`\u{1F4C1} Config file: ${e}`),i.lint){if(o.log(""),o.log("\u{1F4DD} Lint:"),i.lint.staged){o.log(" Staged files:");for(const[t,n]of Object.entries(i.lint.staged))o.log(` ${t}: ${n}`)}if(i.lint.project){o.log(" Project:");for(const[t,n]of Object.entries(i.lint.project))o.log(` ${t}: ${n}`)}}if(i.git&&(o.log(""),o.log("\u{1F527} Git:"),i.git.commitMsg&&(o.log(" Commit message:"),i.git.commitMsg.types&&o.log(` Types: ${i.git.commitMsg.types.join(", ")}`),i.git.commitMsg.maxLength&&o.log(` Max length: ${i.git.commitMsg.maxLength}`),i.git.commitMsg.minLength&&o.log(` Min length: ${i.git.commitMsg.minLength}`)),i.git.hooks)){o.log(" Hooks:");for(const[t,n]of Object.entries(i.git.hooks))o.log(` ${t}: ${n}`)}}o.success("Configuration loaded successfully")}catch(g){o.error("Failed to load configuration:",g),process.exit(1)}}});export{c as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const citty=require("citty"),consola=require("consola"),git$1=require("../shared/basis.QoGvLLsN.cjs");require("node:child_process"),require("node:fs/promises"),require("ini"),require("magicast"),require("pathe"),require("../shared/basis.DcyVtmjR.cjs"),require("c12"),require("../config.cjs");const git=citty.defineCommand({meta:{name:"git",description:"Git configuration and hooks management"},subCommands:{setup:citty.defineCommand({meta:{name:"setup",description:"Setup Git configuration and hooks"},async run(){const o=process.cwd();await git$1.setupGit(o)||process.exit(1)}}),config:citty.defineCommand({meta:{name:"config",description:"Setup Git configuration only"},async run(){const o=process.cwd();consola.consola.start("Setting up Git configuration..."),await git$1.setupGitConfig(o)?consola.consola.success("\u2705 Git configuration completed successfully!"):(consola.consola.error("\u274C Git configuration failed"),process.exit(1))}}),hooks:citty.defineCommand({meta:{name:"hooks",description:"Setup Git hooks only"},async run(){const o=process.cwd();consola.consola.start("Setting up Git hooks..."),await git$1.setupGitHooks(o)?consola.consola.success("\u2705 Git hooks setup completed successfully!"):(consola.consola.error("\u274C Git hooks setup failed"),process.exit(1))}}),remove:citty.defineCommand({meta:{name:"remove",description:"Remove Git hooks"},args:{hooks:{type:"positional",description:"Specific hook names to remove (optional)",required:!1},"update-config":{type:"boolean",description:"Also remove hooks configuration from basis.config.ts",default:!1}},async run({args:o}){const e=process.cwd();consola.consola.start("Removing Git hooks...");const s=o.hooks&&typeof o.hooks=="string"?[o.hooks]:Array.isArray(o.hooks)?o.hooks.filter(t=>typeof t=="string"):void 0,i=typeof o["update-config"]=="boolean"?o["update-config"]:!1;await git$1.removeGitHooks(e,s,{updateConfig:i})?consola.consola.success("\u2705 Git hooks removed successfully!"):(consola.consola.error("\u274C Git hooks removal failed"),process.exit(1))}}),reset:citty.defineCommand({meta:{name:"reset",description:"Reset Git configuration (keeps user info by default)"},args:{"keep-user":{type:"boolean",description:"Keep user information (name, email)",default:!0},"update-config":{type:"boolean",description:"Also remove git config from basis.config.ts",default:!1}},async run({args:o}){const e=process.cwd();consola.consola.start("Resetting Git configuration...");const s=typeof o["keep-user"]=="boolean"?o["keep-user"]:!0,i=typeof o["update-config"]=="boolean"?o["update-config"]:!1;await git$1.resetGitConfig(e,s,{updateConfig:i})?consola.consola.success("\u2705 Git configuration reset successfully!"):(consola.consola.error("\u274C Git configuration reset failed"),process.exit(1))}}),init:citty.defineCommand({meta:{name:"init",description:"Initialize Git repository with basis configuration"},async run(){const o=process.cwd();consola.consola.start("Initializing Git repository..."),await git$1.initGitRepo(o)?consola.consola.success("\u2705 Git repository initialized successfully!"):(consola.consola.error("\u274C Git initialization failed"),process.exit(1))}}),"lint-commit":citty.defineCommand({meta:{name:"lint-commit",description:"Validate commit message"},async run(){const o=process.cwd();consola.consola.start("Validating commit message..."),await git$1.lintCommitMessage(o)?consola.consola.success("\u2705 Commit message validation passed!"):(consola.consola.error("\u274C Commit message validation failed"),process.exit(1))}})},async run(){const o=process.cwd();await git$1.setupGit(o)||process.exit(1)}});exports.git=git;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineCommand as t}from"citty";import{consola as e}from"consola";import{b as n,l as c,i as p,c as u,r as m,s as f,a as l}from"../shared/basis.DHqql56x.mjs";import"node:child_process";import"node:fs/promises";import"ini";import"magicast";import"pathe";import"../shared/basis.C7U9rUSl.mjs";import"c12";import"../config.mjs";const d=t({meta:{name:"git",description:"Git configuration and hooks management"},subCommands:{setup:t({meta:{name:"setup",description:"Setup Git configuration and hooks"},async run(){const o=process.cwd();await n(o)||process.exit(1)}}),config:t({meta:{name:"config",description:"Setup Git configuration only"},async run(){const o=process.cwd();e.start("Setting up Git configuration..."),await l(o)?e.success("\u2705 Git configuration completed successfully!"):(e.error("\u274C Git configuration failed"),process.exit(1))}}),hooks:t({meta:{name:"hooks",description:"Setup Git hooks only"},async run(){const o=process.cwd();e.start("Setting up Git hooks..."),await f(o)?e.success("\u2705 Git hooks setup completed successfully!"):(e.error("\u274C Git hooks setup failed"),process.exit(1))}}),remove:t({meta:{name:"remove",description:"Remove Git hooks"},args:{hooks:{type:"positional",description:"Specific hook names to remove (optional)",required:!1},"update-config":{type:"boolean",description:"Also remove hooks configuration from basis.config.ts",default:!1}},async run({args:o}){const i=process.cwd();e.start("Removing Git hooks...");const s=o.hooks&&typeof o.hooks=="string"?[o.hooks]:Array.isArray(o.hooks)?o.hooks.filter(r=>typeof r=="string"):void 0,a=typeof o["update-config"]=="boolean"?o["update-config"]:!1;await m(i,s,{updateConfig:a})?e.success("\u2705 Git hooks removed successfully!"):(e.error("\u274C Git hooks removal failed"),process.exit(1))}}),reset:t({meta:{name:"reset",description:"Reset Git configuration (keeps user info by default)"},args:{"keep-user":{type:"boolean",description:"Keep user information (name, email)",default:!0},"update-config":{type:"boolean",description:"Also remove git config from basis.config.ts",default:!1}},async run({args:o}){const i=process.cwd();e.start("Resetting Git configuration...");const s=typeof o["keep-user"]=="boolean"?o["keep-user"]:!0,a=typeof o["update-config"]=="boolean"?o["update-config"]:!1;await u(i,s,{updateConfig:a})?e.success("\u2705 Git configuration reset successfully!"):(e.error("\u274C Git configuration reset failed"),process.exit(1))}}),init:t({meta:{name:"init",description:"Initialize Git repository with basis configuration"},async run(){const o=process.cwd();e.start("Initializing Git repository..."),await p(o)?e.success("\u2705 Git repository initialized successfully!"):(e.error("\u274C Git initialization failed"),process.exit(1))}}),"lint-commit":t({meta:{name:"lint-commit",description:"Validate commit message"},async run(){const o=process.cwd();e.start("Validating commit message..."),await c(o)?e.success("\u2705 Commit message validation passed!"):(e.error("\u274C Commit message validation failed"),process.exit(1))}})},async run(){const o=process.cwd();await n(o)||process.exit(1)}});export{d as git};
|
package/dist/chunks/init.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const citty=require("citty"),consola=require("consola"),init$1=require("../shared/basis.
|
|
1
|
+
"use strict";const citty=require("citty"),consola=require("consola"),init$1=require("../shared/basis.D2srGCU3.cjs");require("node:fs/promises"),require("magicast"),require("nypm"),require("pathe"),require("pkg-types"),require("../shared/basis.DcyVtmjR.cjs"),require("c12"),require("../config.cjs");const init=citty.defineCommand({meta:{name:"init",description:"Initialize basis configuration"},args:{force:{type:"boolean",alias:"f",description:"Overwrite existing configuration"},"skip-git-check":{type:"boolean",description:"Skip git directory check"},"skip-install":{type:"boolean",description:"Skip showing install command"}},async run({args:i}){try{await init$1.init(process.cwd(),{force:i.force,skipGitCheck:i["skip-git-check"],skipInstall:i["skip-install"]})}catch(e){consola.consola.error("Init failed:",e),process.exit(1)}}});exports.default=init;
|
package/dist/chunks/init.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineCommand as o}from"citty";import{consola as
|
|
1
|
+
import{defineCommand as o}from"citty";import{consola as r}from"consola";import{i as e}from"../shared/basis.DXBdQ4nF.mjs";import"node:fs/promises";import"magicast";import"nypm";import"pathe";import"pkg-types";import"../shared/basis.C7U9rUSl.mjs";import"c12";import"../config.mjs";const n=o({meta:{name:"init",description:"Initialize basis configuration"},args:{force:{type:"boolean",alias:"f",description:"Overwrite existing configuration"},"skip-git-check":{type:"boolean",description:"Skip git directory check"},"skip-install":{type:"boolean",description:"Skip showing install command"}},async run({args:i}){try{await e(process.cwd(),{force:i.force,skipGitCheck:i["skip-git-check"],skipInstall:i["skip-install"]})}catch(t){r.error("Init failed:",t),process.exit(1)}}});export{n as default};
|
package/dist/chunks/lint.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const citty=require("citty"),consola=require("consola"),lint$1=require("../shared/basis.
|
|
1
|
+
"use strict";const citty=require("citty"),consola=require("consola"),lint$1=require("../shared/basis.FJWRn1Ix.cjs");require("node:child_process"),require("node:fs/promises"),require("micromatch"),require("nypm"),require("pathe"),require("pkg-types"),require("../shared/basis.DcyVtmjR.cjs"),require("c12"),require("../config.cjs");const lint=citty.defineCommand({meta:{name:"lint",description:"Run comprehensive project linting and quality checks"},args:{staged:{type:"boolean",description:"Lint only staged files using configured commands",default:!1},project:{type:"boolean",description:"Run project-wide lint commands",default:!1},deps:{type:"boolean",description:"Check dependencies (outdated, security, blocked packages)",default:!1},structure:{type:"boolean",description:"Check project structure (required files/dirs, naming conventions)",default:!1},docs:{type:"boolean",description:"Check documentation (README, CHANGELOG)",default:!1},all:{type:"boolean",description:"Run all lint checks",default:!1}},async run({args:e}){const s=process.cwd();let c=!0;if(!e.staged&&!e.project&&!e.deps&&!e.structure&&!e.docs&&!e.all&&(e.staged=!0),e.all)c=await lint$1.lintAll(s);else{const t=[];e.staged&&t.push(()=>lint$1.lintStaged(s)),e.project&&t.push(()=>lint$1.lintProject(s)),e.deps&&t.push(()=>lint$1.lintDependencies(s)),e.structure&&t.push(()=>lint$1.lintStructure(s)),e.docs&&t.push(()=>lint$1.lintDocs(s));for(const i of t)await i()||(c=!1)}c?(consola.consola.success("\u2705 All lint checks completed successfully!"),process.exit(0)):(consola.consola.error("\u274C Some lint checks failed"),process.exit(1))}});exports.lint=lint;
|
package/dist/chunks/lint.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineCommand as
|
|
1
|
+
import{defineCommand as n}from"citty";import{consola as i}from"consola";import{e as r,l as a,a as l,b as p,c as d,d as u}from"../shared/basis.D3bv4yUV.mjs";import"node:child_process";import"node:fs/promises";import"micromatch";import"nypm";import"pathe";import"pkg-types";import"../shared/basis.C7U9rUSl.mjs";import"c12";import"../config.mjs";const m=n({meta:{name:"lint",description:"Run comprehensive project linting and quality checks"},args:{staged:{type:"boolean",description:"Lint only staged files using configured commands",default:!1},project:{type:"boolean",description:"Run project-wide lint commands",default:!1},deps:{type:"boolean",description:"Check dependencies (outdated, security, blocked packages)",default:!1},structure:{type:"boolean",description:"Check project structure (required files/dirs, naming conventions)",default:!1},docs:{type:"boolean",description:"Check documentation (README, CHANGELOG)",default:!1},all:{type:"boolean",description:"Run all lint checks",default:!1}},async run({args:e}){const t=process.cwd();let o=!0;if(!e.staged&&!e.project&&!e.deps&&!e.structure&&!e.docs&&!e.all&&(e.staged=!0),e.all)o=await r(t);else{const s=[];e.staged&&s.push(()=>a(t)),e.project&&s.push(()=>l(t)),e.deps&&s.push(()=>p(t)),e.structure&&s.push(()=>d(t)),e.docs&&s.push(()=>u(t));for(const c of s)await c()||(o=!1)}o?(i.success("\u2705 All lint checks completed successfully!"),process.exit(0)):(i.error("\u274C Some lint checks failed"),process.exit(1))}});export{m as lint};
|
package/dist/chunks/publish.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const citty=require("citty"),consola=require("consola"),publish$1=require("../shared/basis.
|
|
1
|
+
"use strict";const citty=require("citty"),consola=require("consola"),publish$1=require("../shared/basis.Bhi6kSAJ.cjs");require("node:child_process"),require("nypm"),require("pkg-types"),require("semver"),require("../shared/basis.DcyVtmjR.cjs"),require("node:fs/promises"),require("c12"),require("../config.cjs");const publish=citty.defineCommand({meta:{name:"publish",description:"Publish package to npm registry"},args:{tag:{type:"string",description:"Specific npm tag to publish to",alias:"t"},stable:{type:"boolean",description:"Publish as stable release (latest tag)",alias:"s"},latest:{type:"boolean",description:"Publish to latest tag",alias:"l"},dryRun:{type:"boolean",description:"Perform a dry run without actually publishing",alias:"d"},access:{type:"string",description:"Package access level (public/private)",alias:"a"},registry:{type:"string",description:"NPM registry URL",alias:"r"},skipBuild:{type:"boolean",description:"Skip build step"},skipTests:{type:"boolean",description:"Skip test step"}},async run({args:e}){try{const i=process.cwd(),t={tag:e.tag,stable:e.stable,latest:e.latest,dryRun:e.dryRun,access:e.access,registry:e.registry,skipBuild:e.skipBuild,skipTests:e.skipTests},s=await publish$1.publishPackage(i,t);s.dryRun?consola.consola.success("Dry run completed successfully"):consola.consola.success(`Published ${s.packageName}@${s.version} to ${s.publishTag}`)}catch(i){consola.consola.error("Failed to publish:",i),process.exit(1)}}});exports.default=publish;
|
package/dist/chunks/publish.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineCommand as r}from"citty";import{consola as i}from"consola";import{p}from"../shared/basis.
|
|
1
|
+
import{defineCommand as r}from"citty";import{consola as i}from"consola";import{p}from"../shared/basis.BglwV-us.mjs";import"node:child_process";import"nypm";import"pkg-types";import"semver";import"../shared/basis.C7U9rUSl.mjs";import"node:fs/promises";import"c12";import"../config.mjs";const o=r({meta:{name:"publish",description:"Publish package to npm registry"},args:{tag:{type:"string",description:"Specific npm tag to publish to",alias:"t"},stable:{type:"boolean",description:"Publish as stable release (latest tag)",alias:"s"},latest:{type:"boolean",description:"Publish to latest tag",alias:"l"},dryRun:{type:"boolean",description:"Perform a dry run without actually publishing",alias:"d"},access:{type:"string",description:"Package access level (public/private)",alias:"a"},registry:{type:"string",description:"NPM registry URL",alias:"r"},skipBuild:{type:"boolean",description:"Skip build step"},skipTests:{type:"boolean",description:"Skip test step"}},async run({args:t}){try{const e=process.cwd(),a={tag:t.tag,stable:t.stable,latest:t.latest,dryRun:t.dryRun,access:t.access,registry:t.registry,skipBuild:t.skipBuild,skipTests:t.skipTests},s=await p(e,a);s.dryRun?i.success("Dry run completed successfully"):i.success(`Published ${s.packageName}@${s.version} to ${s.publishTag}`)}catch(e){i.error("Failed to publish:",e),process.exit(1)}}});export{o as default};
|
package/dist/chunks/version.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const citty=require("citty"),consola=require("consola"),version$1=require("../shared/basis.
|
|
1
|
+
"use strict";const citty=require("citty"),consola=require("consola"),g=require("semver"),version$1=require("../shared/basis.BjS41bTE.cjs");require("node:child_process"),require("pkg-types"),require("../shared/basis.DcyVtmjR.cjs"),require("node:fs/promises"),require("c12"),require("../config.cjs");function _interopDefaultCompat(e){return e&&typeof e=="object"&&"default"in e?e.default:e}const g__default=_interopDefaultCompat(g),version=citty.defineCommand({meta:{name:"version",description:"Update package version"},args:{version:{type:"positional",description:"Version to set (patch, minor, major, prerelease, or specific version like 1.2.3)",required:!1},preid:{type:"string",description:"Prerelease identifier (alpha, beta, rc)"},tag:{type:"string",description:"Git tag name"},message:{type:"string",description:"Commit message template",alias:"m"}},async run({args:e}){try{const i=process.cwd(),r=e.version,o={preid:e.preid,message:e.message,tag:e.tag};r&&(["patch","minor","major","prerelease"].includes(r)?o[r]=!0:g__default.valid(r)?o.version=r:(consola.consola.error(`Invalid version argument: ${r}`),consola.consola.info("Valid options: patch, minor, major, prerelease, or specific version (e.g., 1.2.3)"),process.exit(1)));const s=await version$1.updatePackageVersion(i,o);consola.consola.success(`Version updated: ${s.oldVersion} \u2192 ${s.newVersion}`),s.tagName&&consola.consola.info(`Git tag created: ${s.tagName}`)}catch(i){consola.consola.error("Failed to update version:",i),process.exit(1)}}});exports.default=version;
|
package/dist/chunks/version.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineCommand as a}from"citty";import{consola as
|
|
1
|
+
import{defineCommand as a}from"citty";import{consola as r}from"consola";import n from"semver";import{u as p}from"../shared/basis.CASkqgVR.mjs";import"node:child_process";import"pkg-types";import"../shared/basis.C7U9rUSl.mjs";import"node:fs/promises";import"c12";import"../config.mjs";const m=a({meta:{name:"version",description:"Update package version"},args:{version:{type:"positional",description:"Version to set (patch, minor, major, prerelease, or specific version like 1.2.3)",required:!1},preid:{type:"string",description:"Prerelease identifier (alpha, beta, rc)"},tag:{type:"string",description:"Git tag name"},message:{type:"string",description:"Commit message template",alias:"m"}},async run({args:i}){try{const s=process.cwd(),e=i.version,t={preid:i.preid,message:i.message,tag:i.tag};e&&(["patch","minor","major","prerelease"].includes(e)?t[e]=!0:n.valid(e)?t.version=e:(r.error(`Invalid version argument: ${e}`),r.info("Valid options: patch, minor, major, prerelease, or specific version (e.g., 1.2.3)"),process.exit(1)));const o=await p(s,t);r.success(`Version updated: ${o.oldVersion} \u2192 ${o.newVersion}`),o.tagName&&r.info(`Git tag created: ${o.tagName}`)}catch(s){r.error("Failed to update version:",s),process.exit(1)}}});export{m as default};
|
package/dist/cli.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";const citty=require("citty"),consola=require("consola"),pkgTypes=require("pkg-types");async function m(){const e=await pkgTypes.readPackageJSON(),n=citty.defineCommand({meta:{name:"basis",version:e.version||"",description:e.description||""},subCommands:{init:()=>import("./chunks/init.cjs").then(t=>t.default),config:()=>import("./chunks/config.cjs").then(t=>t.default),lint:()=>import("./chunks/lint.cjs").then(t=>t.
|
|
2
|
+
"use strict";const citty=require("citty"),consola=require("consola"),pkgTypes=require("pkg-types");async function m(){const e=await pkgTypes.readPackageJSON(),n=citty.defineCommand({meta:{name:"basis",version:e.version||"",description:e.description||""},subCommands:{init:()=>import("./chunks/init.cjs").then(t=>t.default),config:()=>import("./chunks/config.cjs").then(t=>t.default),lint:()=>import("./chunks/lint.cjs").then(t=>t.lint),git:()=>import("./chunks/git.cjs").then(t=>t.git),install:()=>import("./chunks/install.cjs").then(t=>t.default),i:()=>import("./chunks/install.cjs").then(t=>t.default),add:()=>import("./chunks/add.cjs").then(t=>t.default),remove:()=>import("./chunks/remove.cjs").then(t=>t.default),rm:()=>import("./chunks/remove.cjs").then(t=>t.default),uninstall:()=>import("./chunks/remove.cjs").then(t=>t.default),run:()=>import("./chunks/run.cjs").then(t=>t.default),version:()=>import("./chunks/version.cjs").then(t=>t.default),publish:()=>import("./chunks/publish.cjs").then(t=>t.default)}});await citty.runMain(n)}m().catch(consola.consola.error);
|
package/dist/cli.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{defineCommand as
|
|
2
|
+
import{defineCommand as e,runMain as o}from"citty";import{consola as r}from"consola";import{readPackageJSON as a}from"pkg-types";async function m(){const i=await a(),n=e({meta:{name:"basis",version:i.version||"",description:i.description||""},subCommands:{init:()=>import("./chunks/init.mjs").then(t=>t.default),config:()=>import("./chunks/config.mjs").then(t=>t.default),lint:()=>import("./chunks/lint.mjs").then(t=>t.lint),git:()=>import("./chunks/git.mjs").then(t=>t.git),install:()=>import("./chunks/install.mjs").then(t=>t.default),i:()=>import("./chunks/install.mjs").then(t=>t.default),add:()=>import("./chunks/add.mjs").then(t=>t.default),remove:()=>import("./chunks/remove.mjs").then(t=>t.default),rm:()=>import("./chunks/remove.mjs").then(t=>t.default),uninstall:()=>import("./chunks/remove.mjs").then(t=>t.default),run:()=>import("./chunks/run.mjs").then(t=>t.default),version:()=>import("./chunks/version.mjs").then(t=>t.default),publish:()=>import("./chunks/publish.mjs").then(t=>t.default)}});await o(n)}m().catch(r.error);
|
package/dist/config.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";function defineBasisConfig(e){return e}const defaultConfig={lint:{staged:{},commitMsg:{types:["feat","fix","docs","style","refactor","perf","test","build","ci","chore","revert"],
|
|
1
|
+
"use strict";function defineBasisConfig(e){return e}const defaultConfig={lint:{staged:{},project:{},dependencies:{checkSecurity:!0},structure:{requiredFiles:["package.json"]},docs:{checkReadme:!0}},git:{hooks:{},config:{core:{autocrlf:"input"}},commitMsg:{types:["feat","fix","docs","style","refactor","perf","test","build","ci","chore","revert"]},autoSetup:!0,autoInitGit:!0,skipGitCheck:!1,force:!1},packageManager:{autoDetect:!0},version:{tagPrefix:"v",prereleaseId:"edge"},publish:{defaultTag:"edge",stableTag:"latest"}};exports.defaultConfig=defaultConfig,exports.defineBasisConfig=defineBasisConfig;
|
package/dist/config.d.cts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { e as defaultConfig, d as defineBasisConfig } from './shared/basis.BvLeB_5F.cjs';
|
package/dist/config.d.mts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { e as defaultConfig, d as defineBasisConfig } from './shared/basis.BvLeB_5F.mjs';
|
package/dist/config.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { e as defaultConfig, d as defineBasisConfig } from './shared/basis.BvLeB_5F.js';
|
package/dist/config.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function t(e){return e}const
|
|
1
|
+
function t(e){return e}const r={lint:{staged:{},project:{},dependencies:{checkSecurity:!0},structure:{requiredFiles:["package.json"]},docs:{checkReadme:!0}},git:{hooks:{},config:{core:{autocrlf:"input"}},commitMsg:{types:["feat","fix","docs","style","refactor","perf","test","build","ci","chore","revert"]},autoSetup:!0,autoInitGit:!0,skipGitCheck:!1,force:!1},packageManager:{autoDetect:!0},version:{tagPrefix:"v",prereleaseId:"edge"},publish:{defaultTag:"edge",stableTag:"latest"}};export{r as defaultConfig,t as defineBasisConfig};
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const config=require("./config.cjs"),
|
|
1
|
+
"use strict";const config=require("./config.cjs"),git=require("./shared/basis.QoGvLLsN.cjs"),init=require("./shared/basis.D2srGCU3.cjs"),lint=require("./shared/basis.FJWRn1Ix.cjs"),publish=require("./shared/basis.Bhi6kSAJ.cjs"),version=require("./shared/basis.BjS41bTE.cjs"),utils=require("./shared/basis.DcyVtmjR.cjs");require("node:child_process"),require("node:fs/promises"),require("consola"),require("ini"),require("magicast"),require("pathe"),require("nypm"),require("pkg-types"),require("micromatch"),require("semver"),require("c12");class Basis{config=null;cwd;constructor(t=process.cwd()){this.cwd=t}async getConfig(){if(!this.config){const{config:t}=await utils.loadConfig({cwd:this.cwd});this.config=t}return this.config}async init(t={}){return await init.init(this.cwd,t)}async lintStaged(){const t=await this.getConfig();return await lint.lintStaged(this.cwd,t.lint?.staged)}async lintProject(){const t=await this.getConfig();return await lint.lintProject(this.cwd,t.lint?.project)}async lintDependencies(){const t=await this.getConfig();return await lint.lintDependencies(this.cwd,t.lint?.dependencies)}async lintStructure(){const t=await this.getConfig();return await lint.lintStructure(this.cwd,t.lint?.structure)}async lintDocs(){const t=await this.getConfig();return await lint.lintDocs(this.cwd,t.lint?.docs)}async lintAll(){return await lint.lintAll(this.cwd)}async lintCommitMessage(){const t=await this.getConfig();return await git.lintCommitMessage(this.cwd,t.git?.commitMsg)}async setupGitHooks(){const t=await this.getConfig();return await git.setupGitHooks(this.cwd,t.git?.hooks)}async setupGitConfig(){const t=await this.getConfig();return await git.setupGitConfig(this.cwd,t.git?.config)}async setupGit(){return await git.setupGit(this.cwd)}async initGitRepo(){return await git.initGitRepo(this.cwd)}async removeGitHooks(t=!1){return await git.removeGitHooks(this.cwd,void 0,{updateConfig:t})}async resetGitConfig(t=!0,e=!1){return await git.resetGitConfig(this.cwd,t,{updateConfig:e})}async updateVersion(t={}){return await version.updatePackageVersion(this.cwd,t)}async setVersion(t){return await version.updatePackageVersion(this.cwd,{version:t})}async patchVersion(){return await version.updatePackageVersion(this.cwd,{})}async minorVersion(){return await version.updatePackageVersion(this.cwd,{minor:!0})}async majorVersion(){return await version.updatePackageVersion(this.cwd,{major:!0})}async prereleaseVersion(t){return await version.updatePackageVersion(this.cwd,{prerelease:!0,preid:t})}async publish(t={}){return await publish.publishPackage(this.cwd,t)}async publishDryRun(t={}){return await publish.publishPackage(this.cwd,{...t,dryRun:!0})}async publishToTag(t,e={}){return await publish.publishPackage(this.cwd,{...e,tag:t})}async publishStable(t={}){return await publish.publishPackage(this.cwd,{...t,stable:!0})}getCwd(){return this.cwd}setCwd(t){this.cwd=t,this.config=null}async reloadConfig(){return this.config=null,await this.getConfig()}async setup(t={}){return await this.init(t)?await this.setupGit():!1}async release(t={},e={}){if(!await this.lintAll())throw new Error("Lint checks failed. Fix issues before releasing.");const s=await this.updateVersion(t),r=await this.publish(e);return{version:s,publish:r}}}function createBasis(i=process.cwd()){return new Basis(i)}const VALID_GIT_HOOKS=["applypatch-msg","pre-applypatch","post-applypatch","pre-commit","pre-merge-commit","prepare-commit-msg","commit-msg","post-commit","pre-rebase","post-checkout","post-merge","pre-push","pre-receive","update","proc-receive","post-receive","post-update","reference-transaction","push-to-checkout","pre-auto-gc","post-rewrite","sendemail-validate","fsmonitor-watchman","p4-changelist","p4-prepare-changelist","p4-post-changelist","p4-pre-submit","post-index-change"];exports.defaultConfig=config.defaultConfig,exports.defineBasisConfig=config.defineBasisConfig,exports.initGitRepo=git.initGitRepo,exports.lintCommitMessage=git.lintCommitMessage,exports.parseCommitMessage=git.parseCommitMessage,exports.readGitConfig=git.readGitConfig,exports.removeGitHooks=git.removeGitHooks,exports.resetGitConfig=git.resetGitConfig,exports.setupGit=git.setupGit,exports.setupGitConfig=git.setupGitConfig,exports.setupGitHooks=git.setupGitHooks,exports.validateCommitMessage=git.validateCommitMessage,exports.writeGitConfig=git.writeGitConfig,exports.createMinimalConfig=init.createMinimalConfig,exports.init=init.init,exports.previewBasisConfig=init.previewBasisConfig,exports.getProjectFiles=lint.getProjectFiles,exports.getStagedFiles=lint.getStagedFiles,exports.lintAll=lint.lintAll,exports.lintDependencies=lint.lintDependencies,exports.lintDocs=lint.lintDocs,exports.lintProject=lint.lintProject,exports.lintStaged=lint.lintStaged,exports.lintStructure=lint.lintStructure,exports.publishPackage=publish.publishPackage,exports.updatePackageVersion=version.updatePackageVersion,exports.fileExists=utils.fileExists,exports.loadConfig=utils.loadConfig,exports.Basis=Basis,exports.VALID_GIT_HOOKS=VALID_GIT_HOOKS,exports.createBasis=createBasis;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { B as BasisConfig, I as InitOptions,
|
|
2
|
-
export {
|
|
1
|
+
import { B as BasisConfig, I as InitOptions, V as VersionOptions, a as VersionUpdateResult, P as PublishOptions, b as PublishResult, C as CommitMessage, G as GitConfig, c as GitConfigData, L as LintConfig } from './shared/basis.BvLeB_5F.cjs';
|
|
2
|
+
export { f as CommitMsgConfig, j as GitConfigSection, i as GitConfigValue, k as PackageManagerConfig, m as PublishConfig, g as VALID_GIT_HOOKS, h as ValidGitHook, l as VersionConfig, e as defaultConfig, d as defineBasisConfig } from './shared/basis.BvLeB_5F.cjs';
|
|
3
3
|
import * as c12 from 'c12';
|
|
4
4
|
import { LoadConfigOptions } from 'c12';
|
|
5
5
|
|
|
@@ -20,59 +20,224 @@ declare class Basis {
|
|
|
20
20
|
*/
|
|
21
21
|
lintStaged(): Promise<boolean>;
|
|
22
22
|
/**
|
|
23
|
-
* Run
|
|
23
|
+
* Run linting for entire project
|
|
24
|
+
*/
|
|
25
|
+
lintProject(): Promise<boolean>;
|
|
26
|
+
/**
|
|
27
|
+
* Check project dependencies
|
|
28
|
+
*/
|
|
29
|
+
lintDependencies(): Promise<boolean>;
|
|
30
|
+
/**
|
|
31
|
+
* Check project structure
|
|
32
|
+
*/
|
|
33
|
+
lintStructure(): Promise<boolean>;
|
|
34
|
+
/**
|
|
35
|
+
* Check project documentation
|
|
36
|
+
*/
|
|
37
|
+
lintDocs(): Promise<boolean>;
|
|
38
|
+
/**
|
|
39
|
+
* Run all lint checks
|
|
40
|
+
*/
|
|
41
|
+
lintAll(): Promise<boolean>;
|
|
42
|
+
/**
|
|
43
|
+
* Validate commit message
|
|
24
44
|
*/
|
|
25
45
|
lintCommitMessage(): Promise<boolean>;
|
|
26
46
|
/**
|
|
27
|
-
*
|
|
47
|
+
* Setup Git hooks
|
|
48
|
+
*/
|
|
49
|
+
setupGitHooks(): Promise<boolean>;
|
|
50
|
+
/**
|
|
51
|
+
* Setup Git configuration
|
|
52
|
+
*/
|
|
53
|
+
setupGitConfig(): Promise<boolean>;
|
|
54
|
+
/**
|
|
55
|
+
* Setup complete Git configuration (hooks + config)
|
|
56
|
+
*/
|
|
57
|
+
setupGit(): Promise<boolean>;
|
|
58
|
+
/**
|
|
59
|
+
* Initialize Git repository with basis configuration
|
|
60
|
+
*/
|
|
61
|
+
initGitRepo(): Promise<boolean>;
|
|
62
|
+
/**
|
|
63
|
+
* Remove Git hooks
|
|
64
|
+
*/
|
|
65
|
+
removeGitHooks(updateConfig?: boolean): Promise<boolean>;
|
|
66
|
+
/**
|
|
67
|
+
* Reset Git configuration
|
|
68
|
+
*/
|
|
69
|
+
resetGitConfig(keepUser?: boolean, updateConfig?: boolean): Promise<boolean>;
|
|
70
|
+
/**
|
|
71
|
+
* Update package version
|
|
72
|
+
*/
|
|
73
|
+
updateVersion(options?: VersionOptions): Promise<VersionUpdateResult>;
|
|
74
|
+
/**
|
|
75
|
+
* Update to specific version
|
|
76
|
+
*/
|
|
77
|
+
setVersion(version: string): Promise<VersionUpdateResult>;
|
|
78
|
+
/**
|
|
79
|
+
* Increment patch version
|
|
80
|
+
*/
|
|
81
|
+
patchVersion(): Promise<VersionUpdateResult>;
|
|
82
|
+
/**
|
|
83
|
+
* Increment minor version
|
|
84
|
+
*/
|
|
85
|
+
minorVersion(): Promise<VersionUpdateResult>;
|
|
86
|
+
/**
|
|
87
|
+
* Increment major version
|
|
88
|
+
*/
|
|
89
|
+
majorVersion(): Promise<VersionUpdateResult>;
|
|
90
|
+
/**
|
|
91
|
+
* Create prerelease version
|
|
92
|
+
*/
|
|
93
|
+
prereleaseVersion(preid?: string): Promise<VersionUpdateResult>;
|
|
94
|
+
/**
|
|
95
|
+
* Publish package to registry
|
|
96
|
+
*/
|
|
97
|
+
publish(options?: PublishOptions): Promise<PublishResult>;
|
|
98
|
+
/**
|
|
99
|
+
* Publish with dry run
|
|
100
|
+
*/
|
|
101
|
+
publishDryRun(options?: PublishOptions): Promise<PublishResult>;
|
|
102
|
+
/**
|
|
103
|
+
* Publish to specific tag
|
|
104
|
+
*/
|
|
105
|
+
publishToTag(tag: string, options?: PublishOptions): Promise<PublishResult>;
|
|
106
|
+
/**
|
|
107
|
+
* Publish as stable release (latest tag)
|
|
108
|
+
*/
|
|
109
|
+
publishStable(options?: PublishOptions): Promise<PublishResult>;
|
|
110
|
+
/**
|
|
111
|
+
* Get current working directory
|
|
112
|
+
*/
|
|
113
|
+
getCwd(): string;
|
|
114
|
+
/**
|
|
115
|
+
* Set working directory
|
|
116
|
+
*/
|
|
117
|
+
setCwd(cwd: string): void;
|
|
118
|
+
/**
|
|
119
|
+
* Reload configuration from file
|
|
28
120
|
*/
|
|
29
|
-
|
|
121
|
+
reloadConfig(): Promise<BasisConfig>;
|
|
30
122
|
/**
|
|
31
|
-
*
|
|
123
|
+
* Run complete project setup (init + git setup)
|
|
32
124
|
*/
|
|
33
|
-
|
|
125
|
+
setup(options?: InitOptions): Promise<boolean>;
|
|
34
126
|
/**
|
|
35
|
-
*
|
|
127
|
+
* Run complete release workflow (lint + version + publish)
|
|
36
128
|
*/
|
|
37
|
-
|
|
129
|
+
release(versionOptions?: VersionOptions, publishOptions?: PublishOptions): Promise<{
|
|
130
|
+
version: VersionUpdateResult;
|
|
131
|
+
publish: PublishResult;
|
|
132
|
+
}>;
|
|
38
133
|
}
|
|
39
134
|
/**
|
|
40
135
|
* Create a new Basis instance
|
|
41
136
|
*/
|
|
42
137
|
declare function createBasis(cwd?: string): Basis;
|
|
43
138
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
139
|
+
/**
|
|
140
|
+
* Parse commit message into structured format
|
|
141
|
+
*/
|
|
142
|
+
declare function parseCommitMessage(message: string): CommitMessage | null;
|
|
143
|
+
/**
|
|
144
|
+
* Validate commit message against rules
|
|
145
|
+
*/
|
|
146
|
+
declare function validateCommitMessage(message: string, config?: GitConfig["commitMsg"]): {
|
|
147
|
+
valid: boolean;
|
|
148
|
+
errors: string[];
|
|
149
|
+
};
|
|
150
|
+
/**
|
|
151
|
+
* Lint commit message from Git
|
|
152
|
+
*/
|
|
153
|
+
declare function lintCommitMessage(cwd?: string, config?: GitConfig["commitMsg"]): Promise<boolean>;
|
|
154
|
+
/**
|
|
155
|
+
* Read Git configuration from .git/config using ini parser
|
|
156
|
+
*/
|
|
157
|
+
declare function readGitConfig(cwd?: string): Promise<GitConfigData>;
|
|
158
|
+
/**
|
|
159
|
+
* Write Git configuration to .git/config using ini format
|
|
160
|
+
*/
|
|
161
|
+
declare function writeGitConfig(config: GitConfigData, cwd?: string): Promise<void>;
|
|
162
|
+
/**
|
|
163
|
+
* Setup Git configuration with backup and safe merging
|
|
164
|
+
*/
|
|
165
|
+
declare function setupGitConfig(cwd?: string, config?: GitConfig["config"]): Promise<boolean>;
|
|
166
|
+
/**
|
|
167
|
+
* Reset Git configuration with backup
|
|
168
|
+
*/
|
|
169
|
+
declare function resetGitConfig(cwd?: string, keepUser?: boolean, options?: {
|
|
170
|
+
updateConfig?: boolean;
|
|
171
|
+
}): Promise<boolean>;
|
|
172
|
+
/**
|
|
173
|
+
* Setup Git hooks
|
|
174
|
+
*/
|
|
175
|
+
declare function setupGitHooks(cwd?: string, config?: GitConfig["hooks"]): Promise<boolean>;
|
|
176
|
+
/**
|
|
177
|
+
* Initialize Git repository with basis configuration
|
|
178
|
+
*/
|
|
179
|
+
declare function initGitRepo(cwd?: string): Promise<boolean>;
|
|
180
|
+
/**
|
|
181
|
+
* Run comprehensive Git setup
|
|
182
|
+
*/
|
|
183
|
+
declare function setupGit(cwd?: string): Promise<boolean>;
|
|
184
|
+
/**
|
|
185
|
+
* Remove Git hooks
|
|
186
|
+
*/
|
|
187
|
+
declare function removeGitHooks(cwd?: string, hooksToRemove?: string[], options?: {
|
|
188
|
+
updateConfig?: boolean;
|
|
189
|
+
}): Promise<boolean>;
|
|
47
190
|
|
|
48
191
|
/**
|
|
49
192
|
* Initialize basis configuration in the current project
|
|
50
193
|
*/
|
|
51
194
|
declare function init(cwd?: string, options?: InitOptions): Promise<boolean>;
|
|
52
|
-
|
|
53
195
|
/**
|
|
54
|
-
*
|
|
196
|
+
* Preview generated configuration
|
|
55
197
|
*/
|
|
56
|
-
declare function
|
|
198
|
+
declare function previewBasisConfig(options?: {
|
|
199
|
+
enableStagedLinting?: boolean;
|
|
200
|
+
enableCommitMsgLinting?: boolean;
|
|
201
|
+
customLintPatterns?: string[];
|
|
202
|
+
customExcludePatterns?: string[];
|
|
203
|
+
}): string;
|
|
57
204
|
/**
|
|
58
|
-
*
|
|
205
|
+
* Create minimal configuration for quick setup
|
|
59
206
|
*/
|
|
60
|
-
declare function
|
|
61
|
-
|
|
62
|
-
errors: string[];
|
|
63
|
-
};
|
|
207
|
+
declare function createMinimalConfig(): string;
|
|
208
|
+
|
|
64
209
|
/**
|
|
65
|
-
* Get staged files
|
|
210
|
+
* Get staged files (only existing files, not deleted ones)
|
|
66
211
|
*/
|
|
67
212
|
declare function getStagedFiles(): string[];
|
|
213
|
+
/**
|
|
214
|
+
* Get all project files based on patterns
|
|
215
|
+
*/
|
|
216
|
+
declare function getProjectFiles(cwd: string, patterns?: string[], exclude?: string[]): Promise<string[]>;
|
|
68
217
|
/**
|
|
69
218
|
* Lint staged files
|
|
70
219
|
*/
|
|
71
220
|
declare function lintStaged(cwd?: string, config?: LintConfig["staged"]): Promise<boolean>;
|
|
72
221
|
/**
|
|
73
|
-
* Lint
|
|
222
|
+
* Lint entire project using commands (similar to staged but for all project files)
|
|
223
|
+
*/
|
|
224
|
+
declare function lintProject(cwd?: string, config?: LintConfig["project"]): Promise<boolean>;
|
|
225
|
+
/**
|
|
226
|
+
* Check dependencies
|
|
74
227
|
*/
|
|
75
|
-
declare function
|
|
228
|
+
declare function lintDependencies(cwd?: string, config?: LintConfig["dependencies"]): Promise<boolean>;
|
|
229
|
+
/**
|
|
230
|
+
* Check project structure
|
|
231
|
+
*/
|
|
232
|
+
declare function lintStructure(cwd?: string, config?: LintConfig["structure"]): Promise<boolean>;
|
|
233
|
+
/**
|
|
234
|
+
* Check documentation
|
|
235
|
+
*/
|
|
236
|
+
declare function lintDocs(cwd?: string, config?: LintConfig["docs"]): Promise<boolean>;
|
|
237
|
+
/**
|
|
238
|
+
* Run all lint checks
|
|
239
|
+
*/
|
|
240
|
+
declare function lintAll(cwd?: string): Promise<boolean>;
|
|
76
241
|
|
|
77
242
|
/**
|
|
78
243
|
* Publish package to npm registry
|
|
@@ -85,5 +250,9 @@ declare function publishPackage(cwd: string, options?: PublishOptions): Promise<
|
|
|
85
250
|
declare function updatePackageVersion(cwd: string, options?: VersionOptions): Promise<VersionUpdateResult>;
|
|
86
251
|
|
|
87
252
|
declare function loadConfig(options?: LoadConfigOptions<BasisConfig>): Promise<c12.ResolvedConfig<BasisConfig, c12.ConfigLayerMeta>>;
|
|
253
|
+
/**
|
|
254
|
+
* Check if file or directory exists
|
|
255
|
+
*/
|
|
256
|
+
declare function fileExists(path: string): Promise<boolean>;
|
|
88
257
|
|
|
89
|
-
export { Basis, BasisConfig, CommitMessage,
|
|
258
|
+
export { Basis, BasisConfig, CommitMessage, GitConfig, GitConfigData, InitOptions, LintConfig, PublishOptions, PublishResult, VersionOptions, VersionUpdateResult, createBasis, createMinimalConfig, fileExists, getProjectFiles, getStagedFiles, init, initGitRepo, lintAll, lintCommitMessage, lintDependencies, lintDocs, lintProject, lintStaged, lintStructure, loadConfig, parseCommitMessage, previewBasisConfig, publishPackage, readGitConfig, removeGitHooks, resetGitConfig, setupGit, setupGitConfig, setupGitHooks, updatePackageVersion, validateCommitMessage, writeGitConfig };
|