@modyqyw/fabric
Version:
Opinionated shareable specifications for git-based JavaScript/TypeScript projects.
344 lines • 9.63 kB
JSON
{
"name": "@modyqyw/fabric",
"version": "11.8.1",
"description": "Opinionated shareable specifications for git-based JavaScript/TypeScript projects.",
"keywords": [
"fabric",
"specification",
"config",
"front-end",
"frontend",
"prettier",
"biome",
"markdownlint",
"eslint",
"stylelint",
"commitlint",
"husky",
"simple-git-hooks",
"lint-staged",
"javascript",
"typescript",
"js",
"ts",
"react",
"rn",
"react-native",
"taro",
"vue",
"vue2",
"vue3",
"uniapp",
"uni-app",
"css",
"scss",
"git",
"naming"
],
"homepage": "https://github.com/ModyQyW/fabric#readme",
"bugs": {
"url": "https://github.com/ModyQyW/fabric/issues"
},
"repository": {
"type": "git",
"url": "git+https://github.com/ModyQyW/fabric.git"
},
"funding": [
{
"type": "individual",
"url": "https://github.com/ModyQyW/sponsors"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/@modyqyw/fabric"
}
],
"license": "MIT",
"author": {
"name": "ModyQyW",
"email": "wurui.dev@gmail.com",
"url": "https://modyqyw.top"
},
"type": "module",
"exports": {
".": {
"import": {
"types": "./dist/index.d.mts",
"default": "./dist/index.mjs"
},
"require": {
"types": "./dist/index.d.cts",
"default": "./dist/index.cjs"
}
},
"./biome.json": "./dist/biome.json",
"./cli": {
"import": {
"types": "./dist/cli.d.mts",
"default": "./dist/cli.mjs"
},
"require": {
"types": "./dist/cli.d.cts",
"default": "./dist/cli.cjs"
}
},
"./commitlint": {
"import": {
"types": "./dist/commitlint.d.mts",
"default": "./dist/commitlint.mjs"
},
"require": {
"types": "./dist/commitlint.d.cts",
"default": "./dist/commitlint.cjs"
}
},
"./eslint": {
"import": {
"types": "./dist/eslint.d.mts",
"default": "./dist/eslint.mjs"
},
"require": {
"types": "./dist/eslint.d.cts",
"default": "./dist/eslint.cjs"
}
},
"./lint-staged": {
"import": {
"types": "./dist/lint-staged.d.mts",
"default": "./dist/lint-staged.mjs"
},
"require": {
"types": "./dist/lint-staged.d.cts",
"default": "./dist/lint-staged.cjs"
}
},
"./markdownlint.json": "./dist/markdownlint.json",
"./prettier": {
"import": {
"types": "./dist/prettier.d.mts",
"default": "./dist/prettier.mjs"
},
"require": {
"types": "./dist/prettier.d.cts",
"default": "./dist/prettier.cjs"
}
},
"./simple-git-hooks": {
"import": {
"types": "./dist/simple-git-hooks.d.mts",
"default": "./dist/simple-git-hooks.mjs"
},
"require": {
"types": "./dist/simple-git-hooks.d.cts",
"default": "./dist/simple-git-hooks.cjs"
}
},
"./stylelint": {
"import": {
"types": "./dist/stylelint.d.mts",
"default": "./dist/stylelint.mjs"
},
"require": {
"types": "./dist/stylelint.d.cts",
"default": "./dist/stylelint.cjs"
}
}
},
"main": "./dist/index.cjs",
"module": "./dist/index.mjs",
"types": "./dist/index.d.ts",
"typesVersions": {
"*": {
"*": [
"./dist/*",
"./dist/cli.d.ts",
"./dist/commitlint.d.ts",
"./dist/eslint.d.ts",
"./dist/index.d.ts",
"./dist/lint-staged.d.ts",
"./dist/prettier.d.ts",
"./dist/simple-git-hooks.d.ts",
"./dist/stylelint.d.ts"
]
}
},
"bin": {
"mf": "./dist/cli.mjs",
"modyqyw-fabric": "./dist/cli.mjs"
},
"files": [
"dist"
],
"dependencies": {
"@antfu/install-pkg": "^1.0.0",
"@babel/core": "^7.26.0",
"@babel/eslint-parser": "^7.26.5",
"@babel/preset-env": "^7.26.0",
"@babel/preset-react": "^7.26.3",
"@commitlint/cli": "^19.6.1",
"@commitlint/config-angular": "^19.7.0",
"@commitlint/config-conventional": "^19.6.0",
"@commitlint/config-lerna-scopes": "^19.7.0",
"@commitlint/config-nx-scopes": "^19.5.0",
"@commitlint/config-pnpm-scopes": "^19.5.0",
"@commitlint/config-rush-scopes": "^19.5.0",
"@commitlint/types": "^19.5.0",
"@eslint-react/shared": "^1.23.2",
"@eslint/compat": "^1.2.5",
"@inquirer/prompts": "^7.2.3",
"@listr2/prompt-adapter-inquirer": "^2.0.18",
"@next/eslint-plugin-next": "^15.1.4",
"@nuxt/eslint-plugin": "^0.7.5",
"@typescript-eslint/eslint-plugin": "^8.20.0",
"@typescript-eslint/parser": "^8.20.0",
"@unocss/eslint-plugin": "^65.4.0",
"commander": "^13.0.0",
"consola": "^3.4.0",
"defu": "^6.1.4",
"eslint-config-flat-gitignore": "^1.0.0",
"eslint-import-resolver-oxc": "^0.8.0",
"eslint-plugin-command": "^2.1.0",
"eslint-plugin-import-x": "^4.6.1",
"eslint-plugin-jsdoc": "^50.6.1",
"eslint-plugin-jsonc": "^2.18.2",
"eslint-plugin-markdown": "^5.1.0",
"eslint-plugin-n": "^17.15.1",
"eslint-plugin-no-barrel-files": "^1.2.0",
"eslint-plugin-nuxt": "^4.0.0",
"eslint-plugin-package-json": "^0.19.0",
"eslint-plugin-perfectionist": "^4.6.0",
"eslint-plugin-promise": "^7.2.1",
"eslint-plugin-react-dom": "^1.23.2",
"eslint-plugin-react-hooks": "^5.1.0",
"eslint-plugin-react-hooks-extra": "^1.23.2",
"eslint-plugin-react-naming-convention": "^1.23.2",
"eslint-plugin-react-native": "^5.0.0",
"eslint-plugin-react-perf": "^3.3.3",
"eslint-plugin-react-refresh": "^0.4.18",
"eslint-plugin-react-web-api": "^1.23.2",
"eslint-plugin-react-x": "^1.23.2",
"eslint-plugin-regexp": "^2.7.0",
"eslint-plugin-tailwindcss": "^3.17.5",
"eslint-plugin-toml": "^0.12.0",
"eslint-plugin-unicorn": "^56.0.1",
"eslint-plugin-unused-imports": "^4.1.4",
"eslint-plugin-vue": "^9.32.0",
"eslint-plugin-vue-scoped-css": "^2.9.0",
"eslint-plugin-yml": "^1.16.0",
"globals": "^15.14.0",
"jsonc-eslint-parser": "^2.4.0",
"listr2": "^8.2.5",
"local-pkg": "^1.0.0",
"multimatch": "^7.0.0",
"postcss": "^8.5.0",
"postcss-html": "^1.8.0",
"postcss-scss": "^4.0.9",
"prettier-plugin-curly": "^0.3.1",
"prettier-plugin-jsdoc": "^1.3.2",
"sort-object-keys": "^1.1.3",
"sort-package-json": "^2.13.0",
"stylelint-config-html": "^1.1.0",
"stylelint-config-recess-order": "^5.1.1",
"stylelint-config-recommended": "^14.0.1",
"stylelint-config-recommended-scss": "^14.1.0",
"stylelint-config-standard": "^36.0.1",
"stylelint-config-standard-scss": "^14.0.0",
"stylelint-high-performance-animation": "^1.10.0",
"stylelint-order": "^6.0.4",
"stylelint-plugin-defensive-css": "^1.0.4",
"stylelint-plugin-logical-css": "^1.2.1",
"tinyglobby": "^0.2.10",
"toml-eslint-parser": "^0.10.0",
"typescript": "^5.7.3",
"typescript-eslint": "^8.20.0",
"update-notifier": "^7.3.1",
"vue-eslint-parser": "^9.4.3",
"yaml-eslint-parser": "^1.2.3"
},
"devDependencies": {
"@arethetypeswrong/cli": "^0.17.3",
"@biomejs/biome": "^1.9.4",
"@inquirer/type": "^3.0.2",
"@tsconfig/node20": "^20.1.4",
"@types/node": "^22.10.6",
"@types/sort-object-keys": "^1.1.3",
"@types/update-notifier": "^6.0.8",
"commit-and-tag-version": "^12.5.0",
"concurrently": "^9.1.2",
"esbuild-register": "^3.6.0",
"eslint": "^9.18.0",
"git-branch-is": "^4.0.0",
"is-ci": "^4.1.0",
"lint-staged": "^15.3.0",
"markdownlint-cli": "^0.43.0",
"oxlint": "^0.15.6",
"prettier": "^3.4.2",
"publint": "^0.3.2",
"react": "^19.0.0",
"simple-git-hooks": "^2.11.1",
"stylelint": "^16.13.1",
"taze": "^18.1.0",
"unbuild": "^3.3.1",
"vitepress": "^1.5.0",
"vue": "^3.5.13"
},
"peerDependencies": {
"@biomejs/biome": "^1.9.0",
"eslint": "^9.10.0",
"postcss": "^8.0.0",
"prettier": "^3.0.0",
"react": "^18.0.0",
"stylelint": "^16.0.0",
"typescript": "^5.0.0",
"vue": "^3.0.0"
},
"peerDependenciesMeta": {
"@biomejs/biome": {
"optional": true
},
"eslint": {
"optional": true
},
"postcss": {
"optional": true
},
"prettier": {
"optional": true
},
"react": {
"optional": true
},
"stylelint": {
"optional": true
},
"typescript": {
"optional": true
},
"vue": {
"optional": true
}
},
"engines": {
"node": "^20.11.0 || >=21.2.0"
},
"publishConfig": {
"access": "public",
"registry": "https://registry.npmjs.org/"
},
"scripts": {
"build": "unbuild",
"depupdate": "taze -fw",
"dev": "unbuild --stub",
"docs:build": "vitepress build docs",
"docs:dev": "vitepress dev docs",
"docs:preview": "vitepress preview docs",
"format": "prettier . \"!**/package-lock.json*\" \"!**/yarn.lock\" \"!**/pnpm-lock.yaml\" --ignore-unknown --write --cache --log-level=warn",
"lint": "conc \"pnpm:lint:eslint\" \"pnpm:lint:markdownlint\" \"pnpm:lint:package\"",
"lint:eslint": "eslint . --fix --cache",
"lint:markdownlint": "markdownlint . --fix --ignore-path=.gitignore",
"lint:package": "pnpm run build && publint && attw --pack .",
"preversion": "git-branch-is main && conc \"pnpm:lint\" \"pnpm:type-check\"",
"release": "commit-and-tag-version -a",
"type-check": "tsc --noEmit"
}
}