@funish/basis 0.2.2 → 0.2.3

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/dist/cli.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{r as e}from"./_chunks/config.mjs";import{defineCommand as t,runMain as n}from"citty";import{consola as r}from"consola";import{readPackageJSON as i,resolvePackageJSON as a,writePackageJSON as o}from"pkg-types";import{readFile as s,stat as c,writeFile as l}from"node:fs/promises";import{exec as u}from"dugite";import{loadConfig as d}from"c12";import{addDependency as f,addDevDependency as p,detectPackageManager as m,dlx as h,removeDependency as g,runScript as _}from"nypm";import{resolve as v}from"pathe";import{build as y}from"@funish/build";import{execSync as b}from"node:child_process";import x from"picomatch";import{createJiti as S}from"jiti";import C from"semver";import{glob as w}from"tinyglobby";async function ee(e=process.cwd(),t={}){let{force:n=!1,skipGitCheck:i=!1}=t;r.start(`Initializing basis configuration`);let a=(await d({cwd:e,name:`basis`}))._configFile;if(a&&!n)return r.error(`Configuration file already exists: ${a}`),r.info(`Use --force to overwrite.`),!1;let o=(await m(e))?.name||`npm`,s=o===`npm`?`npx`:o,c={git:{hooks:{"pre-commit":`${s} basis git staged`,"commit-msg":`${s} basis git lint-commit`},staged:{rules:{"*.{ts,tsx,js,jsx}":`basis lint --fix`,"*.{json,md,yml,yaml}":`basis fmt --write`}}}},f=`import { defineBasisConfig } from "@funish/basis/config";
2
+ import{r as e}from"./_chunks/config-CpoWNQCW.mjs";import{defineCommand as t,runMain as n}from"citty";import{consola as r}from"consola";import{readPackageJSON as i,resolvePackageJSON as a,writePackageJSON as o}from"pkg-types";import{readFile as s,stat as c,writeFile as l}from"node:fs/promises";import{exec as u}from"dugite";import{loadConfig as d}from"c12";import{addDependency as f,addDevDependency as p,detectPackageManager as m,dlx as h,removeDependency as g,runScript as _}from"nypm";import{resolve as v}from"pathe";import{build as y}from"@funish/build";import{execSync as b}from"node:child_process";import x from"picomatch";import{createJiti as S}from"jiti";import C from"semver";import{glob as w}from"tinyglobby";async function ee(e=process.cwd(),t={}){let{force:n=!1,skipGitCheck:i=!1}=t;r.start(`Initializing basis configuration`);let a=(await d({cwd:e,name:`basis`}))._configFile;if(a&&!n)return r.error(`Configuration file already exists: ${a}`),r.info(`Use --force to overwrite.`),!1;let o=(await m(e))?.name||`npm`,s=o===`npm`?`npx`:o,c={git:{hooks:{"pre-commit":`${s} basis git staged`,"commit-msg":`${s} basis git lint-commit`},staged:{rules:{"*.{ts,tsx,js,jsx}":`basis lint --fix`,"*.{json,md,yml,yaml}":`basis fmt --write`}}}},f=`import { defineBasisConfig } from "@funish/basis/config";
3
3
 
4
4
  export default defineBasisConfig(${JSON.stringify(c,null,2)});
5
5
  `,p=`${e}/basis.config.ts`;if(await l(p,f,`utf8`),r.success(`Configuration created in ${p}`),!i)try{await u([`--version`],e),r.info(`Git detected`)}catch{r.info(`Git not found`)}return r.success(`Basis initialization completed!`),r.info(`Run 'basis git setup' to setup Git hooks`),!0}const T=t({meta:{name:`init`,description:`Initialize configuration`},args:{force:{type:`boolean`,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 ee(process.cwd(),{force:e.force,skipGitCheck:e[`skip-git-check`],skipInstall:e[`skip-install`]})}catch(e){r.error(`Init failed:`,e),process.exit(1)}}}),E=t({meta:{name:`lint`,description:`Lint code`},async run({rawArgs:t}){let n=process.cwd(),{config:i}=await e({cwd:n}),a=[...i.lint?.config||[],...t];try{await h(`oxlint`,{args:a,cwd:n}),r.success(`Linting completed`)}catch(e){r.error(`Linting failed:`,e),process.exit(1)}}}),D=t({meta:{name:`fmt`,description:`Format code`},async run({rawArgs:t}){let n=process.cwd(),{config:i}=await e({cwd:n}),a=[...i.fmt?.config||[],...t];try{await h(`oxfmt`,{args:a,cwd:n}),r.success(`Formatting completed`)}catch(e){r.error(`Formatting failed:`,e),process.exit(1)}}}),O=t({meta:{name:`check`,description:`Type check code`},async run({rawArgs:e}){try{await h(`vue-tsc`,{args:[`--noEmit`,...e],cwd:process.cwd()}),r.success(`Type checking completed`)}catch(e){r.error(`Type checking failed:`,e),process.exit(1)}}}),k=t({meta:{name:`build`,description:`Build project`},args:{dir:{type:`string`,description:`Project directory`,default:`.`},stub:{type:`boolean`,description:`Generate stub files`,default:!1}},async run({args:e}){let t=v(e.dir||`.`);try{let{config:n={}}=await d({name:`isbuild`,configFile:`build.config`,cwd:t}),i=(n.entries||[]).map(t=>{if(typeof t==`string`){let[n,r]=t.split(`:`);return n.endsWith(`/`)?{type:`transform`,input:n,outDir:r,stub:e.stub}:{type:`bundle`,input:n.split(`,`),outDir:r,stub:e.stub}}return{...t,stub:e.stub}});(!i||i.length===0)&&(r.error(`No build entries specified in build.config.`),process.exit(1)),await y({cwd:t,...n,entries:i}),r.success(`Build completed`)}catch(e){r.error(`Build failed:`,e),process.exit(1)}}});async function A(e){try{let t=(await u([`diff`,`--cached`,`--name-only`],e)).stdout.trim().split(`
package/dist/config.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as FmtConfig, c as LintConfig, d as RunConfig, h as VersionConfig, l as PublishConfig, n as BasisConfig, o as GitConfig, t as AuditConfig } from "./_chunks/types.mjs";
1
+ import { a as FmtConfig, c as LintConfig, d as RunConfig, h as VersionConfig, l as PublishConfig, n as BasisConfig, o as GitConfig, t as AuditConfig } from "./_chunks/types-D9xRZRDc.mjs";
2
2
  import * as c12 from "c12";
