@funish/basis 0.0.2 → 0.0.4
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 +85 -50
- package/dist/chunks/config.cjs +1 -1
- package/dist/chunks/config.mjs +1 -1
- package/dist/chunks/git.cjs +1 -1
- package/dist/chunks/git.mjs +1 -1
- 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/index.cjs +1 -1
- package/dist/index.d.cts +26 -118
- package/dist/index.d.mts +26 -118
- package/dist/index.d.ts +26 -118
- package/dist/index.mjs +1 -1
- package/dist/shared/basis.Bar6V_OJ.cjs +10 -0
- package/dist/shared/basis.BzZ6Bs64.mjs +1 -0
- package/dist/shared/basis.C-dGsxlD.cjs +1 -0
- package/dist/shared/basis.CCjpKO-B.mjs +8 -0
- package/dist/shared/basis.CKFXZgQI.mjs +1 -0
- package/dist/shared/basis.DADpzLwA.cjs +3 -0
- package/dist/shared/basis.DEw91E2d.mjs +1 -0
- package/dist/shared/basis.DFb1F94b.mjs +3 -0
- package/dist/shared/basis.DVSF1f2D.cjs +8 -0
- package/dist/shared/basis.DfY4XEAb.cjs +1 -0
- package/dist/shared/basis.Dgo48zAG.cjs +1 -0
- package/dist/shared/basis.DzKnyliK.mjs +10 -0
- package/package.json +3 -1
- package/dist/shared/basis.BglwV-us.mjs +0 -1
- package/dist/shared/basis.Bhi6kSAJ.cjs +0 -1
- package/dist/shared/basis.BjS41bTE.cjs +0 -1
- package/dist/shared/basis.C7U9rUSl.mjs +0 -1
- package/dist/shared/basis.CASkqgVR.mjs +0 -1
- package/dist/shared/basis.D2srGCU3.cjs +0 -1
- package/dist/shared/basis.D3bv4yUV.mjs +0 -3
- package/dist/shared/basis.DHqql56x.mjs +0 -10
- package/dist/shared/basis.DXBdQ4nF.mjs +0 -1
- package/dist/shared/basis.DcyVtmjR.cjs +0 -1
- package/dist/shared/basis.FJWRn1Ix.cjs +0 -3
- package/dist/shared/basis.QoGvLLsN.cjs +0 -10
package/README.md
CHANGED
|
@@ -4,7 +4,9 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/@funish/basis)
|
|
5
5
|
[](https://www.npmjs.com/package/@funish/basis)
|
|
6
6
|
|
|
7
|
-
> A unified development toolkit with CLI for package management, versioning, publishing, linting, and git hooks management for JavaScript/TypeScript projects
|
|
7
|
+
> A unified development toolkit with CLI for package management, versioning, publishing, linting, and git hooks management for JavaScript/TypeScript projects.
|
|
8
|
+
|
|
9
|
+
**🧑💻 Contributing?** See the [monorepo documentation](https://github.com/funish/basis) for development setup and contribution guidelines.
|
|
8
10
|
|
|
9
11
|
## What is Basis?
|
|
10
12
|
|
|
@@ -57,9 +59,13 @@ pnpx @funish/basis init
|
|
|
57
59
|
cd your-existing-project
|
|
58
60
|
basis init
|
|
59
61
|
|
|
62
|
+
# Interactive setup will ask you to:
|
|
63
|
+
# 📁 Choose config format (.ts/.mjs/.cjs) - auto-detected based on your project
|
|
64
|
+
# 🔧 Optionally setup Git hooks and configuration
|
|
65
|
+
|
|
60
66
|
# Your project now has:
|
|
61
|
-
# ✅ basis.config.ts configuration file
|
|
62
|
-
# ✅ Git hooks setup (
|
|
67
|
+
# ✅ basis.config.[ts|mjs|cjs] configuration file (empty, ready to customize)
|
|
68
|
+
# ✅ Git hooks setup (if selected during init)
|
|
63
69
|
# ✅ Tool-agnostic linting workflow
|
|
64
70
|
# ✅ Package management through unified CLI
|
|
65
71
|
# ✅ Version management with semantic versioning
|
|
@@ -184,11 +190,16 @@ basis git lint-commit
|
|
|
184
190
|
|
|
185
191
|
```bash
|
|
186
192
|
# Initialize configuration
|
|
187
|
-
basis init # Initialize basis configuration
|
|
193
|
+
basis init # Initialize basis configuration (interactive)
|
|
188
194
|
basis init --force # Overwrite existing configuration
|
|
189
195
|
basis init --skip-git-check # Skip git directory check
|
|
190
196
|
basis init --skip-install # Skip dependency installation
|
|
191
197
|
|
|
198
|
+
# Interactive setup will:
|
|
199
|
+
# 1. Auto-detect recommended config format (.ts/.mjs/.cjs)
|
|
200
|
+
# 2. Ask you to choose your preferred format
|
|
201
|
+
# 3. Offer to setup Git hooks and configuration
|
|
202
|
+
|
|
192
203
|
# Configuration
|
|
193
204
|
basis config # Show current configuration
|
|
194
205
|
basis config --json # Output configuration as JSON
|
|
@@ -201,7 +212,41 @@ basis <command> --help # Show command-specific help
|
|
|
201
212
|
|
|
202
213
|
## Configuration
|
|
203
214
|
|
|
204
|
-
Basis uses a single configuration file for all its features:
|
|
215
|
+
Basis uses a single configuration file for all its features. The `basis init` command creates an empty configuration file in your preferred format:
|
|
216
|
+
|
|
217
|
+
```ts
|
|
218
|
+
// basis.config.ts (TypeScript)
|
|
219
|
+
import { defineBasisConfig } from "@funish/basis";
|
|
220
|
+
|
|
221
|
+
export default defineBasisConfig({
|
|
222
|
+
// Configure your project here
|
|
223
|
+
// See: https://github.com/funish/basis/tree/main/packages/basis#configuration
|
|
224
|
+
});
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
```mjs
|
|
228
|
+
// basis.config.mjs (ES Module)
|
|
229
|
+
import { defineBasisConfig } from "@funish/basis";
|
|
230
|
+
|
|
231
|
+
export default defineBasisConfig({
|
|
232
|
+
// Configure your project here
|
|
233
|
+
// See: https://github.com/funish/basis/tree/main/packages/basis#configuration
|
|
234
|
+
});
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
```cjs
|
|
238
|
+
// basis.config.cjs (CommonJS)
|
|
239
|
+
const { defineBasisConfig } = require("@funish/basis");
|
|
240
|
+
|
|
241
|
+
module.exports = defineBasisConfig({
|
|
242
|
+
// Configure your project here
|
|
243
|
+
// See: https://github.com/funish/basis/tree/main/packages/basis#configuration
|
|
244
|
+
});
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### Full Configuration Example
|
|
248
|
+
|
|
249
|
+
Here's a complete configuration with all available options:
|
|
205
250
|
|
|
206
251
|
```ts
|
|
207
252
|
// basis.config.ts
|
|
@@ -212,14 +257,14 @@ export default defineBasisConfig({
|
|
|
212
257
|
lint: {
|
|
213
258
|
// Staged files linting patterns
|
|
214
259
|
staged: {
|
|
215
|
-
"*.{ts,tsx,js,jsx}": "eslint --fix",
|
|
216
|
-
"*.{json,md,yml,yaml}": "prettier --write",
|
|
217
|
-
"*.vue": "vue-tsc --noEmit && eslint --fix",
|
|
260
|
+
"*.{ts,tsx,js,jsx}": "pnpm eslint --fix",
|
|
261
|
+
"*.{json,md,yml,yaml}": "pnpm prettier --write",
|
|
262
|
+
"*.vue": "pnpm vue-tsc --noEmit && pnpm eslint --fix",
|
|
218
263
|
},
|
|
219
264
|
// Project-wide linting commands
|
|
220
265
|
project: {
|
|
221
|
-
typecheck: "tsc --noEmit",
|
|
222
|
-
"format-check": "prettier --check .",
|
|
266
|
+
typecheck: "pnpm tsc --noEmit",
|
|
267
|
+
"format-check": "pnpm prettier --check .",
|
|
223
268
|
},
|
|
224
269
|
},
|
|
225
270
|
|
|
@@ -227,8 +272,8 @@ export default defineBasisConfig({
|
|
|
227
272
|
git: {
|
|
228
273
|
// Hook commands
|
|
229
274
|
hooks: {
|
|
230
|
-
"pre-commit": "basis lint --staged",
|
|
231
|
-
"commit-msg": "basis git lint-commit",
|
|
275
|
+
"pre-commit": "pnpm basis lint --staged",
|
|
276
|
+
"commit-msg": "pnpm basis git lint-commit",
|
|
232
277
|
},
|
|
233
278
|
|
|
234
279
|
// Commit message validation
|
|
@@ -389,46 +434,36 @@ basis git hooks # Unified git hooks
|
|
|
389
434
|
## API
|
|
390
435
|
|
|
391
436
|
```ts
|
|
392
|
-
import {
|
|
393
|
-
|
|
394
|
-
|
|
437
|
+
import {
|
|
438
|
+
createBasis,
|
|
439
|
+
defineBasisConfig,
|
|
440
|
+
// Import module functions directly for maximum flexibility
|
|
441
|
+
init,
|
|
442
|
+
setupGit,
|
|
443
|
+
lintAll,
|
|
444
|
+
updatePackageVersion,
|
|
445
|
+
publishPackage,
|
|
446
|
+
} from "@funish/basis";
|
|
447
|
+
|
|
448
|
+
// Programmatic usage with Basis class (for config caching and workflows)
|
|
395
449
|
const basis = createBasis(process.cwd());
|
|
396
450
|
|
|
397
|
-
//
|
|
398
|
-
await basis.
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
await basis.
|
|
403
|
-
await basis.
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
//
|
|
407
|
-
|
|
408
|
-
await
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
await
|
|
412
|
-
await
|
|
413
|
-
|
|
414
|
-
// Linting
|
|
415
|
-
await basis.lintStaged();
|
|
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
|
|
451
|
+
// High-level workflows
|
|
452
|
+
await basis.setup({ force: false, skipGitCheck: false, skipInstall: false }); // init + git setup
|
|
453
|
+
await basis.release({ patch: true }, { stable: true }); // lint + version + publish
|
|
454
|
+
|
|
455
|
+
// Configuration management
|
|
456
|
+
const config = await basis.getConfig(); // Cached config loading
|
|
457
|
+
await basis.reloadConfig(); // Force reload
|
|
458
|
+
basis.setCwd("/different/path"); // Change working directory
|
|
459
|
+
|
|
460
|
+
// Or use module functions directly for more control
|
|
461
|
+
const cwd = process.cwd();
|
|
462
|
+
await init(cwd, { force: true });
|
|
463
|
+
await setupGit(cwd);
|
|
464
|
+
await lintAll(cwd);
|
|
465
|
+
await updatePackageVersion(cwd, { patch: true });
|
|
466
|
+
await publishPackage(cwd, { stable: true });
|
|
432
467
|
```
|
|
433
468
|
|
|
434
469
|
## 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.DfY4XEAb.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}`)}}}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 r}from"citty";import{consola as o}from"consola";import{l as a}from"../shared/basis.
|
|
1
|
+
import{defineCommand as r}from"citty";import{consola as o}from"consola";import{l as a}from"../shared/basis.DEw91E2d.mjs";import"node:fs/promises";import"c12";import"../config.mjs";const f=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}`)}}}catch(g){o.error("Failed to load configuration:",g),process.exit(1)}}});export{f as default};
|
package/dist/chunks/git.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const citty=require("citty"),consola=require("consola"),git$1=require("../shared/basis.
|
|
1
|
+
"use strict";const citty=require("citty"),consola=require("consola"),git$1=require("../shared/basis.Bar6V_OJ.cjs");require("node:child_process"),require("node:fs/promises"),require("c12/update"),require("defu"),require("ini"),require("pathe"),require("../shared/basis.DfY4XEAb.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 e=process.cwd();await git$1.setupGit(e)||process.exit(1)}}),config:citty.defineCommand({meta:{name:"config",description:"Setup Git configuration only"},async run(){const e=process.cwd();await git$1.setupGitConfig(e)||(consola.consola.error("Git configuration failed"),process.exit(1))}}),hooks:citty.defineCommand({meta:{name:"hooks",description:"Setup Git hooks only"},async run(){const e=process.cwd();await git$1.setupGitHooks(e)||(consola.consola.error("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:e}){const o=process.cwd(),i=e.hooks&&typeof e.hooks=="string"?[e.hooks]:Array.isArray(e.hooks)?e.hooks.filter(t=>typeof t=="string"):void 0,s=typeof e["update-config"]=="boolean"?e["update-config"]:!1;await git$1.removeGitHooks(o,i,{updateConfig:s})||(consola.consola.error("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:e}){const o=process.cwd(),i=typeof e["keep-user"]=="boolean"?e["keep-user"]:!0,s=typeof e["update-config"]=="boolean"?e["update-config"]:!1;await git$1.resetGitConfig(o,i,{updateConfig:s})||(consola.consola.error("Git configuration reset failed"),process.exit(1))}}),init:citty.defineCommand({meta:{name:"init",description:"Initialize Git repository with basis configuration"},async run(){const e=process.cwd();await git$1.initGitRepo(e)||(consola.consola.error("Git initialization failed"),process.exit(1))}}),"lint-commit":citty.defineCommand({meta:{name:"lint-commit",description:"Validate commit message"},async run(){const e=process.cwd();await git$1.lintCommitMessage(e)||(consola.consola.error("Commit message validation failed"),process.exit(1))}})},async run(){const e=process.cwd();await git$1.setupGit(e)||process.exit(1)}});exports.git=git;
|
package/dist/chunks/git.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineCommand as
|
|
1
|
+
import{defineCommand as e}from"citty";import{consola as i}from"consola";import{s as r,l as c,i as p,b as m,d as f,c as d,a as u}from"../shared/basis.DzKnyliK.mjs";import"node:child_process";import"node:fs/promises";import"c12/update";import"defu";import"ini";import"pathe";import"../shared/basis.DEw91E2d.mjs";import"c12";import"../config.mjs";const l=e({meta:{name:"git",description:"Git configuration and hooks management"},subCommands:{setup:e({meta:{name:"setup",description:"Setup Git configuration and hooks"},async run(){const o=process.cwd();await r(o)||process.exit(1)}}),config:e({meta:{name:"config",description:"Setup Git configuration only"},async run(){const o=process.cwd();await u(o)||(i.error("Git configuration failed"),process.exit(1))}}),hooks:e({meta:{name:"hooks",description:"Setup Git hooks only"},async run(){const o=process.cwd();await d(o)||(i.error("Git hooks setup failed"),process.exit(1))}}),remove:e({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 t=process.cwd(),s=o.hooks&&typeof o.hooks=="string"?[o.hooks]:Array.isArray(o.hooks)?o.hooks.filter(n=>typeof n=="string"):void 0,a=typeof o["update-config"]=="boolean"?o["update-config"]:!1;await f(t,s,{updateConfig:a})||(i.error("Git hooks removal failed"),process.exit(1))}}),reset:e({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 t=process.cwd(),s=typeof o["keep-user"]=="boolean"?o["keep-user"]:!0,a=typeof o["update-config"]=="boolean"?o["update-config"]:!1;await m(t,s,{updateConfig:a})||(i.error("Git configuration reset failed"),process.exit(1))}}),init:e({meta:{name:"init",description:"Initialize Git repository with basis configuration"},async run(){const o=process.cwd();await p(o)||(i.error("Git initialization failed"),process.exit(1))}}),"lint-commit":e({meta:{name:"lint-commit",description:"Validate commit message"},async run(){const o=process.cwd();await c(o)||(i.error("Commit message validation failed"),process.exit(1))}})},async run(){const o=process.cwd();await r(o)||process.exit(1)}});export{l 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.DVSF1f2D.cjs");require("c12/update"),require("magicast"),require("nypm"),require("pathe"),require("pkg-types"),require("../shared/basis.DfY4XEAb.cjs"),require("node:fs/promises"),require("c12"),require("../config.cjs"),require("../shared/basis.Bar6V_OJ.cjs"),require("node:child_process"),require("defu"),require("ini");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 dependency installation"}},async run({args:e}){try{await init$1.init(process.cwd(),{force:e.force,skipGitCheck:e["skip-git-check"],skipInstall:e["skip-install"]})}catch(i){consola.consola.error("Init failed:",i),process.exit(1)}}});exports.default=init;
|
package/dist/chunks/init.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineCommand as o}from"citty";import{consola as r}from"consola";import{i as e}from"../shared/basis.
|
|
1
|
+
import{defineCommand as o}from"citty";import{consola as r}from"consola";import{i as e}from"../shared/basis.CCjpKO-B.mjs";import"c12/update";import"magicast";import"nypm";import"pathe";import"pkg-types";import"../shared/basis.DEw91E2d.mjs";import"node:fs/promises";import"c12";import"../config.mjs";import"../shared/basis.DzKnyliK.mjs";import"node:child_process";import"defu";import"ini";const p=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 dependency installation"}},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{p 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.DADpzLwA.cjs");require("node:child_process"),require("fast-glob"),require("micromatch"),require("nypm"),require("pathe"),require("pkg-types"),require("../shared/basis.DfY4XEAb.cjs"),require("node:fs/promises"),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 t=process.cwd();let i=!0;if(!e.staged&&!e.project&&!e.deps&&!e.structure&&!e.docs&&!e.all&&(e.staged=!0),e.all)i=await lint$1.lintAll(t);else{const s=[];e.staged&&s.push(()=>lint$1.lintStaged(t)),e.project&&s.push(()=>lint$1.lintProject(t)),e.deps&&s.push(()=>lint$1.lintDependencies(t)),e.structure&&s.push(()=>lint$1.lintStructure(t)),e.docs&&s.push(()=>lint$1.lintDocs(t));for(const r of s)await r()||(i=!1)}i||(consola.consola.error("Some lint checks failed"),process.exit(1))}});exports.lint=lint;
|
package/dist/chunks/lint.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineCommand as n}from"citty";import{consola as
|
|
1
|
+
import{defineCommand as n}from"citty";import{consola as r}from"consola";import{l as a,b as c,c as l,d as p,e as d,f as u}from"../shared/basis.DFb1F94b.mjs";import"node:child_process";import"fast-glob";import"micromatch";import"nypm";import"pathe";import"pkg-types";import"../shared/basis.DEw91E2d.mjs";import"node:fs/promises";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:t}){const e=process.cwd();let s=!0;if(!t.staged&&!t.project&&!t.deps&&!t.structure&&!t.docs&&!t.all&&(t.staged=!0),t.all)s=await a(e);else{const o=[];t.staged&&o.push(()=>c(e)),t.project&&o.push(()=>l(e)),t.deps&&o.push(()=>p(e)),t.structure&&o.push(()=>d(e)),t.docs&&o.push(()=>u(e));for(const i of o)await i()||(s=!1)}s||(r.error("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.Dgo48zAG.cjs");require("node:child_process"),require("nypm"),require("pkg-types"),require("semver"),require("../shared/basis.DfY4XEAb.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.CKFXZgQI.mjs";import"node:child_process";import"nypm";import"pkg-types";import"semver";import"../shared/basis.DEw91E2d.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"),
|
|
1
|
+
"use strict";const citty=require("citty"),consola=require("consola"),n=require("semver"),version$1=require("../shared/basis.C-dGsxlD.cjs");require("node:child_process"),require("pkg-types"),require("../shared/basis.DfY4XEAb.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 n__default=_interopDefaultCompat(n),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:n__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 r}from"consola";import n from"semver";import{u as p}from"../shared/basis.
|
|
1
|
+
import{defineCommand as a}from"citty";import{consola as r}from"consola";import n from"semver";import{u as p}from"../shared/basis.BzZ6Bs64.mjs";import"node:child_process";import"pkg-types";import"../shared/basis.DEw91E2d.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.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);
|
|
2
|
+
"use strict";const citty=require("citty"),consola=require("consola"),pkgTypes=require("pkg-types");var _documentCurrentScript=typeof document<"u"?document.currentScript:null;async function m(){const e=await pkgTypes.readPackageJSON(typeof document>"u"?require("url").pathToFileURL(__filename).href:_documentCurrentScript&&_documentCurrentScript.tagName.toUpperCase()==="SCRIPT"&&_documentCurrentScript.src||new URL("cli.cjs",document.baseURI).href),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 n,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(import.meta.url),e=n({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(e)}m().catch(r.error);
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const config=require("./config.cjs"),git=require("./shared/basis.
|
|
1
|
+
"use strict";const config=require("./config.cjs"),git=require("./shared/basis.Bar6V_OJ.cjs"),init=require("./shared/basis.DVSF1f2D.cjs"),lint=require("./shared/basis.DADpzLwA.cjs"),publish=require("./shared/basis.Dgo48zAG.cjs"),version=require("./shared/basis.C-dGsxlD.cjs"),utils=require("./shared/basis.DfY4XEAb.cjs");require("node:child_process"),require("node:fs/promises"),require("c12/update"),require("consola"),require("defu"),require("ini"),require("pathe"),require("magicast"),require("nypm"),require("pkg-types"),require("fast-glob"),require("micromatch"),require("semver"),require("c12");class Basis{config=null;cwd;constructor(e=process.cwd()){this.cwd=e}getCwd(){return this.cwd}setCwd(e){this.cwd=e,this.config=null}async getConfig(){if(!this.config){const{config:e}=await utils.loadConfig({cwd:this.cwd});this.config=e}return this.config}async reloadConfig(){return this.config=null,await this.getConfig()}async setup(e={}){return await init.init(this.cwd,e)?await git.setupGit(this.cwd):!1}async release(e={},s={}){if(!await lint.lintAll(this.cwd))throw new Error("Lint checks failed. Fix issues before releasing.");const i=await version.updatePackageVersion(this.cwd,e),r=await publish.publishPackage(this.cwd,s);return{version:i,publish:r}}}function createBasis(t=process.cwd()){return new Basis(t)}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.init=init.init,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.getPackageManagerCommands=utils.getPackageManagerCommands,exports.loadConfig=utils.loadConfig,exports.Basis=Basis,exports.VALID_GIT_HOOKS=VALID_GIT_HOOKS,exports.createBasis=createBasis;
|
package/dist/index.d.cts
CHANGED
|
@@ -1,120 +1,28 @@
|
|
|
1
|
-
import { B as BasisConfig, I as InitOptions, V as VersionOptions,
|
|
1
|
+
import { B as BasisConfig, I as InitOptions, V as VersionOptions, P as PublishOptions, a as VersionUpdateResult, b as PublishResult, C as CommitMessage, G as GitConfig, c as GitConfigData, L as LintConfig } from './shared/basis.BvLeB_5F.cjs';
|
|
2
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
|
|
|
6
|
+
/**
|
|
7
|
+
* Basis core utilities for programmatic usage
|
|
8
|
+
* Only includes methods that provide actual value beyond simple function calls
|
|
9
|
+
*/
|
|
6
10
|
declare class Basis {
|
|
7
11
|
private config;
|
|
8
12
|
private cwd;
|
|
9
13
|
constructor(cwd?: string);
|
|
10
|
-
/**
|
|
11
|
-
* Load configuration from file or cache
|
|
12
|
-
*/
|
|
13
|
-
getConfig(): Promise<BasisConfig>;
|
|
14
|
-
/**
|
|
15
|
-
* Initialize basis configuration in a project
|
|
16
|
-
*/
|
|
17
|
-
init(options?: InitOptions): Promise<boolean>;
|
|
18
|
-
/**
|
|
19
|
-
* Run linting for staged files
|
|
20
|
-
*/
|
|
21
|
-
lintStaged(): Promise<boolean>;
|
|
22
|
-
/**
|
|
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
|
|
44
|
-
*/
|
|
45
|
-
lintCommitMessage(): Promise<boolean>;
|
|
46
|
-
/**
|
|
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
14
|
/**
|
|
111
15
|
* Get current working directory
|
|
112
16
|
*/
|
|
113
17
|
getCwd(): string;
|
|
114
18
|
/**
|
|
115
|
-
* Set working directory
|
|
19
|
+
* Set working directory and reset cached config
|
|
116
20
|
*/
|
|
117
21
|
setCwd(cwd: string): void;
|
|
22
|
+
/**
|
|
23
|
+
* Load configuration from file or cache
|
|
24
|
+
*/
|
|
25
|
+
getConfig(): Promise<BasisConfig>;
|
|
118
26
|
/**
|
|
119
27
|
* Reload configuration from file
|
|
120
28
|
*/
|
|
@@ -174,7 +82,7 @@ declare function resetGitConfig(cwd?: string, keepUser?: boolean, options?: {
|
|
|
174
82
|
*/
|
|
175
83
|
declare function setupGitHooks(cwd?: string, config?: GitConfig["hooks"]): Promise<boolean>;
|
|
176
84
|
/**
|
|
177
|
-
* Initialize Git repository
|
|
85
|
+
* Initialize Git repository
|
|
178
86
|
*/
|
|
179
87
|
declare function initGitRepo(cwd?: string): Promise<boolean>;
|
|
180
88
|
/**
|
|
@@ -192,26 +100,13 @@ declare function removeGitHooks(cwd?: string, hooksToRemove?: string[], options?
|
|
|
192
100
|
* Initialize basis configuration in the current project
|
|
193
101
|
*/
|
|
194
102
|
declare function init(cwd?: string, options?: InitOptions): Promise<boolean>;
|
|
195
|
-
/**
|
|
196
|
-
* Preview generated configuration
|
|
197
|
-
*/
|
|
198
|
-
declare function previewBasisConfig(options?: {
|
|
199
|
-
enableStagedLinting?: boolean;
|
|
200
|
-
enableCommitMsgLinting?: boolean;
|
|
201
|
-
customLintPatterns?: string[];
|
|
202
|
-
customExcludePatterns?: string[];
|
|
203
|
-
}): string;
|
|
204
|
-
/**
|
|
205
|
-
* Create minimal configuration for quick setup
|
|
206
|
-
*/
|
|
207
|
-
declare function createMinimalConfig(): string;
|
|
208
103
|
|
|
209
104
|
/**
|
|
210
105
|
* Get staged files (only existing files, not deleted ones)
|
|
211
106
|
*/
|
|
212
107
|
declare function getStagedFiles(): string[];
|
|
213
108
|
/**
|
|
214
|
-
* Get all project files based on patterns
|
|
109
|
+
* Get all project files based on patterns using fast-glob
|
|
215
110
|
*/
|
|
216
111
|
declare function getProjectFiles(cwd: string, patterns?: string[], exclude?: string[]): Promise<string[]>;
|
|
217
112
|
/**
|
|
@@ -254,5 +149,18 @@ declare function loadConfig(options?: LoadConfigOptions<BasisConfig>): Promise<c
|
|
|
254
149
|
* Check if file or directory exists
|
|
255
150
|
*/
|
|
256
151
|
declare function fileExists(path: string): Promise<boolean>;
|
|
152
|
+
/**
|
|
153
|
+
* Get package manager specific commands
|
|
154
|
+
*/
|
|
155
|
+
declare function getPackageManagerCommands(packageManager: string): {
|
|
156
|
+
outdated: string;
|
|
157
|
+
audit: string;
|
|
158
|
+
} | {
|
|
159
|
+
outdated: string;
|
|
160
|
+
audit: null;
|
|
161
|
+
} | {
|
|
162
|
+
outdated: null;
|
|
163
|
+
audit: null;
|
|
164
|
+
};
|
|
257
165
|
|
|
258
|
-
export { Basis, BasisConfig, CommitMessage, GitConfig, GitConfigData, InitOptions, LintConfig, PublishOptions, PublishResult, VersionOptions, VersionUpdateResult, createBasis,
|
|
166
|
+
export { Basis, BasisConfig, CommitMessage, GitConfig, GitConfigData, InitOptions, LintConfig, PublishOptions, PublishResult, VersionOptions, VersionUpdateResult, createBasis, fileExists, getPackageManagerCommands, getProjectFiles, getStagedFiles, init, initGitRepo, lintAll, lintCommitMessage, lintDependencies, lintDocs, lintProject, lintStaged, lintStructure, loadConfig, parseCommitMessage, publishPackage, readGitConfig, removeGitHooks, resetGitConfig, setupGit, setupGitConfig, setupGitHooks, updatePackageVersion, validateCommitMessage, writeGitConfig };
|