Skip to content

Commit

Permalink
feat: CLI for quick scaffolding
Browse files Browse the repository at this point in the history
  • Loading branch information
coderwyd committed Nov 29, 2023
1 parent b09492a commit c7ef8c7
Show file tree
Hide file tree
Showing 41 changed files with 2,156 additions and 990 deletions.
2 changes: 2 additions & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
strict-peer-dependencies=false
shamefully-hoist=true
ignore-workspace-root-check=true
shell-emulator=true
6 changes: 5 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
{
"cSpell.words": [
"antfu",
"Astro",
"attributify",
"bumpp",
"coderwyd",
"picocolors",
"taze",
"tsup"
"tsup",
"unocss"
],
// Enable the ESlint flat config support
"eslint.experimental.useFlatConfig": true,
Expand Down
3 changes: 3 additions & 0 deletions bin/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env node

import '../dist/cli.js'
22 changes: 13 additions & 9 deletions eslint.config.js
Original file line number Diff line number Diff line change
@@ -1,21 +1,25 @@
import { createRequire } from 'node:module'
import sortKeys from 'eslint-plugin-sort-keys'
// import { createRequire } from 'node:module'
import styleMigrate from '@stylistic/eslint-plugin-migrate'
import coderwyd from './dist/index.js'

const require = createRequire(import.meta.url)
require('sucrase/register')
// const require = createRequire(import.meta.url)
// require('sucrase/register')
// const { coderwyd } = require('./src/index.ts')

export default coderwyd(
undefined,
{
vue: true,
// react: true,
typescript: true,
ignores: [
'fixtures',
'_fixtures',
],
},
{
files: ['src/**/*.ts'],
plugins: {
'sort-keys': sortKeys,
},
rules: {
'sort-keys/sort-keys-fix': 'error',
'perfectionist/sort-objects': 'error',
},
},
{
Expand Down
74 changes: 54 additions & 20 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@
"main": "./dist/index.js",
"module": "./dist/index.js",
"types": "./dist/index.d.ts",
"bin": "./bin/index.js",
"files": [
"bin",
"dist"
],
"publishConfig": {
Expand All @@ -28,9 +30,9 @@
"node": ">=16.14.0"
},
"scripts": {
"dev": "tsup src/index.ts --format esm,cjs --watch & eslint-flat-config-viewer",
"build": "tsup src/index.ts --format esm,cjs --clean --dts",
"stub": "tsup src/index.ts --format esm",
"build": "tsup --format esm,cjs --clean --dts",
"stub": "tsup --format esm",
"dev": "tsup --format esm,cjs --watch & eslint-flat-config-viewer",
"lint": "pnpm run stub && eslint .",
"prepack": "nr build",
"release": "bumpp && pnpm publish",
Expand All @@ -39,26 +41,45 @@
"prepare": "simple-git-hooks"
},
"peerDependencies": {
"eslint": ">=8.0.0"
"@unocss/eslint-plugin": ">=0.50.0",
"eslint": ">=8.40.0",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.4"
},
"peerDependenciesMeta": {
"@unocss/eslint-plugin": {
"optional": true
},
"eslint-plugin-react": {
"optional": true
},
"eslint-plugin-react-hooks": {
"optional": true
},
"eslint-plugin-react-refresh": {
"optional": true
}
},
"dependencies": {
"@stylistic/eslint-plugin": "^1.2.0",
"@antfu/eslint-define-config": "^1.23.0-2",
"@antfu/install-pkg": "^0.2.0",
"@eslint-types/jsdoc": "46.8.2-1",
"@eslint-types/typescript-eslint": "^6.12.0",
"@eslint-types/unicorn": "^49.0.0",
"@stylistic/eslint-plugin": "^1.4.0",
"@typescript-eslint/eslint-plugin": "^6.12.0",
"@typescript-eslint/parser": "^6.12.0",
"astro-eslint-parser": "^0.16.0",
"eslint-config-flat-gitignore": "^0.1.1",
"eslint-define-config": "^1.24.1",
"eslint-plugin-antfu": "1.0.11",
"eslint-plugin-astro": "^0.29.1",
"eslint-plugin-antfu": "^1.0.10",
"eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-i": "^2.29.0",
"eslint-plugin-jsdoc": "^46.9.0",
"eslint-plugin-jsonc": "^2.10.0",
"eslint-plugin-markdown": "^3.0.1",
"eslint-plugin-n": "^16.3.1",
"eslint-plugin-no-only-tests": "^3.1.0",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-perfectionist": "^2.4.0",
"eslint-plugin-unicorn": "^49.0.0",
"eslint-plugin-unused-imports": "^3.0.0",
"eslint-plugin-vitest": "^0.3.10",
Expand All @@ -67,23 +88,36 @@
"globals": "^13.23.0",
"jsonc-eslint-parser": "^2.4.0",
"local-pkg": "^0.5.0",
"parse-gitignore": "^2.0.0",
"picocolors": "^1.0.0",
"prompts": "^2.4.2",
"vue-eslint-parser": "^9.3.2",
"yaml-eslint-parser": "^1.2.2"
"yaml-eslint-parser": "^1.2.2",
"yargs": "^17.7.2"
},
"devDependencies": {
"@stylistic/eslint-plugin-migrate": "^0.0.6",
"@antfu/ni": "^0.21.10",
"@stylistic/eslint-plugin-migrate": "^1.4.0",
"@types/eslint": "^8.44.7",
"@types/node": "^20.10.0",
"@types/react": "^18.2.38",
"@types/fs-extra": "^11.0.4",
"@types/node": "^20.9.4",
"@types/prompts": "^2.4.9",
"@types/yargs": "^17.0.32",
"@unocss/eslint-plugin": "^0.57.7",
"bumpp": "^9.2.0",
"eslint": "^8.54.0",
"eslint-flat-config-viewer": "^0.1.3",
"eslint-plugin-sort-keys": "^2.3.5",
"nano-staged": "^0.8.0",
"react": "^18.2.0",
"eslint-plugin-react": "^7.33.2",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.4",
"esno": "^4.0.0",
"execa": "^8.0.1",
"fast-glob": "^3.3.2",
"fs-extra": "^11.1.1",
"lint-staged": "^15.1.0",
"rimraf": "^5.0.5",
"simple-git-hooks": "^2.9.0",
"sucrase": "^3.34.0",
"tsup": "^7.2.0",
"tsup": "^8.0.1",
"typescript": "^5.3.2",
"vitest": "^0.34.6"
},
Expand Down
Loading

0 comments on commit c7ef8c7

Please sign in to comment.