Vigia

将 yaml 从 1.x 升级到 2.x

根据 TypeScript 类型自动比较 yaml 1.10.3 与 2.9.1 的公开 API。签名变化表示可能存在不兼容变更,并非确定结论。

概要

已删除的导入路径0
已删除的导出6
已修改的签名4
已删除的类或接口成员12
已修改的类或接口成员18
新增弃用0
要求变化(engines、peer 依赖)1
新增导出44

已删除的导出

importexportkind之前
yamlASTnamespacenamespace
yamlOptionsinterfaceinterface
yamlparseCSTfunction(str: string): ParsedCST
yamlcreateNodefunction(value: any, wrapScalars?: true | undefined, tag?: string | undefined): YAMLMap | YAMLSeq | Scalar | (value: any, wrapScalars: false, tag?: string | undefined): string | number | boolean | YAMLMap | YAMLSeq | null
yamlscalarOptionsvariable{ binary: Binary; bool: Bool; int: Int; null: Null; str: Str; }
yamldefaultOptionsvariableOptions

已修改的签名

export之前之后
yaml · parse(str: string, options?: Options | undefined): any(src: string, options?: (ParseOptions & DocumentOptions & SchemaOptions & ToJSOptions) | undefined): any | (src: string, reviver: Reviver, options?: (ParseOptions & DocumentOptions & SchemaOptions & ToJSOptions) | undefined): any
yaml · stringify(value: any, options?: Options | undefined): string(value: any, options?: (DocumentOptions & SchemaOptions & ParseOptions & CreateNodeOptions & ToStringOptions) | undefined): string | (value: any, replacer?: Replacer | null | undefined, options?: string | number | (DocumentOptions & SchemaOptions & ParseOptions & CreateNodeOptions & ToStringOptions) | undefined): string
yaml · parseDocument(str: string, options?: Options | undefined): Parsed<Contents extends Node = ParsedNode, Strict extends boolean = true>(source: string, options?: (ParseOptions & DocumentOptions & SchemaOptions) | undefined): Contents extends ParsedNode ? Parsed<Contents, Strict> : Document<Contents, Strict>
yaml · parseAllDocuments(str: string, options?: Options | undefined): Parsed[]<Contents extends Node = ParsedNode, Strict extends boolean = true>(source: string, options?: (ParseOptions & DocumentOptions & SchemaOptions) | undefined): EmptyStream | (Contents extends ParsedNode ? Parsed<Contents, Strict> : Document<Contents, Strict>)[]

已删除的类或接口成员

memberimport之前
Document.tagyamlnever
Document.typeyamlType.DOCUMENT
Document.itemsyamlany[]
Document.parseyaml(cst: Document): Document
Document.anchorsyamlAnchors
Document.cstNodeyamlDocument | undefined
Document.versionyamlstring | undefined
Document.spaceBeforeyamlboolean | undefined
Document.tagPrefixesyamlTagPrefix[]
Document.setTagPrefixyaml(handle: string, prefix: string): void
Document.listNonDefaultTagsyaml(): string[]
Document.directivesEndMarkeryamlboolean | undefined

已修改的类或接口成员

member之前之后
Document.get(key: any, keepScalar?: boolean | undefined): any(key: unknown, keepScalar?: boolean | undefined): Strict extends true ? unknown : any
Document.has(key: any): boolean(key: unknown): boolean
Document.set(key: any, value: any): void(key: any, value: unknown): void
Document.addIn(path: Iterable<any>, value: any): void(path: Iterable<unknown>, value: unknown): void
Document.getIn(path: Iterable<any>, keepScalar?: boolean | undefined): any(path: Iterable<unknown> | null, keepScalar?: boolean | undefined): Strict extends true ? unknown : any
Document.hasIn(path: Iterable<any>): boolean(path: Iterable<unknown> | null): boolean
Document.range[number, number] | null | undefinedRange | undefined
Document.setIn(path: Iterable<any>, value: any): void(path: Iterable<unknown> | null, value: unknown): void
Document.delete(key: any): boolean(key: unknown): boolean
Document.schemaSchema | undefinedSchema
Document.toJSON(arg?: string | undefined, onAnchor?: ((value: any, count: number) => void) | undefined): any(jsonArg?: string | null | undefined, onAnchor?: ((value: unknown, count: number) => void) | undefined): any
Document.commentstring | null | undefinedstring | null
Document.contentsanyStrict extends true ? Contents | null : Contents
Document.deleteIn(path: Iterable<any>): boolean(path: Iterable<unknown> | null): boolean
Document.toString(): string(options?: ToStringOptions | undefined): string
Document.setSchema(id?: "1.0" | "1.1" | "1.2" | Name | undefined, customTags?: (TagId | Tag)[] | undefined): void(version: "1.1" | "1.2" | "next" | null, options?: SchemaOptions | undefined): void
Document.constructor(options?: Options | undefined): Document<Contents extends Node = Node, Strict extends boolean = true>(value?: any, options?: (DocumentOptions & SchemaOptions & ParseOptions & CreateNodeOptions) | undefined): Document<Contents, Strict> | <Contents extends Node = Node, Strict extends boolean = true>(value: any, replacer: Replacer | null, op…
Document.commentBeforestring | null | undefinedstring | null

新增弃用

未发现。

要求变化(engines、peer 依赖)

之前之后
engines.node>= 6>= 14.6
新增导出 (44)
importexportkind
yamlNodetype
yamlPairclass
yamlTagstype
yamlAliasclass
yamlLexerclass
yamlRangetype
yamlTagIdtype
yamlisMapvariable
yamlisSeqvariable
yamlvisitfunction
yamlParserclass
yamlScalarclass
yamlSchemaclass
yamlisNodefunction
yamlisPairvariable
yamlYAMLMapclass
yamlYAMLSeqclass
yamlYAMLSetclass
yamlisAliasvariable
yamlvisitortype
yamlComposerclass
yamlYAMLOMapclass
yamlisScalarvariable
yamlErrorCodetype
yamlScalarTaginterface
yamlYAMLErrorclass
yamlvisitorFntype
yamlParsedNodetype
yamlisDocumentvariable
yamlvisitAsyncfunction
yamlEmptyStreaminterface
yamlLineCounterclass
yamlToJSOptionstype
yamlYAMLWarningclass
yamlParseOptionstype
yamlasyncVisitortype
yamlisCollectionfunction
yamlCollectionTaginterface
yamlSchemaOptionstype
yamlYAMLParseErrorclass
yamlasyncVisitorFntype
yamlDocumentOptionstype
yamlToStringOptionstype
yamlCreateNodeOptionstype

常见问题

将 yaml 从 1 升级到 2 有哪些不兼容变更?

在 yaml 1.10.3 与 2.9.1 之间,Vigia 发现 6 个已删除的导出、4 个已修改的签名,以及 30 个已删除或修改的类或接口成员。

yaml 2 中弃用了哪些内容?

yaml 2.9.1 中有 0 个导出或成员新被标记为弃用。

供智能体使用

GET https://vigia.coredls.cloud/v1/packages/npm/yaml/upgrade?from=1.10.3&to=2.9.1