0
0
Fork 0
mirror of https://github.com/DavidAnson/markdownlint-cli2-action.git synced 2024-10-16 12:07:01 +02:00

Update dependencies: @actions/core to 1.4.0, markdownlint-cli2 to 0.1.3.

This commit is contained in:
David Anson 2021-07-22 21:59:18 -07:00
parent f67293411f
commit 7ae07668c9
2 changed files with 370 additions and 91 deletions

457
dist/index.js vendored
View file

@ -6,14 +6,27 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.issue = exports.issueCommand = void 0;
const os = __importStar(__nccwpck_require__(2087));
const utils_1 = __nccwpck_require__(5278);
/**
@ -92,6 +105,25 @@ function escapeProperty(s) {
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@ -101,14 +133,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;
const command_1 = __nccwpck_require__(7351);
const file_command_1 = __nccwpck_require__(717);
const utils_1 = __nccwpck_require__(5278);
@ -175,7 +201,9 @@ function addPath(inputPath) {
}
exports.addPath = addPath;
/**
* Gets the value of an input. The value is also trimmed.
* Gets the value of an input.
* Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.
* Returns an empty string if the value is not defined.
*
* @param name name of the input to get
* @param options optional. See InputOptions.
@ -186,9 +214,49 @@ function getInput(name, options) {
if (options && options.required && !val) {
throw new Error(`Input required and not supplied: ${name}`);
}
if (options && options.trimWhitespace === false) {
return val;
}
return val.trim();
}
exports.getInput = getInput;
/**
* Gets the values of an multiline input. Each value is also trimmed.
*
* @param name name of the input to get
* @param options optional. See InputOptions.
* @returns string[]
*
*/
function getMultilineInput(name, options) {
const inputs = getInput(name, options)
.split('\n')
.filter(x => x !== '');
return inputs;
}
exports.getMultilineInput = getMultilineInput;
/**
* Gets the input value of the boolean type in the YAML 1.2 "core schema" specification.
* Support boolean input list: `true | True | TRUE | false | False | FALSE` .
* The return value is also in boolean type.
* ref: https://yaml.org/spec/1.2/spec.html#id2804923
*
* @param name name of the input to get
* @param options optional. See InputOptions.
* @returns boolean
*/
function getBooleanInput(name, options) {
const trueValue = ['true', 'True', 'TRUE'];
const falseValue = ['false', 'False', 'FALSE'];
const val = getInput(name, options);
if (trueValue.includes(val))
return true;
if (falseValue.includes(val))
return false;
throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` +
`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``);
}
exports.getBooleanInput = getBooleanInput;
/**
* Sets the value of an output.
*
@ -339,14 +407,27 @@ exports.getState = getState;
"use strict";
// For internal use, subject to change.
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
result["default"] = mod;
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.issueCommand = void 0;
// We use any as a valid input type
/* eslint-disable @typescript-eslint/no-explicit-any */
const fs = __importStar(__nccwpck_require__(5747));
@ -377,6 +458,7 @@ exports.issueCommand = issueCommand;
// We use any as a valid input type
/* eslint-disable @typescript-eslint/no-explicit-any */
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.toCommandValue = void 0;
/**
* Sanitizes an input into a string so it can be passed into issueCommand safely
* @param input input to sanitize into a string
@ -12652,24 +12734,34 @@ module.exports = appendToArray;
// @ts-ignore
// eslint-disable-next-line camelcase, max-len, no-inline-comments, no-undef
const dynamicRequire = (typeof require === "undefined") ? require : /* c8 ignore next */ eval("require");
// Capture native require implementation for dynamic loading of modules
// Requires
const fs = __nccwpck_require__(5747).promises;
const path = __nccwpck_require__(5622);
const globby = __nccwpck_require__(3398);
const markdownlintLibraryName = "markdownlint";
const markdownlintLibrary = __nccwpck_require__(3611);
const { markdownlint, "readConfig": markdownlintReadConfig } =
markdownlintLibrary.promises;
const markdownlintRuleHelpers = __nccwpck_require__(2870);
const appendToArray = __nccwpck_require__(3112);
const mergeOptions = __nccwpck_require__(9307);
const resolveAndRequire = __nccwpck_require__(3924);
// Variables
const packageName = "markdownlint-cli2";
const packageVersion = "0.0.14";
const packageVersion = "0.1.3";
const libraryName = "markdownlint";
const libraryVersion = markdownlintLibrary.getVersion();
const dotOnlySubstitute = "*.{md,markdown}";
const utf8 = "utf8";
// No-op function
const noop = () => null;
// Parse JSONC text
const jsoncParse = (text) => JSON.parse(__nccwpck_require__(2562)(text));
@ -12679,9 +12771,12 @@ const yamlParse = (text) => __nccwpck_require__(3552).parse(text);
// Negate a glob
const negateGlob = (glob) => `!${glob}`;
// Return a posix path (even on Windows)
const posixPath = (p) => p.split(path.sep).join(path.posix.sep);
// Read a JSON(C) or YAML file and return the object
const readConfig = (dir, name, otherwise) => {
const file = path.join(dir, name);
const file = path.posix.join(dir, name);
return () => fs.access(file).
then(
// @ts-ignore
@ -12693,18 +12788,21 @@ const readConfig = (dir, name, otherwise) => {
// Require a module ID with the specified directory in the path
const requireResolve = (dir, id) => {
if (typeof id === "string") {
const paths = [ dir, ...require.resolve.paths("") ];
const resolved = require.resolve(id, { paths });
return require(resolved);
return resolveAndRequire(dynamicRequire, id, dir);
}
return id;
};
// Require an array of modules by ID
const requireIds = (dir, ids) => ids.map((id) => requireResolve(dir, id));
const requireIds = (dir, ids, noRequire) => (
noRequire ? [] : ids.map((id) => requireResolve(dir, id))
);
// Require an array of modules by ID (preserving parameters)
const requireIdsAndParams = (dir, idsAndParams) => {
const requireIdsAndParams = (dir, idsAndParams, noRequire) => {
if (noRequire) {
return [];
}
const ids = idsAndParams.map((entry) => entry[0]);
const modules = requireIds(dir, ids);
const modulesAndParams = idsAndParams.
@ -12713,12 +12811,13 @@ const requireIdsAndParams = (dir, idsAndParams) => {
};
// Require a JS file and return the exported object
const requireConfig = (dir, name, otherwise) => {
const file = path.join(dir, name);
return () => fs.access(file).
const requireConfig = (dir, name, noRequire) => {
const file = path.posix.join(dir, name);
// eslint-disable-next-line prefer-promise-reject-errors
return () => (noRequire ? Promise.reject() : fs.access(file)).
then(
() => requireResolve(dir, `./${name}`),
otherwise
noop
);
};
@ -12774,7 +12873,7 @@ $ ${name} "**/*.md" "#node_modules"`
};
// Get (creating if necessary) and process a directory's info object
const getAndProcessDirInfo = (tasks, dirToDirInfo, dir, func) => {
const getAndProcessDirInfo = (tasks, dirToDirInfo, dir, noRequire, func) => {
let dirInfo = dirToDirInfo[dir];
if (!dirInfo) {
dirInfo = {
@ -12787,8 +12886,10 @@ const getAndProcessDirInfo = (tasks, dirToDirInfo, dir, func) => {
dirToDirInfo[dir] = dirInfo;
// Load markdownlint-cli2 object(s)
const markdownlintCli2Jsonc = path.join(dir, ".markdownlint-cli2.jsonc");
const markdownlintCli2Yaml = path.join(dir, ".markdownlint-cli2.yaml");
const markdownlintCli2Jsonc =
path.posix.join(dir, ".markdownlint-cli2.jsonc");
const markdownlintCli2Yaml =
path.posix.join(dir, ".markdownlint-cli2.yaml");
tasks.push(
fs.access(markdownlintCli2Jsonc).
then(
@ -12799,7 +12900,7 @@ const getAndProcessDirInfo = (tasks, dirToDirInfo, dir, func) => {
requireConfig(
dir,
".markdownlint-cli2.js",
() => null
noRequire
)
)
).
@ -12825,7 +12926,7 @@ const getAndProcessDirInfo = (tasks, dirToDirInfo, dir, func) => {
requireConfig(
dir,
".markdownlint.js",
() => null
noRequire
)
)
)
@ -12845,16 +12946,18 @@ const getAndProcessDirInfo = (tasks, dirToDirInfo, dir, func) => {
};
// Get base markdownlint-cli2 options object
const getBaseOptions = async (globPatterns, fixDefault) => {
const getBaseOptions =
async (baseDir, globPatterns, optionsDefault, fixDefault, noRequire) => {
const tasks = [];
const dirToDirInfo = {};
getAndProcessDirInfo(tasks, dirToDirInfo, ".");
getAndProcessDirInfo(tasks, dirToDirInfo, baseDir, noRequire);
await Promise.all(tasks);
// eslint-disable-next-line no-multi-assign
const baseMarkdownlintOptions = dirToDirInfo["."].markdownlintOptions = {
"fix": fixDefault,
...dirToDirInfo["."].markdownlintOptions
};
const baseMarkdownlintOptions = dirToDirInfo[baseDir].markdownlintOptions =
mergeOptions(
mergeOptions(optionsDefault, { "fix": fixDefault }),
dirToDirInfo[baseDir].markdownlintOptions
);
// Append any globs specified in markdownlint-cli2 configuration
const globs = baseMarkdownlintOptions.globs || [];
@ -12862,7 +12965,6 @@ const getBaseOptions = async (globPatterns, fixDefault) => {
// Pass base ignore globs as globby patterns (best performance)
const ignorePatterns =
// eslint-disable-next-line unicorn/no-array-callback-reference
(baseMarkdownlintOptions.ignores || []).map(negateGlob);
appendToArray(globPatterns, ignorePatterns);
delete baseMarkdownlintOptions.ignores;
@ -12874,12 +12976,17 @@ const getBaseOptions = async (globPatterns, fixDefault) => {
};
// Enumerate files from globs and build directory infos
const enumerateFiles = async (globPatterns, dirToDirInfo) => {
const enumerateFiles =
async (baseDir, globPatterns, dirToDirInfo, noRequire) => {
const tasks = [];
for await (const file of globby.stream(globPatterns)) {
const globbyOptions = {
"absolute": true,
"cwd": baseDir
};
for await (const file of globby.stream(globPatterns, globbyOptions)) {
// @ts-ignore
const dir = path.dirname(file);
getAndProcessDirInfo(tasks, dirToDirInfo, dir, (dirInfo) => {
const dir = path.posix.dirname(file);
getAndProcessDirInfo(tasks, dirToDirInfo, dir, noRequire, (dirInfo) => {
dirInfo.files.push(file);
});
}
@ -12887,27 +12994,47 @@ const enumerateFiles = async (globPatterns, dirToDirInfo) => {
};
// Enumerate (possibly missing) parent directories and update directory infos
const enumerateParents = async (dirToDirInfo) => {
const enumerateParents = async (baseDir, dirToDirInfo, noRequire) => {
const tasks = [];
// Create a lookup of baseDir and parents
const baseDirParents = {};
let baseDirParent = baseDir;
do {
baseDirParents[baseDirParent] = true;
baseDirParent = path.posix.dirname(baseDirParent);
} while (!baseDirParents[baseDirParent]);
// Visit parents of each dirInfo
for (let lastDirInfo of Object.values(dirToDirInfo)) {
let { dir } = lastDirInfo;
let lastDir = dir;
while ((dir = path.dirname(dir)) && (dir !== lastDir)) {
while (
!baseDirParents[dir] &&
(dir = path.posix.dirname(dir)) &&
(dir !== lastDir)
) {
lastDir = dir;
lastDirInfo =
// eslint-disable-next-line no-loop-func
getAndProcessDirInfo(tasks, dirToDirInfo, dir, (dirInfo) => {
getAndProcessDirInfo(tasks, dirToDirInfo, dir, noRequire, (dirInfo) => {
lastDirInfo.parent = dirInfo;
});
}
// If dir not under baseDir, inject it as parent for configuration
if (dir !== baseDir) {
dirToDirInfo[dir].parent = dirToDirInfo[baseDir];
}
}
await Promise.all(tasks);
};
// Create directory info objects by enumerating file globs
const createDirInfos = async (globPatterns, dirToDirInfo) => {
await enumerateFiles(globPatterns, dirToDirInfo);
await enumerateParents(dirToDirInfo);
const createDirInfos =
async (baseDir, globPatterns, dirToDirInfo, optionsOverride, noRequire) => {
await enumerateFiles(baseDir, globPatterns, dirToDirInfo, noRequire);
await enumerateParents(baseDir, dirToDirInfo, noRequire);
// Merge file lists with identical configuration
const dirs = Object.keys(dirToDirInfo);
@ -12928,11 +13055,23 @@ const createDirInfos = async (globPatterns, dirToDirInfo) => {
dirToDirInfo[dir] = null;
} else {
const { markdownlintOptions } = dirInfo;
if (markdownlintOptions) {
markdownlintOptions.customRules =
requireIds(dir, markdownlintOptions.customRules || []);
if (markdownlintOptions && markdownlintOptions.customRules) {
const customRules =
requireIds(
dir,
markdownlintOptions.customRules,
noRequire
);
// Expand nested arrays (for packages that export multiple rules)
markdownlintOptions.customRules = [].concat(...customRules);
}
if (markdownlintOptions && markdownlintOptions.markdownItPlugins) {
markdownlintOptions.markdownItPlugins =
requireIdsAndParams(dir, markdownlintOptions.markdownItPlugins || []);
requireIdsAndParams(
dir,
markdownlintOptions.markdownItPlugins,
noRequire
);
}
dirInfos.push(dirInfo);
}
@ -12944,19 +13083,31 @@ const createDirInfos = async (globPatterns, dirToDirInfo) => {
}
// Verify dirInfos is simplified
// if (dirInfos.filter(
// (di) => di.parent && !dirInfos.includes(di.parent)).length > 0
// if (
// dirInfos.filter(
// (di) => di.parent && !dirInfos.includes(di.parent)
// ).length > 0
// ) {
// throw new Error("Extra parent");
// }
// if (
// dirInfos.filter(
// (di) => !di.parent && (di.dir !== baseDir)
// ).length > 0
// ) {
// throw new Error("Missing parent");
// }
// if (
// dirInfos.filter(
// (di) => di.parent &&
// !((di.markdownlintConfig ? 1 : 0) ^ (di.markdownlintOptions ? 1 : 0))
// ).length > 0
// ) {
// throw new Error("Missing object");
// }
// if (dirInfos.filter((di) => di.dir === "/").length > 0) {
// throw new Error("Includes root");
// }
// Merge configuration by inheritance
for (const dirInfo of dirInfos) {
@ -12966,15 +13117,10 @@ const createDirInfos = async (globPatterns, dirToDirInfo) => {
// eslint-disable-next-line prefer-destructuring
while ((parent = parent.parent)) {
if (parent.markdownlintOptions) {
const config = {
...parent.markdownlintOptions.config,
...markdownlintOptions.config
};
markdownlintOptions = {
...parent.markdownlintOptions,
...markdownlintOptions,
config
};
markdownlintOptions = mergeOptions(
parent.markdownlintOptions,
markdownlintOptions
);
}
if (
!markdownlintConfig &&
@ -12985,29 +13131,43 @@ const createDirInfos = async (globPatterns, dirToDirInfo) => {
markdownlintConfig = parent.markdownlintConfig;
}
}
dirInfo.markdownlintOptions = markdownlintOptions;
dirInfo.markdownlintOptions = mergeOptions(
markdownlintOptions,
optionsOverride
);
dirInfo.markdownlintConfig = markdownlintConfig;
}
return dirInfos;
};
// Lint files in groups by shared configuration
const lintFiles = async (dirInfos) => {
const lintFiles = (dirInfos, fileContents) => {
const tasks = [];
// For each dirInfo
for (const dirInfo of dirInfos) {
const { dir, files, markdownlintConfig, markdownlintOptions } = dirInfo;
let filteredFiles = files;
// Filter file/string inputs to only those in the dirInfo
const filteredFileContents = {};
for (const file in fileContents) {
if (files.includes(file)) {
filteredFileContents[file] = fileContents[file];
}
}
let filteredFiles = files.filter(
(file) => fileContents[file] === undefined
);
if (markdownlintOptions.ignores) {
// eslint-disable-next-line unicorn/no-array-callback-reference
const ignores = markdownlintOptions.ignores.map(negateGlob);
const micromatch = __nccwpck_require__(6228);
filteredFiles = micromatch(
files.map((file) => path.relative(dir, file)),
files.map((file) => path.posix.relative(dir, file)),
ignores
).map((file) => path.join(dir, file));
).map((file) => path.posix.join(dir, file));
}
// Create markdownlint options object
const options = {
"files": filteredFiles,
"strings": filteredFileContents,
"config": markdownlintConfig || markdownlintOptions.config,
"customRules": markdownlintOptions.customRules,
"frontMatter": markdownlintOptions.frontMatter
@ -13018,7 +13178,10 @@ const lintFiles = async (dirInfos) => {
"noInlineConfig": Boolean(markdownlintOptions.noInlineConfig),
"resultVersion": 3
};
// Invoke markdownlint
// @ts-ignore
let task = markdownlint(options);
// For any fixable errors, read file, apply fixes, and write it back
if (markdownlintOptions.fix) {
task = task.then((results) => {
options.files = [];
@ -13040,6 +13203,7 @@ const lintFiles = async (dirInfos) => {
}
}
return Promise.all(subTasks).
// @ts-ignore
then(() => markdownlint(options)).
then((fixResults) => ({
...results,
@ -13047,26 +13211,24 @@ const lintFiles = async (dirInfos) => {
}));
});
}
// Queue tasks for this dirInfo
tasks.push(task);
}
const taskResults = await Promise.all(tasks);
return taskResults;
// Return result of all tasks
return Promise.all(tasks);
};
// Create summary of results
const createSummary = (taskResults) => {
const createSummary = (baseDir, taskResults) => {
const summary = [];
let counter = 0;
for (const results of taskResults) {
for (const fileName in results) {
const errorInfos = results[fileName];
for (const errorInfo of errorInfos) {
const fileNameRelativePosix = path.
relative("", fileName).
split(path.sep).
join(path.posix.sep);
const fileNameRelative = path.posix.relative(baseDir, fileName);
summary.push({
"fileName": fileNameRelativePosix,
"fileName": fileNameRelative,
...errorInfo,
counter
});
@ -13088,16 +13250,17 @@ const createSummary = (taskResults) => {
// Output summary via formatters
const outputSummary =
async (summary, outputFormatters, logMessage, logError) => {
async (baseDir, summary, outputFormatters, logMessage, logError) => {
const errorsPresent = (summary.length > 0);
if (errorsPresent || outputFormatters) {
const formatterOptions = {
"directory": baseDir,
"results": summary,
logMessage,
logError
};
const formattersAndParams = outputFormatters
? requireIdsAndParams(".", outputFormatters)
? requireIdsAndParams(baseDir, outputFormatters)
: [ [ __nccwpck_require__(8552) ] ];
await Promise.all(formattersAndParams.map((formatterAndParams) => {
const [ formatter, ...formatterParams ] = formatterAndParams;
@ -13109,23 +13272,70 @@ const outputSummary =
// Main function
const main = async (params) => {
const { argv, logMessage, logError, fixDefault } = params;
// Capture parameters
const {
directory,
argv,
optionsDefault,
optionsOverride,
fixDefault,
fileContents,
nonFileContents,
noRequire
} = params;
const logMessage = params.logMessage || noop;
const logError = params.logError || noop;
const baseDirSystem =
(directory && path.resolve(directory)) ||
process.cwd();
const baseDir = posixPath(baseDirSystem);
// Output banner
logMessage(
`${packageName} v${packageVersion} ` +
`(${markdownlintLibraryName} v${libraryVersion})`
`${packageName} v${packageVersion} (${libraryName} v${libraryVersion})`
);
// Process arguments and get base options
const globPatterns = processArgv(argv);
const { baseMarkdownlintOptions, dirToDirInfo } =
await getBaseOptions(globPatterns, fixDefault);
if (globPatterns.length === 0) {
await getBaseOptions(
baseDir,
globPatterns,
optionsDefault,
fixDefault,
noRequire
);
if ((globPatterns.length === 0) && !nonFileContents) {
showHelp(logMessage);
return 1;
}
// Include any file overrides or non-file content
const resolvedFileContents = {};
for (const file in fileContents) {
const resolvedFile = posixPath(path.resolve(baseDirSystem, file));
resolvedFileContents[resolvedFile] =
fileContents[file];
}
for (const nonFile in nonFileContents) {
resolvedFileContents[nonFile] = nonFileContents[nonFile];
}
appendToArray(
dirToDirInfo[baseDir].files,
Object.keys(nonFileContents || {})
);
// Output finding status
const showProgress = !baseMarkdownlintOptions.noProgress;
if (showProgress) {
logMessage(`Finding: ${globPatterns.join(" ")}`);
}
const dirInfos = await createDirInfos(globPatterns, dirToDirInfo);
// Create linting tasks
const dirInfos =
await createDirInfos(
baseDir,
globPatterns,
dirToDirInfo,
optionsOverride,
noRequire
);
// Output linting status
if (showProgress) {
let fileCount = 0;
for (const dirInfo of dirInfos) {
@ -13133,14 +13343,20 @@ const main = async (params) => {
}
logMessage(`Linting: ${fileCount} file(s)`);
}
const lintResults = await lintFiles(dirInfos);
const summary = createSummary(lintResults);
// Lint files
const lintResults = await lintFiles(dirInfos, resolvedFileContents);
// Output summary
const summary = createSummary(baseDir, lintResults);
if (showProgress) {
logMessage(`Summary: ${summary.length} error(s)`);
}
const { outputFormatters } = baseMarkdownlintOptions;
const errorsPresent =
await outputSummary(summary, outputFormatters, logMessage, logError);
const outputFormatters =
(optionsOverride && optionsOverride.outputFormatters) ||
baseMarkdownlintOptions.outputFormatters;
const errorsPresent = await outputSummary(
baseDir, summary, outputFormatters, logMessage, logError
);
// Return result
return errorsPresent ? 1 : 0;
};
@ -13176,6 +13392,69 @@ module.exports = {
if (false) {}
/***/ }),
/***/ 9307:
/***/ ((module) => {
"use strict";
// @ts-check
/**
* Merges two options objects by combining config and replacing properties.
* @param {Object} first First options object.
* @param {Object} second Second options object.
* @returns {Object} Merged options object.
*/
const mergeOptions = (first, second) => {
const merged = {
...first,
...second
};
const firstConfig = first && first.config;
const secondConfig = second && second.config;
if (firstConfig || secondConfig) {
merged.config = {
...firstConfig,
...secondConfig
};
}
return merged;
};
module.exports = mergeOptions;
/***/ }),
/***/ 3924:
/***/ ((module) => {
"use strict";
// @ts-check
/**
* Wrapper for calling Node's require.resolve/require with an additional path.
*
* @param {Object} req Node's require function (or equivalent).
* @param {*} id Package identifier to require.
* @param {*} dir Directory to include when resolving paths.
* @returns {Object} Exported module content.
*/
const resolveAndRequire = (req, id, dir) => {
const resolvePaths = req.resolve.paths ? req.resolve.paths("") : [];
const paths = [ dir, ...resolvePaths ];
const resolved = req.resolve(id, { paths });
return req(resolved);
};
module.exports = resolveAndRequire;
/***/ }),
/***/ 2870:
@ -29158,7 +29437,7 @@ module.exports = JSON.parse('{"Aacute":"Á","aacute":"á","Abreve":"Ă","abreve"
/***/ ((module) => {
"use strict";
module.exports = JSON.parse('{"name":"markdownlint-cli2","version":"0.0.14","description":"A fast, flexible, configuration-based command-line interface for linting Markdown/CommonMark files with the `markdownlint` library","author":{"name":"David Anson","url":"https://dlaa.me/"},"license":"MIT","main":"markdownlint-cli2.js","bin":{"markdownlint-cli2":"markdownlint-cli2.js","markdownlint-cli2-fix":"markdownlint-cli2-fix.js"},"homepage":"https://github.com/DavidAnson/markdownlint-cli2","repository":{"type":"git","url":"https://github.com/DavidAnson/markdownlint-cli2.git"},"bugs":"https://github.com/DavidAnson/markdownlint-cli2/issues","scripts":{"ci":"npm-run-all --continue-on-error --parallel test-cover lint","lint":"eslint --max-warnings 0 .","lint-watch":"git ls-files | entr npm run lint","test":"ava test/*.js","test-cover":"c8 --check-coverage --branches 100 --functions 100 --lines 100 --statements 100 npm test","test-watch":"git ls-files | entr npm run test"},"engines":{"node":">=10.17.0"},"files":["append-to-array.js","markdownlint-cli2.js","markdownlint-cli2-fix.js"],"dependencies":{"globby":"~11.0.2","markdownlint":"~0.23.1","markdownlint-cli2-formatter-default":"~0.0.2","markdownlint-rule-helpers":"~0.14.0","micromatch":"~4.0.2","strip-json-comments":"~3.1.1","yaml":"~1.10.0"},"devDependencies":{"@iktakahiro/markdown-it-katex":"~4.0.1","ava":"~3.15.0","c8":"~7.6.0","cpy":"~8.1.1","del":"~6.0.0","eslint":"~7.20.0","eslint-plugin-node":"~11.1.0","eslint-plugin-unicorn":"~28.0.1","execa":"~5.0.0","markdown-it-emoji":"~2.0.0","markdown-it-for-inline":"~0.1.1","markdownlint-cli2-formatter-json":"~0.0.3","markdownlint-cli2-formatter-junit":"~0.0.2","markdownlint-cli2-formatter-pretty":"~0.0.2","markdownlint-cli2-formatter-summarize":"~0.0.3","markdownlint-rule-titlecase":"~0.1.0","npm-run-all":"~4.1.5"},"keywords":["markdown","lint","cli","md","CommonMark","markdownlint"]}');
module.exports = JSON.parse('{"name":"markdownlint-cli2","version":"0.1.3","description":"A fast, flexible, configuration-based command-line interface for linting Markdown/CommonMark files with the `markdownlint` library","author":{"name":"David Anson","url":"https://dlaa.me/"},"license":"MIT","main":"markdownlint-cli2.js","bin":{"markdownlint-cli2":"markdownlint-cli2.js","markdownlint-cli2-fix":"markdownlint-cli2-fix.js"},"homepage":"https://github.com/DavidAnson/markdownlint-cli2","repository":{"type":"git","url":"https://github.com/DavidAnson/markdownlint-cli2.git"},"bugs":"https://github.com/DavidAnson/markdownlint-cli2/issues","scripts":{"ci":"npm-run-all --continue-on-error --parallel test-cover lint","lint":"eslint --max-warnings 0 .","lint-watch":"git ls-files | entr npm run lint","test":"ava test/append-to-array-test.js test/markdownlint-cli2-test.js test/markdownlint-cli2-test-exec.js test/markdownlint-cli2-test-main.js test/merge-options-test.js test/resolve-and-require-test.js","test-cover":"c8 --check-coverage --branches 100 --functions 100 --lines 100 --statements 100 npm test","test-watch":"git ls-files | entr npm run test"},"engines":{"node":">=10.17.0"},"files":["append-to-array.js","markdownlint-cli2.js","markdownlint-cli2-fix.js","merge-options.js","resolve-and-require.js"],"dependencies":{"globby":"~11.0.3","markdownlint":"~0.23.1","markdownlint-cli2-formatter-default":"^0.0.2","markdownlint-rule-helpers":"~0.14.0","micromatch":"~4.0.2","strip-json-comments":"~3.1.1","yaml":"~1.10.2"},"devDependencies":{"@iktakahiro/markdown-it-katex":"~4.0.1","ava":"~3.15.0","c8":"~7.7.0","cpy":"~8.1.2","del":"~6.0.0","eslint":"~7.23.0","eslint-plugin-node":"~11.1.0","eslint-plugin-unicorn":"~29.0.0","execa":"~5.0.0","markdown-it-emoji":"~2.0.0","markdown-it-for-inline":"~0.1.1","markdownlint-cli2-formatter-json":"^0.0.4","markdownlint-cli2-formatter-junit":"^0.0.3","markdownlint-cli2-formatter-pretty":"^0.0.2","markdownlint-cli2-formatter-summarize":"^0.0.3","markdownlint-rule-titlecase":"~0.1.0","npm-run-all":"~4.1.5"},"keywords":["markdown","lint","cli","md","CommonMark","markdownlint"]}');
/***/ }),

View file

@ -17,8 +17,8 @@
"test": "eslint *.js"
},
"dependencies": {
"@actions/core": "~1.2.6",
"markdownlint-cli2": "^0.0.14"
"@actions/core": "~1.4.0",
"markdownlint-cli2": "~0.1.3"
},
"devDependencies": {
"@vercel/ncc": "~0.29.0",