Skip to content

Commit

Permalink
build: transfer to ts build
Browse files Browse the repository at this point in the history
  • Loading branch information
qmhc committed Jul 16, 2024
1 parent 996b45a commit a6891cb
Show file tree
Hide file tree
Showing 23 changed files with 1,952 additions and 460 deletions.
3 changes: 0 additions & 3 deletions .commitlintrc.cjs

This file was deleted.

4 changes: 4 additions & 0 deletions .commitlintrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/** @type {import('@commitlint/types').UserConfig} */
export default {
extends: ['./packages/commitlint-config']
}
1 change: 0 additions & 1 deletion .prettierrc.cjs

This file was deleted.

1 change: 1 addition & 0 deletions .prettierrc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { default } from './packages/prettier-config/dist/index.mjs'
11 changes: 6 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,34 @@
"name": "lint-config",
"type": "module",
"license": "MIT",
"author": "qmhc",
"private": true,
"author": "qmhc",
"scripts": {
"preinstall": "npx only-allow pnpm",
"build:all": "tsx scripts/build-all.ts",
"lint": "eslint --fix .",
"prettier": "prettier --write \"**/*.{js,cjs,ts,json,md}\"",
"release": "tsx scripts/release.ts"
},
"devDependencies": {
"@commitlint/cli": "^18.5.0",
"@commitlint/types": "^19.0.3",
"@types/minimist": "^1.2.5",
"@types/node": "^20.11.6",
"@types/prompts": "^2.4.9",
"@types/semver": "^7.5.6",
"@vexip-ui/scripts": "^1.1.4",
"conventional-changelog-cli": "^4.1.0",
"eslint": "^8.56.0",
"execa": "8.0.1",
"husky": "^9.0.1",
"is-ci": "^3.0.1",
"kolorist": "^1.8.0",
"lint-staged": "^15.2.0",
"minimist": "^1.2.8",
"prettier": "^3.2.4",
"prompts": "^2.4.2",
"semver": "^7.5.4",
"tsx": "^4.7.0",
"typescript": "^5.3.3"
"typescript": "^5.4.5",
"unbuild": "^2.0.0"
},
"pnpm": {
"peerDependencyRules": {
Expand Down
10 changes: 10 additions & 0 deletions packages/commitlint-config/build.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { defineBuildConfig } from 'unbuild'

export default defineBuildConfig({
entries: ['src/index'],
clean: true,
declaration: true,
rollup: {
emitCJS: true
}
})
22 changes: 16 additions & 6 deletions packages/commitlint-config/package.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,29 @@
{
"name": "@vexip-ui/commitlint-config",
"version": "0.5.0",
"type": "module",
"license": "MIT",
"author": "qmhc",
"homepage": "https://github.com/vexip-ui/lint-config",
"scripts": {
"build": "unbuild"
},
"main": "dist/index.cjs",
"module": "dist/index.mjs",
"types": "dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"require": "./dist/index.cjs",
"import": "./dist/index.mjs"
},
"./package.json": "./package.json"
},
"keywords": [
"vexip-ui",
"commitlint",
"commitlint-config"
],
"main": "index.cjs",
"exports": {
".": "./index.cjs",
"./package.json": "./package.json"
},
"homepage": "https://github.com/vexip-ui/lint-config",
"dependencies": {
"@commitlint/config-conventional": "^19.1.0"
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
module.exports = {
import type { UserConfig } from '@commitlint/types'

export default {
extends: ['@commitlint/config-conventional'],
rules: {
'body-leading-blank': [2, 'always'],
Expand Down Expand Up @@ -28,4 +30,4 @@ module.exports = {
]
]
}
}
} satisfies UserConfig
10 changes: 10 additions & 0 deletions packages/eslint-config/build.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { defineBuildConfig } from 'unbuild'

export default defineBuildConfig({
entries: ['src/index'],
clean: true,
declaration: true,
rollup: {
emitCJS: true
}
})
22 changes: 16 additions & 6 deletions packages/eslint-config/package.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,29 @@
{
"name": "@vexip-ui/eslint-config",
"version": "0.12.1",
"type": "module",
"license": "MIT",
"author": "qmhc",
"homepage": "https://github.com/vexip-ui/lint-config",
"scripts": {
"build": "unbuild"
},
"main": "dist/index.cjs",
"module": "dist/index.mjs",
"types": "dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"require": "./dist/index.cjs",
"import": "./dist/index.mjs"
},
"./package.json": "./package.json"
},
"keywords": [
"vexip-ui",
"eslint",
"eslint-config"
],
"main": "index.cjs",
"exports": {
".": "./index.cjs",
"./package.json": "./package.json"
},
"homepage": "https://github.com/vexip-ui/lint-config",
"dependencies": {
"@typescript-eslint/eslint-plugin": "^6.19.1",
"@typescript-eslint/parser": "^6.19.1",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
const configStandard = require('eslint-config-standard/.eslintrc.json')
const { defineConfig } = require('eslint-define-config')
import configStandard from 'eslint-config-standard/.eslintrc.json'
import { defineConfig } from 'eslint-define-config'

import type { Rules } from 'eslint-define-config'

type StandardRuleName = keyof typeof configStandard.rules

const equivalents = [
'indent',
'no-unused-vars',
Expand All @@ -23,24 +28,24 @@ const equivalents = [
'no-array-constructor',
'no-unused-expressions',
'no-useless-constructor'
]
] as const

function fromEntries(iterable) {
return [...iterable].reduce((obj, [key, val]) => {
obj[key] = val
return obj
}, {})
function fromEntries<K extends string, V>(iterable: [K, V][]) {
return [...iterable].reduce(
(obj, [key, val]) => {
obj[key] = val
return obj
},
{} as Record<K, V>
)
}

function ruleFromStandard(name) {
function ruleFromStandard(name: StandardRuleName) {
const rule = configStandard.rules[name]

return rule || 'off'
}

/**
* @type {import('eslint-define-config').Rules}
*/
const typeScriptRules = {
'no-console':
process.env.NODE_ENV === 'production'
Expand Down Expand Up @@ -204,11 +209,10 @@ const typeScriptRules = {
ignoreRestSiblings: true
}
]
}
} as Partial<Rules>

module.exports = defineConfig({
export default defineConfig({
extends: [
// 'standard',
'standard-jsx',
'plugin:jsonc/recommended-with-jsonc',
'plugin:yml/standard',
Expand All @@ -225,12 +229,7 @@ module.exports = defineConfig({
parserOptions: {
ecmaVersion: 'latest'
},
plugins: [
'import',
'n',
'promise',
'react'
],
plugins: ['import', 'n', 'promise', 'react'],
reportUnusedDisableDirectives: true,
settings: {
'import/resolver': {
Expand Down
10 changes: 10 additions & 0 deletions packages/prettier-config/build.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { defineBuildConfig } from 'unbuild'

export default defineBuildConfig({
entries: ['src/index'],
clean: true,
declaration: true,
rollup: {
emitCJS: true
}
})
23 changes: 0 additions & 23 deletions packages/prettier-config/index.cjs

This file was deleted.

25 changes: 19 additions & 6 deletions packages/prettier-config/package.json
Original file line number Diff line number Diff line change
@@ -1,20 +1,33 @@
{
"name": "@vexip-ui/prettier-config",
"version": "0.2.0",
"type": "module",
"license": "MIT",
"author": "qmhc",
"homepage": "https://github.com/vexip-ui/lint-config",
"scripts": {
"build": "unbuild"
},
"main": "dist/index.cjs",
"module": "dist/index.mjs",
"types": "dist/index.d.ts",
"exports": {
".": {
"types": "./dist/index.d.ts",
"require": "./dist/index.cjs",
"import": "./dist/index.mjs"
},
"./package.json": "./package.json"
},
"keywords": [
"vexip-ui",
"prettier",
"prettier-config"
],
"main": "index.cjs",
"exports": {
".": "./index.cjs",
"./package.json": "./package.json"
"homepage": "https://github.com/vexip-ui/lint-config",
"dependencies": {
"prettier-plugin-packagejson": "^2.5.0"
},
"peerDependencies": {
"prettier": ">=2.5.0"
"prettier": ">=3.0.0"
}
}
62 changes: 62 additions & 0 deletions packages/prettier-config/src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
import type { Config } from 'prettier'

export default {
plugins: ['prettier-plugin-packagejson'],
printWidth: 100,
arrowParens: 'avoid',
bracketSpacing: true,
endOfLine: 'lf',
bracketSameLine: false,
quoteProps: 'as-needed',
semi: false,
singleQuote: true,
tabWidth: 2,
trailingComma: 'none',
useTabs: false,
vueIndentScriptAndStyle: false,
jsxSingleQuote: true,
packageSortOrder: [
'name',
'version',
'type',
'packageManager',
'license',
'private',
'author',
'description',
'scripts',
'bin',
'main',
'module',
'types',
'exports',
'sideEffects',
'files',
'engines',
'keywords',
'publishConfig',
'repository',
'bugs',
'homepage',
'dependencies',
'devDependencies',
'peerDependencies',
'peerDependenciesMeta',
'optionalDependencies',
'pnpm',
'resolutions',
'husky',
'gitHooks',
'lint-staged',
'prettier',
'eslintConfig'
],
overrides: [
{
files: '*.md',
options: {
embeddedLanguageFormatting: 'off'
}
}
]
} satisfies Config
10 changes: 10 additions & 0 deletions packages/stylelint-config/build.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { defineBuildConfig } from 'unbuild'

export default defineBuildConfig({
entries: ['src/index'],
clean: true,
declaration: true,
rollup: {
emitCJS: true
}
})
Loading

0 comments on commit a6891cb

Please sign in to comment.