3
3
  import { LoadConfigOptions } from "c12";
4
4
  import { defineBuildConfig } from "@funish/build/config";
package/dist/config.mjs CHANGED
@@ -1 +1 @@
1
- import{n as e,r as t,t as n}from"./_chunks/config.mjs";export{n as defineBasisConfig,e as defineBuildConfig,t as loadConfig};
1
+ import{n as e,r as t,t as n}from"./_chunks/config-CpoWNQCW.mjs";export{n as defineBasisConfig,e as defineBuildConfig,t as loadConfig};
package/dist/index.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as FmtConfig, c as LintConfig, d as RunConfig, f as StagedConfig, g as VersionOptions, h as VersionConfig, i as CommitMsgConfig, l as PublishConfig, m as ValidGitHook, n as BasisConfig, o as GitConfig, p as VALID_GIT_HOOKS, r as CommitMessage, s as InitOptions, t as AuditConfig, u as PublishOptions } from "./_chunks/types.mjs";
1
+ import { a as FmtConfig, c as LintConfig, d as RunConfig, f as StagedConfig, g as VersionOptions, h as VersionConfig, i as CommitMsgConfig, l as PublishConfig, m as ValidGitHook, n as BasisConfig, o as GitConfig, p as VALID_GIT_HOOKS, r as CommitMessage, s as InitOptions, t as AuditConfig, u as PublishOptions } from "./_chunks/types-D9xRZRDc.mjs";
2
2
  export { AuditConfig, BasisConfig, CommitMessage, CommitMsgConfig, FmtConfig, GitConfig, InitOptions, LintConfig, PublishConfig, PublishOptions, RunConfig, StagedConfig, VALID_GIT_HOOKS, ValidGitHook, VersionConfig, VersionOptions };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@funish/basis",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "A modern development toolkit with unified CLI for package management, versioning, publishing, code quality, and Git workflow automation.",
5
5
  "keywords": [
6
6
  "basis",
@@ -46,18 +46,18 @@
46
46
  "dist"
47
47
  ],
48
48
  "main": "dist/index.mjs",
49
- "types": "dist/index.d.ts",
49
+ "types": "dist/index.d.mts",
50
50
  "exports": {
51
51
  ".": {
52
- "types": "./dist/index.d.ts",
52
+ "types": "./dist/index.d.mts",
53
53
  "import": "./dist/index.mjs"
54
54
  },
55
55
  "./config": {
56
- "types": "./dist/config.d.ts",
56
+ "types": "./dist/config.d.mts",
57
57
  "import": "./dist/config.mjs"
58
58
  },
59
59
  "./commands/*": {
60
- "types": "./dist/commands/*.d.ts",
60
+ "types": "./dist/commands/*.d.mts",
61
61
  "import": "./dist/commands/*.mjs"
62
62
  }
63
63
  },
@@ -73,7 +73,7 @@
73
73
  "pkg-types": "2.3.0",
74
74
  "semver": "7.7.4",
75
75
  "tinyglobby": "0.2.15",
76
- "@funish/build": "0.0.0"
76
+ "@funish/build": "0.0.1"
77
77
  },
78
78
  "devDependencies": {
79
79
  "@types/picomatch": "4.0.2",