@yangzw/bruce-std

1.3.0 • Public • Published

@yangzw/bruce-std

请查看Bruce FEES@yangzw/bruce-std的文档

CJS构建rc文件

  • config文件夹中的xxxrc.ts使用export = XXX的形式导出
  • src文件夹中的脚本使用.mts作为文件后缀,内部文件引用使用xxx/yyy/abc.mjs的形式
  • package.json不要设置typemodule
  • tsconfig.json使用两种形式,tsconfig.json用于编译src文件夹,tsconfig.config.json用于编译config文件夹
{
    "main": "dist/index.mjs",
    "bin": {
        "bruce-std": "dist/index.mjs"
    },
    "scripts": {
        "build": "rimraf dist && tsc -p tsconfig.config.json && tsc -p tsconfig.json",
        "dev": "nodemon -w config -w src -w package.json -w tsconfig.json -e ts,mts -x \"npm run build\""
    }
}
// tsconfig.json
{
	"compilerOptions": {
		"allowJs": true,
		"allowSyntheticDefaultImports": true,
		"baseUrl": ".",
		"downlevelIteration": true,
		"esModuleInterop": true,
		"experimentalDecorators": true,
		"forceConsistentCasingInFileNames": true,
		"jsx": "preserve",
		"lib": [
			"DOM",
			"DOM.Iterable",
			"ES2015",
			"ES2016",
			"ES2017",
			"ES2018",
			"ES2019",
			"ES2020",
			"ES2021",
			"ES2022",
			"ES2023",
			"ESNext"
		],
		"module": "ESNext",
		"moduleResolution": "Node",
		"outDir": "dist",
		"removeComments": true,
		"resolveJsonModule": true,
		"sourceMap": false,
		"strict": true,
		"target": "ES6"
	},
	"exclude": [
		"node_modules"
	],
	"include": [
		"src"
	]
}
// tsconfig.config.json
{
	"compilerOptions": {
		"allowJs": true,
		"allowSyntheticDefaultImports": true,
		"baseUrl": ".",
		"downlevelIteration": true,
		"esModuleInterop": true,
		"experimentalDecorators": true,
		"forceConsistentCasingInFileNames": true,
		"jsx": "preserve",
		"lib": [
			"DOM",
			"DOM.Iterable",
			"ES2015",
			"ES2016",
			"ES2017",
			"ES2018",
			"ES2019",
			"ES2020",
			"ES2021",
			"ES2022",
			"ES2023",
			"ESNext"
		],
		"module": "CommonJS",
		"moduleResolution": "Node",
		"outDir": "dist",
		"removeComments": true,
		"resolveJsonModule": true,
		"rootDir": "config",
		"sourceMap": false,
		"strict": true,
		"target": "ES5"
	},
	"exclude": [
		"node_modules"
	],
	"include": [
		"config"
	]
}

兼容

ecswt v38-

eslint-config-standard-with-typescript v38-,tslint配置需要做一些调整。

import { join } from "node:path";

export default {
	parserOptions: {
		project: "tsconfig.config.json",
		tsconfigRootDir: join(__dirname, "..")
	}
}
ecswt v38+

eslint-config-standard-with-typescript v38+,tslint配置需要做一些调整。

import { cwd } from "node:process";

export default {
	parserOptions: {
		project: "tsconfig.json",
		tsconfigRootDir: cwd()
	}
}

每个项目目录中必须存在tsconfig.json且其配置需要做一些调整。

{
	"include": [
		"src"
	]
}

EslintparserOptions配置请参考这里。

Package Sidebar

Install

npm i @yangzw/bruce-std

Weekly Downloads

67

Version

1.3.0

License

MIT

Unpacked Size

62.1 kB

Total Files

21

Last publish

Collaborators

  • yangzw