Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidAnson committed Dec 5, 2024
1 parent ba5f12c commit d7716a6
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 27 deletions.
3 changes: 3 additions & 0 deletions export-markdownlint-promise.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
// @ts-check

export * from "markdownlint/promise";
2 changes: 1 addition & 1 deletion export-markdownlint.mjs
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
// @ts-check

export { default } from "markdownlint";
export * from "markdownlint";
35 changes: 13 additions & 22 deletions markdownlint-cli2.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,8 @@ const pathPosix = pathDefault.posix;
import { pathToFileURL } from "node:url";
import { globby } from "globby";
import micromatch from "micromatch";
import markdownlintLibrary from "markdownlint";
const {
applyFixes,
"getVersion": getLibraryVersion,
"promises": markdownlintPromises
} = markdownlintLibrary;
const {
markdownlint,
"extendConfig": markdownlintExtendConfig,
"readConfig": markdownlintReadConfig
} = markdownlintPromises;
import { applyFixes, getVersion } from "markdownlint";
import { lint, extendConfig, readConfig } from "markdownlint/promise";
import { expandTildePath } from "markdownlint/helpers";
import appendToArray from "./append-to-array.mjs";
import mergeOptions from "./merge-options.mjs";
Expand All @@ -30,7 +21,7 @@ import resolveAndRequire from "./resolve-and-require.mjs";
const packageName = "markdownlint-cli2";
const packageVersion = "0.15.0";
const libraryName = "markdownlint";
const libraryVersion = getLibraryVersion();
const libraryVersion = getVersion();
const bannerMessage = `${packageName} v${packageVersion} (${libraryName} v${libraryVersion})`;
const dotOnlySubstitute = "*.{md,markdown}";
const utf8 = "utf8";
Expand Down Expand Up @@ -70,11 +61,11 @@ const resolveModulePaths = (dir, modulePaths) => (
);

// Read a JSON(C) or YAML file and return the object
const readConfig = (fs, dir, name, otherwise) => () => {
const readConfigFile = (fs, dir, name, otherwise) => () => {
const file = pathPosix.join(dir, name);
return fs.promises.access(file).
then(
() => markdownlintReadConfig(
() => readConfig(
file,
getParsers(),
fs
Expand Down Expand Up @@ -149,7 +140,7 @@ const importOrRequireConfig = (fs, dir, name, noRequire, otherwise) => () => {
// Extend a config object if it has 'extends' property
const getExtendedConfig = (config, configPath, fs) => {
if (config.extends) {
return markdownlintExtendConfig(
return extendConfig(
config,
configPath,
getParsers(),
Expand Down Expand Up @@ -182,7 +173,7 @@ const readOptionsOrConfig = async (configPath, fs, noRequire) => {
basename.endsWith(".markdownlint.yaml") ||
basename.endsWith(".markdownlint.yml")
) {
config = await markdownlintReadConfig(configPath, getParsers(), fs);
config = await readConfig(configPath, getParsers(), fs);
} else if (
basename.endsWith(".markdownlint.cjs") ||
basename.endsWith(".markdownlint.mjs")
Expand Down Expand Up @@ -373,19 +364,19 @@ const getAndProcessDirInfo = (

// Load markdownlint object(s)
const readConfigs =
readConfig(
readConfigFile(
fs,
dir,
".markdownlint.jsonc",
readConfig(
readConfigFile(
fs,
dir,
".markdownlint.json",
readConfig(
readConfigFile(
fs,
dir,
".markdownlint.yaml",
readConfig(
readConfigFile(
fs,
dir,
".markdownlint.yml",
Expand Down Expand Up @@ -793,7 +784,7 @@ const lintFiles = (fs, dirInfos, fileContents) => {
fs
};
// Invoke markdownlint
let task = markdownlint(options);
let task = lint(options);
// For any fixable errors, read file, apply fixes, and write it back
if (markdownlintOptions.fix) {
task = task.then((results) => {
Expand All @@ -816,7 +807,7 @@ const lintFiles = (fs, dirInfos, fileContents) => {
}
}
return Promise.all(subTasks).
then(() => markdownlint(options)).
then(() => lint(options)).
then((fixResults) => ({
...results,
...fixResults
Expand Down
2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
".": "./markdownlint-cli2.mjs",
"./markdownlint": "./export-markdownlint.mjs",
"./markdownlint/helpers": "./export-markdownlint-helpers.mjs",
"./markdownlint/promise": "./export-markdownlint-promise.mjs",
"./parsers": "./parsers/parsers.mjs",
"./parsers/jsonc": "./parsers/jsonc-parse.mjs",
"./parsers/yaml": "./parsers/yaml-parse.mjs"
Expand Down Expand Up @@ -59,6 +60,7 @@
"CHANGELOG.md",
"export-markdownlint.mjs",
"export-markdownlint-helpers.mjs",
"export-markdownlint-promise.mjs",
"LICENSE",
"markdownlint-cli2.mjs",
"markdownlint-cli2-bin.mjs",
Expand Down
7 changes: 3 additions & 4 deletions test/markdownlint-cli2-test-exports.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ const exportMappings = new Map([
[ ".", "../markdownlint-cli2.mjs" ],
[ "./markdownlint", "markdownlint" ],
[ "./markdownlint/helpers", "markdownlint/helpers" ],
[ "./markdownlint/promise", "markdownlint/promise" ],
[ "./parsers", "../parsers/parsers.mjs" ],
[ "./parsers/jsonc", "../parsers/jsonc-parse.mjs" ],
[ "./parsers/yaml", "../parsers/yaml-parse.mjs" ]
Expand All @@ -20,14 +21,12 @@ test("exportMappings", (t) => {
);
});

const commonJsRe = /\.js$/u;

for (const [ exportName, exportPath ] of exportMappings) {
test(exportName, async (t) => {
const commonJs = !commonJsRe.test(exportPath);
const commonJs = exportPath.includes("helpers");
const importExportName = await import(exportName.replace(/^\./u, packageJson.name));
const importExportPath = await import(exportPath);
t.is(
t.deepEqual(
commonJs ? importExportName.default : importExportName,
commonJs ? importExportPath.default : importExportPath
);
Expand Down

0 comments on commit d7716a6

Please sign in to comment.