mirror of
https://github.com/DavidAnson/markdownlint.git
synced 2025-12-16 14:00:13 +01:00
Convert markdownlint library to an ECMAScript module, replace markdownlint-micromark with micromark, stop publishing (large) markdownlint-browser.js, see https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c for guidance.
This commit is contained in:
parent
191226f070
commit
1e71f6f44e
140 changed files with 1087 additions and 10428 deletions
|
|
@ -1,11 +1,10 @@
|
|||
// @ts-check
|
||||
|
||||
"use strict";
|
||||
|
||||
const fs = require("node:fs");
|
||||
const path = require("node:path");
|
||||
const yaml = require("js-yaml");
|
||||
const configSchema = require("./markdownlint-config-schema.json");
|
||||
import fs from "node:fs/promises";
|
||||
import path from "node:path";
|
||||
import yaml from "js-yaml";
|
||||
import { __dirname, importWithTypeJson } from "../test/esm-helpers.mjs";
|
||||
const configSchema = await importWithTypeJson(import.meta, "../schema/markdownlint-config-schema.json");
|
||||
|
||||
const configExample = {};
|
||||
for (const rule in configSchema.properties) {
|
||||
|
|
@ -35,8 +34,8 @@ const transformComments = (input, commentPrefix) => (
|
|||
);
|
||||
|
||||
const configStringJson = JSON.stringify(configExample, null, 2);
|
||||
fs.writeFileSync(
|
||||
path.join(__dirname, ".markdownlint.jsonc"),
|
||||
await fs.writeFile(
|
||||
path.join(__dirname(import.meta), ".markdownlint.jsonc"),
|
||||
transformComments(configStringJson, "//"),
|
||||
"utf8"
|
||||
);
|
||||
|
|
@ -49,8 +48,8 @@ const configStringYaml = yaml.dump(
|
|||
"quotingType": "\""
|
||||
}
|
||||
);
|
||||
fs.writeFileSync(
|
||||
path.join(__dirname, ".markdownlint.yaml"),
|
||||
await fs.writeFile(
|
||||
path.join(__dirname(import.meta), ".markdownlint.yaml"),
|
||||
transformComments(configStringYaml, "#"),
|
||||
"utf8"
|
||||
);
|
||||
|
|
@ -1,13 +1,12 @@
|
|||
// @ts-check
|
||||
|
||||
"use strict";
|
||||
|
||||
const fs = require("node:fs");
|
||||
const path = require("node:path");
|
||||
/** @type {import("../lib/markdownlint").Rule[]} */
|
||||
const rules = require("../lib/rules");
|
||||
const jsonSchemaToTypeScript = require("json-schema-to-typescript");
|
||||
const { version } = require("../lib/constants");
|
||||
import fs from "node:fs/promises";
|
||||
import path from "node:path";
|
||||
/** @type {import("../lib/markdownlint.mjs").Rule[]} */
|
||||
import rules from "../lib/rules.mjs";
|
||||
import jsonSchemaToTypeScript from "json-schema-to-typescript";
|
||||
import { version } from "../lib/constants.mjs";
|
||||
import { __dirname } from "../test/esm-helpers.mjs";
|
||||
|
||||
const schemaName = "markdownlint-config-schema.json";
|
||||
const schemaUri = `https://raw.githubusercontent.com/DavidAnson/markdownlint/v${version}/schema/${schemaName}`;
|
||||
|
|
@ -586,8 +585,8 @@ for (const [ tag, tagTags ] of Object.entries(tags)) {
|
|||
}
|
||||
|
||||
// Write schema
|
||||
const schemaFile = path.join(__dirname, schemaName);
|
||||
fs.writeFileSync(schemaFile, JSON.stringify(schema, null, " "));
|
||||
const schemaFile = path.join(__dirname(import.meta), schemaName);
|
||||
await fs.writeFile(schemaFile, JSON.stringify(schema, null, " "));
|
||||
|
||||
// Create and write strict schema
|
||||
const schemaStrict = {
|
||||
|
|
@ -595,15 +594,15 @@ const schemaStrict = {
|
|||
"$id": schemaStrictUri,
|
||||
"additionalProperties": false
|
||||
};
|
||||
const schemaFileStrict = path.join(__dirname, schemaStrictName);
|
||||
fs.writeFileSync(schemaFileStrict, JSON.stringify(schemaStrict, null, " "));
|
||||
const schemaFileStrict = path.join(__dirname(import.meta), schemaStrictName);
|
||||
await fs.writeFile(schemaFileStrict, JSON.stringify(schemaStrict, null, " "));
|
||||
|
||||
// Write TypeScript declaration file
|
||||
const declarationStrictName = path.join(__dirname, "..", "lib", "configuration-strict.d.ts");
|
||||
const declarationStrictName = path.join(__dirname(import.meta), "..", "lib", "configuration-strict.d.ts");
|
||||
schemaStrict.title = "ConfigurationStrict";
|
||||
jsonSchemaToTypeScript.compile(
|
||||
const declaration = await jsonSchemaToTypeScript.compile(
|
||||
// @ts-ignore
|
||||
schemaStrict,
|
||||
"UNUSED"
|
||||
// eslint-disable-next-line unicorn/prefer-top-level-await
|
||||
).then((declaration) => fs.writeFileSync(declarationStrictName, declaration));
|
||||
);
|
||||
await fs.writeFile(declarationStrictName, declaration);
|
||||
Loading…
Add table
Add a link
Reference in a new issue