npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@wc-editor/typescript-config

v0.0.1

Published

- files类型:Array 该属性是一个 相对路径 或者 绝对路径的文件列表,它显示指定了 tsc 编译器需要编译的文件列表 - include类型:Array 该属性是一个列表 ,指定 ts 需要检查的文件 路径, 和 files 不同的是,列表的每一个值是 采用 glob 通配符匹配支持的扩展名文件,include 支持的 glob 通配符有三种:

Downloads

1

Readme

配置说明

  • files类型:Array 该属性是一个 相对路径 或者 绝对路径的文件列表,它显示指定了 tsc 编译器需要编译的文件列表
  • include类型:Array 该属性是一个列表 ,指定 ts 需要检查的文件 路径, 和 files 不同的是,列表的每一个值是 采用 glob 通配符匹配支持的扩展名文件,include 支持的 glob 通配符有三种:
“*” 匹配零个或多个字符(不包括目录分隔符)
“?” 匹配任何一个字符(不包括目录分隔符)
“**/” 递归匹配任何子目录
  • exclude类型: Array 同 include 一样的 glob-like 数组列表,指定 排除 检查的 文件路径,可以排除 include 包含的 文件路径,但是 不能排除 files 直接指定的文件,"exclude"属性默认为不包括 node_modules
1. 如果"files"和"include"两者都未指定, ts 就会使用默认搜索条件检查文件.
2. 如果指定了"files"或"include"属性,则编译器将包含这两个属性包含的文件的并集
3. ts 支持搜索检查的文件 扩展名 有 .ts,.tsx 和.d.ts 文件, 如果配置了 allowJs 选项还会包括 .js / .jsx 文件
  • types类型: Array<string> 该选项是 compilerOption 选项下的一个配置属性,该选项是一个 “@types”包名称数组。 指定 types 属性 怎配置文件 将仅检索指定名称的 @types 包

  • extends类型: string tsconfig.json 文件可以使用该 extends 属性从另一个文件继承配置,该选项属性值是一个字符串,表示的是另一个配置文件的访问路径 配置选项使用 demo 如下 tsconfig/tsconfig-base.json

  • compileOnSave 类型: Boolean 该属性是 tsconfig.json 的顶级属性,当为 true 的时候,ide 会在用户保存的时候 按照当前的 tsconfig.json 文件 规则编译文件 实验证明 并不是很好用,输出位置不是按照我们想要的规则输出

  • allowJs类型: Boolean 默认值: false 该配置选项表示是否 编译 .js 或者 .jsx 文件

  • allowUmdGlobalAccess类型:Boolean 默认值: false 允许从模块访问 UMD 全局变量

  • allowUnreachableCode类型: Boolean 默认值: false 不报告执行不到的代码错误。(不建议修改此选项)

  • allowUnusedLabels 类型: Boolean 默认值: false 不报告未使用的标签错误.

  • alwaysStrict 类型: Boolean 默认值: false 以严格模式解析并为每个源文件生成 "use strict"语句

  • baseUrl类型: String 默认值 无 解析非相对模块名的基准目录。 个人实践结果 当 ts 中 import 引用非相对路径的模块,例如 import "foo",ts 会首先查询 node_modules 目录,如果没有查找到需要的 会根据 baseUrl 设置的 路径目录下 查找 该模块。

  • charset类型: String, 默认值: "utf8", 输入文件的字符集。

  • checkJs类型: Boolean 默认值: false, 报告.js 文件中的错误。与 allowJs 配置 一起使用。

  • composite 类型: Boolean 默认值: true 确保 TypeScript 可以确定在哪里可以找到引用项目的输出以编译项目。

  • declaration类型: Boolean 默认值: false 构建 ts 文件时 生成相应的 .d.ts 文件

  • declarationDir类型: String 默认值: 默认输出路径为生产的目标文件相同位置 生成.d.ts 声明文件的输出路径。

  • declarationMap 类型: Boolean 默认值: false, 为每个相应的“ .d.ts”文件生成一个源映射。

  • diagnostics 类型: Boolean 默认值: false, tsc --diagnostics 显示诊断信息。输出内容类似下面

配置文件解释

{
  "compilerOptions": {
    // 指定 ECMAScript 目标版本 "ES3"(默认), "ES5", "ES6" / "ES2015", "ES2016", "ES2017" 或 "ESNext"。
    "target": "ES5",
    // 构建的目标代码删除所有注释,但是不会删除以 /!* 开头的版权信息
    "removeComments": true,
    // 启用所有严格类型检查选项。
    "strict": true,
    // 禁止对同一个文件的不一致的引用
    "forceConsistentCasingInFileNames": true,
    // 生成相应的 .d.ts文件
    "declaration": true,
    // 生成的 .d.ts文件路径,这里统一生成到types文件夹下
    "declarationDir": "types",
    // 报错时不生成输出文件
    "noEmitOnError": true,
    "module": "commonjs", // 指定生成哪个模块系统代码:"None","CommonJS" "AMD","System", "UMD","ES6"或"ES2015"
    "moduleResolution": "node", // 决定如何处理模块。或者是"Node"对于Node.js/io.js,或者是"Classic"(默认)
    "experimentalDecorators": true, // 启用实验性的ES装饰器
    "emitDecoratorMetadata": true, // 给源码里的装饰器声明加上设计类型元数据
    // baseUrl来告诉编译器到哪里去查找模块,所有非相对模块导入都会被当做相对于 baseUrl。
    "baseUrl": ".",
    // 非相对模块导入的路径映射配置
    "paths": {
      "@/*": ["src/*"],
      "@docs/*":["docs/*"],
      "@public/*":["public/*"],
      "@test/*":["test/*"],
    }
  },
  "compileOnSave": false,
  // 编译器默认包含的编译文件,src是源代码文件夹,test是jest测试代码文件夹
  "include": ["src/**/*","test/**/*"],
  // 编译器默认排除的编译文件
  "exclude": ["node_modules"]
}

完整配置

{
  "compilerOptions": {
    "incremental": true,
    "target": "es5",
    "module": "commonjs",
    "allowJs": true,
    "checkJs": true,
    "jsx": "preserve",
    "outDir": "./dist",
    "rootDir": "./src",
    "composite": true,
    "removeComments": false,
    "noEmit": false,
    "importHelpers": true,
    "downlevelIteration": true,
    "strict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noImplicitReturns": true,
    "noFallthroughCasesInSwitch": true,
    "moduleResolution": "node",
    "baseUrl": "./",
    "types": ["mocha"],
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    "allowUmdGlobalAccess": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true
  },
  "files": ["./src/enum.ts", "./src/namespace/n1.ts"],
  "include": ["./src/namespace/*", "./src/module/*"],
  "exclude": [
    "./src/namespace/n2.ts",
    "./src/module/m11.ts",
    "./dist-test",
    "./node_modules"
  ],
  "compileOnSave": false
}

扩展阅读