From f2c50456b8eeb0356491bd4ad32ed277c90d40b1 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Tue, 27 Sep 2022 16:02:47 +0800 Subject: [PATCH] Switch `parse-srcset` to npm published version (#13536) Co-authored-by: Georgii Dolzhykov --- package.json | 2 +- src/common/create-ignorer.js | 4 +++- src/language-handlebars/printer-glimmer.js | 2 +- src/language-html/parser-html.js | 8 +++---- src/language-html/syntax-attribute.js | 10 ++------ src/language-js/comments/handle-comments.js | 4 ++-- src/language-js/comments/printer-methods.js | 2 +- src/language-js/loc.js | 2 +- src/language-js/print/function-parameters.js | 2 +- src/language-js/print/jsx.js | 4 ++-- src/language-js/types/estree.d.ts | 2 +- src/language-js/utils/index.js | 24 +++++++++---------- src/language-js/utils/is-block-comment.js | 2 +- src/language-js/utils/is-node-matches.js | 2 +- src/language-js/utils/is-type-cast-comment.js | 2 +- src/main/multiparser.js | 2 +- src/main/options-normalizer.js | 2 +- src/main/support.js | 2 +- src/utils/text/skip-newline.js | 2 +- tsconfig.json | 6 ++--- types/angular-html-parser/index.d.ts | 4 ++-- yarn.lock | 16 ++++++------- 22 files changed, 50 insertions(+), 56 deletions(-) diff --git a/package.json b/package.json index 130c9b1a9..5561bb4bc 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "@babel/types": "7.19.0", "@glimmer/syntax": "0.84.2", "@iarna/toml": "2.2.5", + "@prettier/parse-srcset": "2.0.1", "@typescript-eslint/typescript-estree": "5.38.0", "@typescript-eslint/visitor-keys": "5.38.0", "acorn": "8.8.0", @@ -73,7 +74,6 @@ "minimist": "1.2.6", "n-readlines": "1.0.1", "outdent": "0.8.0", - "parse-srcset": "ikatyang/parse-srcset#54eb9c1cb21db5c62b4d0e275d7249516df6f0ee", "please-upgrade-node": "3.2.0", "postcss": "8.4.16", "postcss-less": "6.0.0", diff --git a/src/common/create-ignorer.js b/src/common/create-ignorer.js index 680fad6ad..fab9a1c48 100644 --- a/src/common/create-ignorer.js +++ b/src/common/create-ignorer.js @@ -13,7 +13,9 @@ async function createIgnorer(ignoreFilePath, withNodeModules) { content = await readFile(path.resolve(ignoreFilePath)); } - const ignorer = ignore({ allowRelativePaths: true }).add(content ?? ""); + const ignorer = ignore + .default({ allowRelativePaths: true }) + .add(content ?? ""); if (!withNodeModules) { ignorer.add("node_modules"); } diff --git a/src/language-handlebars/printer-glimmer.js b/src/language-handlebars/printer-glimmer.js index 412ed8aae..87ef20a7f 100644 --- a/src/language-handlebars/printer-glimmer.js +++ b/src/language-handlebars/printer-glimmer.js @@ -691,7 +691,7 @@ function generateHardlines(number = 0) { /* StringLiteral print helpers */ -/** @typedef {import("../common/util").Quote} Quote */ +/** @typedef {import("../common/util.js").Quote} Quote */ /** * Prints a string literal with the correct surrounding quotes based on diff --git a/src/language-html/parser-html.js b/src/language-html/parser-html.js index 86e488cef..07d0d2bb9 100644 --- a/src/language-html/parser-html.js +++ b/src/language-html/parser-html.js @@ -10,10 +10,10 @@ import { parseIeConditionalComment } from "./conditional-comment.js"; import { locStart, locEnd } from "./loc.js"; /** - * @typedef {import('angular-html-parser/lib/compiler/src/ml_parser/ast').Node} AstNode - * @typedef {import('angular-html-parser/lib/compiler/src/ml_parser/ast').Attribute} Attribute - * @typedef {import('angular-html-parser/lib/compiler/src/ml_parser/ast').Element} Element - * @typedef {import('angular-html-parser/lib/compiler/src/ml_parser/parser').ParseTreeResult} ParserTreeResult + * @typedef {import('angular-html-parser/lib/compiler/src/ml_parser/ast.js').Node} AstNode + * @typedef {import('angular-html-parser/lib/compiler/src/ml_parser/ast.js').Attribute} Attribute + * @typedef {import('angular-html-parser/lib/compiler/src/ml_parser/ast.js').Element} Element + * @typedef {import('angular-html-parser/lib/compiler/src/ml_parser/parser.js').ParseTreeResult} ParserTreeResult * @typedef {Omit & { * name?: 'html' | 'angular' | 'vue' | 'lwc'; * recognizeSelfClosing?: boolean; diff --git a/src/language-html/syntax-attribute.js b/src/language-html/syntax-attribute.js index 1e35ce0ce..9164bda11 100644 --- a/src/language-html/syntax-attribute.js +++ b/src/language-html/syntax-attribute.js @@ -1,14 +1,8 @@ -import parseSrcset from "parse-srcset"; +import parseSrcset from "@prettier/parse-srcset"; import { ifBreak, join, line } from "../document/builders.js"; function printImgSrcset(value) { - const srcset = parseSrcset(value, { - logger: { - error(message) { - throw new Error(message); - }, - }, - }); + const srcset = parseSrcset(value); const hasW = srcset.some(({ w }) => w); const hasH = srcset.some(({ h }) => h); diff --git a/src/language-js/comments/handle-comments.js b/src/language-js/comments/handle-comments.js index 14984e4c0..161e78f1a 100644 --- a/src/language-js/comments/handle-comments.js +++ b/src/language-js/comments/handle-comments.js @@ -25,8 +25,8 @@ import isBlockComment from "../utils/is-block-comment.js"; import isTypeCastComment from "../utils/is-type-cast-comment.js"; /** - * @typedef {import("../types/estree").Node} Node - * @typedef {import("../types/estree").Comment} Comment + * @typedef {import("../types/estree.js").Node} Node + * @typedef {import("../types/estree.js").Comment} Comment * * @typedef {Object} CommentContext * @property {Comment} comment diff --git a/src/language-js/comments/printer-methods.js b/src/language-js/comments/printer-methods.js index 0de4bf387..d05cdf947 100644 --- a/src/language-js/comments/printer-methods.js +++ b/src/language-js/comments/printer-methods.js @@ -14,7 +14,7 @@ import { import isBlockComment from "../utils/is-block-comment.js"; /** - * @typedef {import("../types/estree").Node} Node + * @typedef {import("../types/estree.js").Node} Node * @typedef {import("../../common/ast-path.js").default} AstPath */ diff --git a/src/language-js/loc.js b/src/language-js/loc.js index 9d9dfade9..269b5ce55 100644 --- a/src/language-js/loc.js +++ b/src/language-js/loc.js @@ -1,7 +1,7 @@ import isNonEmptyArray from "../utils/is-non-empty-array.js"; /** - * @typedef {import("./types/estree").Node} Node + * @typedef {import("./types/estree.js").Node} Node */ function locStart(node, opts) { diff --git a/src/language-js/print/function-parameters.js b/src/language-js/print/function-parameters.js index 3f15d3c7a..b01437bf8 100644 --- a/src/language-js/print/function-parameters.js +++ b/src/language-js/print/function-parameters.js @@ -26,7 +26,7 @@ import { locEnd } from "../loc.js"; import { ArgExpansionBailout } from "../../common/errors.js"; import { printFunctionTypeParameters } from "./misc.js"; -/** @typedef {import("../../common/ast-path").default} AstPath */ +/** @typedef {import("../../common/ast-path.js").default} AstPath */ function printFunctionParameters( path, diff --git a/src/language-js/print/jsx.js b/src/language-js/print/jsx.js index 6823847d3..42009b520 100644 --- a/src/language-js/print/jsx.js +++ b/src/language-js/print/jsx.js @@ -34,8 +34,8 @@ const isEmptyStringOrAnyLine = (doc) => /** * @typedef {import("../../common/ast-path.js").default} AstPath - * @typedef {import("../types/estree").Node} Node - * @typedef {import("../types/estree").JSXElement} JSXElement + * @typedef {import("../types/estree.js").Node} Node + * @typedef {import("../types/estree.js").JSXElement} JSXElement */ // JSX expands children from the inside-out, instead of the outside-in. diff --git a/src/language-js/types/estree.d.ts b/src/language-js/types/estree.d.ts index 17187aeca..4984841d3 100644 --- a/src/language-js/types/estree.d.ts +++ b/src/language-js/types/estree.d.ts @@ -2,7 +2,7 @@ import * as ESTree from "estree"; import * as Babel from "@babel/types"; import { TSESTree } from "@typescript-eslint/typescript-estree"; import { ESTree as Meriyah } from "meriyah"; -import * as NGTree from "angular-estree-parser/lib/types"; +import * as NGTree from "angular-estree-parser/lib/types.js"; type AdditionalFields = { extra?: { diff --git a/src/language-js/utils/index.js b/src/language-js/utils/index.js index 40bebe83c..977918f87 100644 --- a/src/language-js/utils/index.js +++ b/src/language-js/utils/index.js @@ -14,18 +14,18 @@ import isNodeMatches from "./is-node-matches.js"; const isIdentifierName = esutils.keyword.isIdentifierNameES5; /** - * @typedef {import("../types/estree").Node} Node - * @typedef {import("../types/estree").TemplateLiteral} TemplateLiteral - * @typedef {import("../types/estree").Comment} Comment - * @typedef {import("../types/estree").MemberExpression} MemberExpression - * @typedef {import("../types/estree").OptionalMemberExpression} OptionalMemberExpression - * @typedef {import("../types/estree").CallExpression} CallExpression - * @typedef {import("../types/estree").OptionalCallExpression} OptionalCallExpression - * @typedef {import("../types/estree").Expression} Expression - * @typedef {import("../types/estree").Property} Property - * @typedef {import("../types/estree").ObjectTypeProperty} ObjectTypeProperty - * @typedef {import("../types/estree").TaggedTemplateExpression} TaggedTemplateExpression - * @typedef {import("../types/estree").Literal} Literal + * @typedef {import("../types/estree.js").Node} Node + * @typedef {import("../types/estree.js").TemplateLiteral} TemplateLiteral + * @typedef {import("../types/estree.js").Comment} Comment + * @typedef {import("../types/estree.js").MemberExpression} MemberExpression + * @typedef {import("../types/estree.js").OptionalMemberExpression} OptionalMemberExpression + * @typedef {import("../types/estree.js").CallExpression} CallExpression + * @typedef {import("../types/estree.js").OptionalCallExpression} OptionalCallExpression + * @typedef {import("../types/estree.js").Expression} Expression + * @typedef {import("../types/estree.js").Property} Property + * @typedef {import("../types/estree.js").ObjectTypeProperty} ObjectTypeProperty + * @typedef {import("../types/estree.js").TaggedTemplateExpression} TaggedTemplateExpression + * @typedef {import("../types/estree.js").Literal} Literal * * @typedef {import("../../common/ast-path.js").default} AstPath */ diff --git a/src/language-js/utils/is-block-comment.js b/src/language-js/utils/is-block-comment.js index 65f49df09..8a336d539 100644 --- a/src/language-js/utils/is-block-comment.js +++ b/src/language-js/utils/is-block-comment.js @@ -1,5 +1,5 @@ /** - * @typedef {import("../types/estree").Comment} Comment + * @typedef {import("../types/estree.js").Comment} Comment */ const BLOCK_COMMENT_TYPES = new Set([ diff --git a/src/language-js/utils/is-node-matches.js b/src/language-js/utils/is-node-matches.js index 547d8c68f..568c7c735 100644 --- a/src/language-js/utils/is-node-matches.js +++ b/src/language-js/utils/is-node-matches.js @@ -1,7 +1,7 @@ // Copied from https://github.com/sindresorhus/eslint-plugin-unicorn/blob/d53d935951aa815c763fc9441aa452c763294715/rules/utils/is-node-matches.js /** - * @typedef {import("../types/estree").Node} Node + * @typedef {import("../types/estree.js").Node} Node */ /** diff --git a/src/language-js/utils/is-type-cast-comment.js b/src/language-js/utils/is-type-cast-comment.js index 412e59380..a3431f6b1 100644 --- a/src/language-js/utils/is-type-cast-comment.js +++ b/src/language-js/utils/is-type-cast-comment.js @@ -1,7 +1,7 @@ import isBlockComment from "./is-block-comment.js"; /** - * @typedef {import("../types/estree").Comment} Comment + * @typedef {import("../types/estree.js").Comment} Comment */ /** diff --git a/src/main/multiparser.js b/src/main/multiparser.js index 170a6ab52..b1601da72 100644 --- a/src/main/multiparser.js +++ b/src/main/multiparser.js @@ -5,7 +5,7 @@ import { parse } from "./parser.js"; import createGetVisitorKeysFunction from "./create-get-visitor-keys-function.js"; async function printEmbeddedLanguages( - /** @type {import("../common/ast-path").default} */ path, + /** @type {import("../common/ast-path.js").default} */ path, genericPrint, options, printAstToDoc, diff --git a/src/main/options-normalizer.js b/src/main/options-normalizer.js index 0f7228eec..8f8a29161 100644 --- a/src/main/options-normalizer.js +++ b/src/main/options-normalizer.js @@ -1,7 +1,7 @@ import vnopts from "vnopts"; /** - * @typedef {import("./support").NamedOptionInfo} NamedOptionInfo + * @typedef {import("./support.js").NamedOptionInfo} NamedOptionInfo */ const cliDescriptor = { diff --git a/src/main/support.js b/src/main/support.js index 66a25557e..7a146c41f 100644 --- a/src/main/support.js +++ b/src/main/support.js @@ -6,7 +6,7 @@ import { options as coreOptions } from "./core-options.js"; import currentVersion from "./version.evaluate.cjs"; /** - * @typedef {import("./core-options").OptionInfo} OptionInfo + * @typedef {import("./core-options.js").OptionInfo} OptionInfo * @typedef {{ name: string; pluginDefaults: Array } & OptionInfo} NamedOptionInfo */ diff --git a/src/utils/text/skip-newline.js b/src/utils/text/skip-newline.js index 6dfee8108..9e39f09a3 100644 --- a/src/utils/text/skip-newline.js +++ b/src/utils/text/skip-newline.js @@ -1,4 +1,4 @@ -/** @typedef {import("./skip").SkipOptions} SkipOptions */ +/** @typedef {import("./skip.js").SkipOptions} SkipOptions */ // This one doesn't use the above helper function because it wants to // test \r\n in order and `skip` doesn't support ordering and we only diff --git a/tsconfig.json b/tsconfig.json index 2ca128dae..cc49ec8d9 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -4,10 +4,8 @@ "checkJs": true, "noEmit": true, "target": "esnext", - "module": "esnext", - "moduleResolution": "node", + "module": "NodeNext", "resolveJsonModule": true, - "esModuleInterop": true, // TBD it is desired to enabled strict type checking at some point: "strict": false, "typeRoots": ["./types", "./node_modules/@types"] @@ -19,7 +17,6 @@ // [TBD] JavaScript sources *not* affected by src/language-*: "src/main/ast-to-doc.js", "src/main/core.js", - "src/common/create-ignorer.js", "src/config/resolve-config.js", "src/main/options-normalizer.js", "src/common/get-file-info.js", @@ -44,6 +41,7 @@ "src/index.js", "src/standalone.js", "index.js", + "src/index.cjs", "standalone.js", "bin/", "dist/", diff --git a/types/angular-html-parser/index.d.ts b/types/angular-html-parser/index.d.ts index 4dccb8e54..80f2af966 100644 --- a/types/angular-html-parser/index.d.ts +++ b/types/angular-html-parser/index.d.ts @@ -1,7 +1,7 @@ import "angular-html-parser/lib/compiler/src/ml_parser/ast"; -import { HtmlTagDefinition } from "angular-html-parser/lib/compiler/src/ml_parser/html_tags"; +import { HtmlTagDefinition } from "angular-html-parser/lib/compiler/src/ml_parser/html_tags.js"; -declare module "angular-html-parser/lib/compiler/src/ml_parser/ast" { +declare module "angular-html-parser/lib/compiler/src/ml_parser/ast.js" { interface Attribute { startSourceSpan: never; endSourceSpan: never; diff --git a/yarn.lock b/yarn.lock index 2bc18f045..8a5e6387a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1329,6 +1329,13 @@ __metadata: languageName: node linkType: hard +"@prettier/parse-srcset@npm:2.0.1": + version: 2.0.1 + resolution: "@prettier/parse-srcset@npm:2.0.1" + checksum: 8f424434f12b4358dbbfb8c975d89d08520d47cbdba51fe48d585ae41be16fc41fcec82d4031be1d5b6c5487e6fe4d013ab320e253807ae23f1edb412b108fc9 + languageName: node + linkType: hard + "@simple-dom/interface@npm:^1.4.0": version: 1.4.0 resolution: "@simple-dom/interface@npm:1.4.0" @@ -6352,13 +6359,6 @@ __metadata: languageName: node linkType: hard -"parse-srcset@ikatyang/parse-srcset#54eb9c1cb21db5c62b4d0e275d7249516df6f0ee": - version: 1.0.2 - resolution: "parse-srcset@https://github.com/ikatyang/parse-srcset.git#commit=54eb9c1cb21db5c62b4d0e275d7249516df6f0ee" - checksum: 4f3325a79e8d881d1d29ae4d2857a40b1d9d8d98f093b865a04a4e18ba5b136e7e1d37a317a8fc2ed10a8f473951c396f7c1b0904fe10de430e44811698ce0f1 - languageName: node - linkType: hard - "path-browserify@npm:1.0.1": version: 1.0.1 resolution: "path-browserify@npm:1.0.1" @@ -6595,6 +6595,7 @@ __metadata: "@glimmer/reference": 0.84.2 "@glimmer/syntax": 0.84.2 "@iarna/toml": 2.2.5 + "@prettier/parse-srcset": 2.0.1 "@types/estree": 1.0.0 "@types/file-entry-cache": 5.0.2 "@types/find-cache-dir": 3.2.1 @@ -6675,7 +6676,6 @@ __metadata: node-fetch: 3.2.10 npm-run-all: 4.1.5 outdent: 0.8.0 - parse-srcset: "ikatyang/parse-srcset#54eb9c1cb21db5c62b4d0e275d7249516df6f0ee" path-browserify: 1.0.1 please-upgrade-node: 3.2.0 postcss: 8.4.16