@diplodoc/cli 4.57.5 → 4.57.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.js CHANGED
@@ -251496,7 +251496,7 @@ var Build = class extends (_a2 = import_program11.BaseProgram, _process_dec = [i
251496
251496
  this.run.logger.proc(entry);
251497
251497
  this.run.meta.add(entry, {
251498
251498
  metadata: {
251499
- generator: `Diplodoc Platform v${"4.57.5"}`
251499
+ generator: `Diplodoc Platform v${"4.57.6"}`
251500
251500
  }
251501
251501
  });
251502
251502
  const info2 = await this.process(entry);
@@ -257740,7 +257740,7 @@ var Program = class extends (_a8 = import_program17.BaseProgram) {
257740
257740
  super(...arguments);
257741
257741
  this.name = "Program";
257742
257742
  this.command = new import_config52.Command(NAME).helpOption(true).allowUnknownOption(false).version(
257743
- false ? "" : "4.57.5",
257743
+ false ? "" : "4.57.6",
257744
257744
  "--version",
257745
257745
  "Output the version number"
257746
257746
  ).usage(USAGE);
@@ -257767,7 +257767,7 @@ if (require.main === module) {
257767
257767
  (async () => {
257768
257768
  console.time(MAIN_TIMER_ID);
257769
257769
  if (process.env.NODE_ENV !== "test") {
257770
- console.log(`Using v${"4.57.5"} version`);
257770
+ console.log(`Using v${"4.57.6"} version`);
257771
257771
  }
257772
257772
  let exitCode = 0;
257773
257773
  try {
package/build/index.mjs CHANGED
@@ -251489,7 +251489,7 @@ var Build = class extends (_a2 = BaseProgram, _process_dec = [bounded3], _a2) {
251489
251489
  this.run.logger.proc(entry);
251490
251490
  this.run.meta.add(entry, {
251491
251491
  metadata: {
251492
- generator: `Diplodoc Platform v${"4.57.5"}`
251492
+ generator: `Diplodoc Platform v${"4.57.6"}`
251493
251493
  }
251494
251494
  });
251495
251495
  const info2 = await this.process(entry);
@@ -257753,7 +257753,7 @@ var Program = class extends (_a8 = BaseProgram6) {
257753
257753
  super(...arguments);
257754
257754
  this.name = "Program";
257755
257755
  this.command = new Command7(NAME).helpOption(true).allowUnknownOption(false).version(
257756
- false ? "" : "4.57.5",
257756
+ false ? "" : "4.57.6",
257757
257757
  "--version",
257758
257758
  "Output the version number"
257759
257759
  ).usage(USAGE);
@@ -257780,7 +257780,7 @@ if (__require.main === module) {
257780
257780
  (async () => {
257781
257781
  console.time(MAIN_TIMER_ID);
257782
257782
  if (process.env.NODE_ENV !== "test") {
257783
- console.log(`Using v${"4.57.5"} version`);
257783
+ console.log(`Using v${"4.57.6"} version`);
257784
257784
  }
257785
257785
  let exitCode = 0;
257786
257786
  try {
@@ -388,7 +388,7 @@ function filterTokens(tokens, type, handler) {
388
388
  if (token.type === type) {
389
389
  const result = handler(token, { commented, index });
390
390
  if (result?.skip) {
391
- index += result?.skip;
391
+ index += result?.skip - 1;
392
392
  }
393
393
  }
394
394
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/core/utils/index.ts", "../../src/core/utils/common.ts", "../../src/core/utils/decorators.ts", "../../src/core/utils/extension.ts", "../../src/core/utils/path.ts", "../../src/core/utils/url.ts", "../../src/core/utils/markdown.ts"],
4
- "sourcesContent": ["export * from './common';\nexport * from './decorators';\nexport * from './extension';\nexport * from './path';\nexport * from './url';\nexport * from './markdown';\n", "import {isObject} from 'lodash';\nimport {bounded} from './decorators';\n\nexport const all = Promise.all.bind(Promise);\n\nexport function zip<T = unknown>(keys: string[], values: T[]) {\n return keys.reduce((acc, key, index) => {\n acc[key] = values[index];\n return acc;\n }, {} as Hash<T>);\n}\n\nexport function own<V = unknown, T extends string = string>(\n box: unknown,\n field: T,\n): box is Record<T, V> {\n return (\n Boolean(box && typeof box === 'object') && Object.prototype.hasOwnProperty.call(box, field)\n );\n}\n\nexport function copyJson<T extends object>(\n json: T | undefined,\n): T extends DeepFrozen<infer R> ? R : T | undefined {\n return json ? JSON.parse(JSON.stringify(json)) : json;\n}\n\nexport function freezeJson<T>(target: T, visited = new Set()): T {\n if (!visited.has(target)) {\n visited.add(target);\n\n if (Array.isArray(target)) {\n target.forEach((item) => freezeJson(item, visited));\n }\n\n if (isObject(target) && !Object.isSealed(target)) {\n Object.freeze(target);\n Object.keys(target).forEach((key) =>\n freezeJson(target[key as keyof typeof target], visited),\n );\n }\n }\n\n return target;\n}\n\nexport function errorMessage(error: unknown): string {\n if (typeof error === 'string') {\n return error;\n }\n\n if (own<string, 'message'>(error, 'message')) {\n return error.message;\n }\n\n return String(error);\n}\n\nexport function fallbackLang(lang: string) {\n if (['kz', 'ua', 'be', 'ru'].includes(lang)) {\n return 'ru';\n }\n\n return 'en';\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class Defer<T = any> {\n promise: Promise<T>;\n\n resolve!: (result: T) => void;\n\n reject!: (error: unknown) => void;\n\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n\nexport function wait(delay: number) {\n return new Promise((resolve) => {\n setTimeout(resolve, delay);\n });\n}\n\nexport type Bucket<T> = {\n get(): T;\n set(value: T): void;\n};\n\nexport function bucket<T>() {\n let _value: T;\n\n return {\n get: () => _value,\n set: (value: T) => {\n _value = value;\n },\n };\n}\n\nexport class Buckets<T> {\n private scope: Map<string, T> = new Map();\n\n @bounded\n bind(key: string) {\n return {\n get: () => this.get(key),\n set: (value: T) => this.set(key, value),\n };\n }\n\n @bounded\n set(key: string, value: T) {\n this.scope.set(key, value);\n }\n\n @bounded\n get(key: string): T {\n return this.scope.get(key) as T;\n }\n}\n", "export function bounded(_originalMethod: unknown, context: ClassMethodDecoratorContext) {\n const methodName = context.name;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n context.addInitializer(function (this: any) {\n this[methodName] = this[methodName].bind(this);\n });\n}\n\nexport function memoize(...props: string[] | [Function]) {\n return function (_originalMethod: unknown, context: ClassMethodDecoratorContext) {\n const methodName = context.name;\n const hash =\n typeof props[0] === 'function'\n ? props[0]\n : function (...args: unknown[]) {\n const mem = args.slice(0, props.length);\n if (!mem.every(isPrimitive)) {\n return null;\n }\n\n return props.map((prop, index) => `${prop}=${mem[index]}`).join('&');\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n context.addInitializer(function (this: any) {\n const cache = new Map();\n const method = this[methodName];\n\n this[methodName] = function (this: unknown, ...args: unknown[]) {\n const key = hash.call(this, ...args);\n\n if (key === null) {\n return method.call(this, ...args);\n }\n\n if (!cache.has(key)) {\n cache.set(key, method.call(this, ...args));\n }\n\n return cache.get(key);\n };\n });\n };\n}\n\nconst PRIMITIVE_TYPES = ['string', 'number', 'symbol', 'boolean', 'undefined'];\n\nfunction isPrimitive(value: unknown) {\n return !value || PRIMITIVE_TYPES.includes(typeof value);\n}\n", "import type {Hook, HookMap} from 'tapable';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Hooks = Hash<Hook<any, any> | HookMap<any>>;\n\nexport function generateHooksAccess<THooks extends Hooks>(\n name: string,\n hooks: (name: string) => THooks,\n) {\n const Hooks = Symbol(`${name}Hooks`);\n\n function getHooks(program: object | undefined): THooks {\n return (program && (program as {[Hooks]: THooks})[Hooks]) || hooks('Unknown');\n }\n\n function withHooks<T extends ClassType>(Target: T, {kind}: ClassDecoratorContext): T {\n if (kind !== 'class') {\n throw new TypeError(`Decorator 'withHooks' is not applicable to '${kind}'.`);\n }\n\n return class extends Target {\n [Hooks] = intercept(this.name, hooks(this.name || name));\n };\n }\n\n return [getHooks, withHooks, Hooks] as const;\n}\n\nexport type HookMeta = {\n service: string;\n hook: string;\n name: string;\n type: string;\n};\n\nexport function intercept<T extends Hooks>(service: string, hooks: T): T {\n for (const [hook, handler] of Object.entries(hooks)) {\n handler.intercept({\n register: (info) => {\n const {type, name, fn} = info;\n const meta = {service, hook, name, type};\n\n if (type === 'promise') {\n info.fn = async (...args: unknown[]) => {\n try {\n return await fn(...args);\n } catch (error) {\n if (error instanceof Error) {\n Object.assign(error, {hook: meta});\n }\n\n throw error;\n }\n };\n } else if (type === 'sync') {\n info.fn = (...args: unknown[]) => {\n try {\n return fn(...args);\n } catch (error) {\n if (error instanceof Error) {\n Object.assign(error, {hook: meta});\n }\n\n throw error;\n }\n };\n } else {\n throw new TypeError('Unexpected hook tap type - ' + type);\n }\n\n return info;\n },\n });\n }\n\n return hooks;\n}\n", "import {dirname, isAbsolute, join, normalize} from 'node:path';\nimport _normalizePath from 'normalize-path';\n\nimport {isExternalHref} from '~/core/utils';\n\nexport function normalizePath(path: string): NormalizedPath {\n return _normalizePath(normalize(_normalizePath(path, false)), false);\n}\n\nexport function isRelativePath(path: string): path is RelativePath {\n return !isExternalHref(path) && !isAbsolute(path);\n}\n\nexport function langFromPath(path: string, config: {lang?: string; langs: string[]}) {\n const {lang, langs} = config;\n const pathBaseLang = normalizePath(path).split('/')[0];\n const pathLang = langs.includes(pathBaseLang) && pathBaseLang;\n\n return pathLang || lang || langs[0];\n}\n\nexport function rebasePath(root: RelativePath, path: RelativePath) {\n return normalizePath(join(dirname(root), path));\n}\n\nexport function fullPath(\n path: AbsolutePath | NormalizedPath,\n root: NormalizedPath,\n): NormalizedPath {\n if (path.match(/^(\\/|\\\\)/)) {\n return normalizePath(path.slice(1));\n } else {\n return normalizePath(join(dirname(root), path));\n }\n}\n", "import {pick} from 'lodash';\nimport {type UrlWithStringQuery, parse} from 'node:url';\n\nexport function isExternalHref(href: string) {\n return /^(\\w{1,10}:)?\\/\\//.test(href) || /^([+\\w]{1,10}:)/.test(href);\n}\n\nconst MEDIA_FORMATS = /\\.(svg|png|gif|jpe?g|bmp|webp|ico)$/i;\n\n// TODO: should we deprecate this?\nconst DOC_FORMATS = /\\.(txt|pdf|docx|xlsx|vsd)$/i;\n\nexport function isMediaLink(link: string) {\n return MEDIA_FORMATS.test(link) || DOC_FORMATS.test(link);\n}\n\ntype LocalUrlInfo = Pick<UrlWithStringQuery, 'hash' | 'search'> & {\n path: NormalizedPath;\n};\n\nexport function parseLocalUrl<T = LocalUrlInfo>(url: string | undefined) {\n if (!url || isExternalHref(url) || url.startsWith('/')) {\n return null;\n }\n\n try {\n const parsed = parse(url);\n\n if (parsed.host || parsed.protocol) {\n return null;\n }\n\n return pick(parsed, ['path', 'search', 'hash']) as T;\n } catch {\n return null;\n }\n}\n", "import type Token from 'markdown-it/lib/token';\n\nexport function parseHeading(content: string) {\n const anchors = [];\n const commonHeading = content.match(/^#+/);\n const alternateHeading = content[content.length - 1];\n const alternaleLevels = ['-', '='];\n const level = commonHeading\n ? commonHeading[0].length\n : alternaleLevels.indexOf(alternateHeading) + 1;\n\n if (commonHeading) {\n content = content.replace(/^#+\\s*/, '');\n } else {\n content = content.replace(/\\n[-=]+$/, '');\n }\n\n const ANCHOR = /{(#[^}]+)}/g;\n\n let match;\n // eslint-disable-next-line no-cond-assign\n while ((match = ANCHOR.exec(content))) {\n anchors.push(match[1]);\n content = content.replace(match[0], '');\n ANCHOR.lastIndex -= match[0].length;\n }\n\n const title = content.trim();\n\n return {anchors, title, level};\n}\n\ntype TokenWalker = (\n token: Token,\n state: {commented: boolean; index: number},\n) => void | undefined | {skip: number};\n\nexport function filterTokens(tokens: Token[], type: string, handler: TokenWalker) {\n let commented = false;\n\n if (!tokens || !tokens.length) {\n return;\n }\n\n for (let index = 0; index < tokens.length; index++) {\n const token = tokens[index];\n\n if (token.type === 'html_block') {\n const commentStart = token.content.match('<!--');\n const commentEnd = token.content.match('-->');\n\n if (commentStart && !commentEnd) {\n commented = true;\n }\n\n if (!commentStart && commentEnd) {\n commented = false;\n }\n }\n\n if (token.type === type) {\n const result = handler(token, {commented, index});\n if (result?.skip) {\n index += result?.skip;\n }\n }\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["export * from './common';\nexport * from './decorators';\nexport * from './extension';\nexport * from './path';\nexport * from './url';\nexport * from './markdown';\n", "import {isObject} from 'lodash';\nimport {bounded} from './decorators';\n\nexport const all = Promise.all.bind(Promise);\n\nexport function zip<T = unknown>(keys: string[], values: T[]) {\n return keys.reduce((acc, key, index) => {\n acc[key] = values[index];\n return acc;\n }, {} as Hash<T>);\n}\n\nexport function own<V = unknown, T extends string = string>(\n box: unknown,\n field: T,\n): box is Record<T, V> {\n return (\n Boolean(box && typeof box === 'object') && Object.prototype.hasOwnProperty.call(box, field)\n );\n}\n\nexport function copyJson<T extends object>(\n json: T | undefined,\n): T extends DeepFrozen<infer R> ? R : T | undefined {\n return json ? JSON.parse(JSON.stringify(json)) : json;\n}\n\nexport function freezeJson<T>(target: T, visited = new Set()): T {\n if (!visited.has(target)) {\n visited.add(target);\n\n if (Array.isArray(target)) {\n target.forEach((item) => freezeJson(item, visited));\n }\n\n if (isObject(target) && !Object.isSealed(target)) {\n Object.freeze(target);\n Object.keys(target).forEach((key) =>\n freezeJson(target[key as keyof typeof target], visited),\n );\n }\n }\n\n return target;\n}\n\nexport function errorMessage(error: unknown): string {\n if (typeof error === 'string') {\n return error;\n }\n\n if (own<string, 'message'>(error, 'message')) {\n return error.message;\n }\n\n return String(error);\n}\n\nexport function fallbackLang(lang: string) {\n if (['kz', 'ua', 'be', 'ru'].includes(lang)) {\n return 'ru';\n }\n\n return 'en';\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class Defer<T = any> {\n promise: Promise<T>;\n\n resolve!: (result: T) => void;\n\n reject!: (error: unknown) => void;\n\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n\nexport function wait(delay: number) {\n return new Promise((resolve) => {\n setTimeout(resolve, delay);\n });\n}\n\nexport type Bucket<T> = {\n get(): T;\n set(value: T): void;\n};\n\nexport function bucket<T>() {\n let _value: T;\n\n return {\n get: () => _value,\n set: (value: T) => {\n _value = value;\n },\n };\n}\n\nexport class Buckets<T> {\n private scope: Map<string, T> = new Map();\n\n @bounded\n bind(key: string) {\n return {\n get: () => this.get(key),\n set: (value: T) => this.set(key, value),\n };\n }\n\n @bounded\n set(key: string, value: T) {\n this.scope.set(key, value);\n }\n\n @bounded\n get(key: string): T {\n return this.scope.get(key) as T;\n }\n}\n", "export function bounded(_originalMethod: unknown, context: ClassMethodDecoratorContext) {\n const methodName = context.name;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n context.addInitializer(function (this: any) {\n this[methodName] = this[methodName].bind(this);\n });\n}\n\nexport function memoize(...props: string[] | [Function]) {\n return function (_originalMethod: unknown, context: ClassMethodDecoratorContext) {\n const methodName = context.name;\n const hash =\n typeof props[0] === 'function'\n ? props[0]\n : function (...args: unknown[]) {\n const mem = args.slice(0, props.length);\n if (!mem.every(isPrimitive)) {\n return null;\n }\n\n return props.map((prop, index) => `${prop}=${mem[index]}`).join('&');\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n context.addInitializer(function (this: any) {\n const cache = new Map();\n const method = this[methodName];\n\n this[methodName] = function (this: unknown, ...args: unknown[]) {\n const key = hash.call(this, ...args);\n\n if (key === null) {\n return method.call(this, ...args);\n }\n\n if (!cache.has(key)) {\n cache.set(key, method.call(this, ...args));\n }\n\n return cache.get(key);\n };\n });\n };\n}\n\nconst PRIMITIVE_TYPES = ['string', 'number', 'symbol', 'boolean', 'undefined'];\n\nfunction isPrimitive(value: unknown) {\n return !value || PRIMITIVE_TYPES.includes(typeof value);\n}\n", "import type {Hook, HookMap} from 'tapable';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Hooks = Hash<Hook<any, any> | HookMap<any>>;\n\nexport function generateHooksAccess<THooks extends Hooks>(\n name: string,\n hooks: (name: string) => THooks,\n) {\n const Hooks = Symbol(`${name}Hooks`);\n\n function getHooks(program: object | undefined): THooks {\n return (program && (program as {[Hooks]: THooks})[Hooks]) || hooks('Unknown');\n }\n\n function withHooks<T extends ClassType>(Target: T, {kind}: ClassDecoratorContext): T {\n if (kind !== 'class') {\n throw new TypeError(`Decorator 'withHooks' is not applicable to '${kind}'.`);\n }\n\n return class extends Target {\n [Hooks] = intercept(this.name, hooks(this.name || name));\n };\n }\n\n return [getHooks, withHooks, Hooks] as const;\n}\n\nexport type HookMeta = {\n service: string;\n hook: string;\n name: string;\n type: string;\n};\n\nexport function intercept<T extends Hooks>(service: string, hooks: T): T {\n for (const [hook, handler] of Object.entries(hooks)) {\n handler.intercept({\n register: (info) => {\n const {type, name, fn} = info;\n const meta = {service, hook, name, type};\n\n if (type === 'promise') {\n info.fn = async (...args: unknown[]) => {\n try {\n return await fn(...args);\n } catch (error) {\n if (error instanceof Error) {\n Object.assign(error, {hook: meta});\n }\n\n throw error;\n }\n };\n } else if (type === 'sync') {\n info.fn = (...args: unknown[]) => {\n try {\n return fn(...args);\n } catch (error) {\n if (error instanceof Error) {\n Object.assign(error, {hook: meta});\n }\n\n throw error;\n }\n };\n } else {\n throw new TypeError('Unexpected hook tap type - ' + type);\n }\n\n return info;\n },\n });\n }\n\n return hooks;\n}\n", "import {dirname, isAbsolute, join, normalize} from 'node:path';\nimport _normalizePath from 'normalize-path';\n\nimport {isExternalHref} from '~/core/utils';\n\nexport function normalizePath(path: string): NormalizedPath {\n return _normalizePath(normalize(_normalizePath(path, false)), false);\n}\n\nexport function isRelativePath(path: string): path is RelativePath {\n return !isExternalHref(path) && !isAbsolute(path);\n}\n\nexport function langFromPath(path: string, config: {lang?: string; langs: string[]}) {\n const {lang, langs} = config;\n const pathBaseLang = normalizePath(path).split('/')[0];\n const pathLang = langs.includes(pathBaseLang) && pathBaseLang;\n\n return pathLang || lang || langs[0];\n}\n\nexport function rebasePath(root: RelativePath, path: RelativePath) {\n return normalizePath(join(dirname(root), path));\n}\n\nexport function fullPath(\n path: AbsolutePath | NormalizedPath,\n root: NormalizedPath,\n): NormalizedPath {\n if (path.match(/^(\\/|\\\\)/)) {\n return normalizePath(path.slice(1));\n } else {\n return normalizePath(join(dirname(root), path));\n }\n}\n", "import {pick} from 'lodash';\nimport {type UrlWithStringQuery, parse} from 'node:url';\n\nexport function isExternalHref(href: string) {\n return /^(\\w{1,10}:)?\\/\\//.test(href) || /^([+\\w]{1,10}:)/.test(href);\n}\n\nconst MEDIA_FORMATS = /\\.(svg|png|gif|jpe?g|bmp|webp|ico)$/i;\n\n// TODO: should we deprecate this?\nconst DOC_FORMATS = /\\.(txt|pdf|docx|xlsx|vsd)$/i;\n\nexport function isMediaLink(link: string) {\n return MEDIA_FORMATS.test(link) || DOC_FORMATS.test(link);\n}\n\ntype LocalUrlInfo = Pick<UrlWithStringQuery, 'hash' | 'search'> & {\n path: NormalizedPath;\n};\n\nexport function parseLocalUrl<T = LocalUrlInfo>(url: string | undefined) {\n if (!url || isExternalHref(url) || url.startsWith('/')) {\n return null;\n }\n\n try {\n const parsed = parse(url);\n\n if (parsed.host || parsed.protocol) {\n return null;\n }\n\n return pick(parsed, ['path', 'search', 'hash']) as T;\n } catch {\n return null;\n }\n}\n", "import type Token from 'markdown-it/lib/token';\n\nexport function parseHeading(content: string) {\n const anchors = [];\n const commonHeading = content.match(/^#+/);\n const alternateHeading = content[content.length - 1];\n const alternaleLevels = ['-', '='];\n const level = commonHeading\n ? commonHeading[0].length\n : alternaleLevels.indexOf(alternateHeading) + 1;\n\n if (commonHeading) {\n content = content.replace(/^#+\\s*/, '');\n } else {\n content = content.replace(/\\n[-=]+$/, '');\n }\n\n const ANCHOR = /{(#[^}]+)}/g;\n\n let match;\n // eslint-disable-next-line no-cond-assign\n while ((match = ANCHOR.exec(content))) {\n anchors.push(match[1]);\n content = content.replace(match[0], '');\n ANCHOR.lastIndex -= match[0].length;\n }\n\n const title = content.trim();\n\n return {anchors, title, level};\n}\n\ntype TokenWalker = (\n token: Token,\n state: {commented: boolean; index: number},\n) => void | undefined | {skip: number};\n\nexport function filterTokens(tokens: Token[], type: string, handler: TokenWalker) {\n let commented = false;\n\n if (!tokens || !tokens.length) {\n return;\n }\n\n for (let index = 0; index < tokens.length; index++) {\n const token = tokens[index];\n\n if (token.type === 'html_block') {\n const commentStart = token.content.match('<!--');\n const commentEnd = token.content.match('-->');\n\n if (commentStart && !commentEnd) {\n commented = true;\n }\n\n if (!commentStart && commentEnd) {\n commented = false;\n }\n }\n\n if (token.type === type) {\n const result = handler(token, {commented, index});\n if (result?.skip) {\n index += result?.skip - 1;\n }\n }\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["isExternalHref", "_normalizePath", "import_lodash", "isExternalHref"]
7
7
  }
@@ -332,7 +332,7 @@ function filterTokens(tokens, type, handler) {
332
332
  if (token.type === type) {
333
333
  const result = handler(token, { commented, index });
334
334
  if (result?.skip) {
335
- index += result?.skip;
335
+ index += result?.skip - 1;
336
336
  }
337
337
  }
338
338
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/core/utils/common.ts", "../../src/core/utils/decorators.ts", "../../src/core/utils/extension.ts", "../../src/core/utils/path.ts", "../../src/core/utils/url.ts", "../../src/core/utils/markdown.ts"],
4
- "sourcesContent": ["import {isObject} from 'lodash';\nimport {bounded} from './decorators';\n\nexport const all = Promise.all.bind(Promise);\n\nexport function zip<T = unknown>(keys: string[], values: T[]) {\n return keys.reduce((acc, key, index) => {\n acc[key] = values[index];\n return acc;\n }, {} as Hash<T>);\n}\n\nexport function own<V = unknown, T extends string = string>(\n box: unknown,\n field: T,\n): box is Record<T, V> {\n return (\n Boolean(box && typeof box === 'object') && Object.prototype.hasOwnProperty.call(box, field)\n );\n}\n\nexport function copyJson<T extends object>(\n json: T | undefined,\n): T extends DeepFrozen<infer R> ? R : T | undefined {\n return json ? JSON.parse(JSON.stringify(json)) : json;\n}\n\nexport function freezeJson<T>(target: T, visited = new Set()): T {\n if (!visited.has(target)) {\n visited.add(target);\n\n if (Array.isArray(target)) {\n target.forEach((item) => freezeJson(item, visited));\n }\n\n if (isObject(target) && !Object.isSealed(target)) {\n Object.freeze(target);\n Object.keys(target).forEach((key) =>\n freezeJson(target[key as keyof typeof target], visited),\n );\n }\n }\n\n return target;\n}\n\nexport function errorMessage(error: unknown): string {\n if (typeof error === 'string') {\n return error;\n }\n\n if (own<string, 'message'>(error, 'message')) {\n return error.message;\n }\n\n return String(error);\n}\n\nexport function fallbackLang(lang: string) {\n if (['kz', 'ua', 'be', 'ru'].includes(lang)) {\n return 'ru';\n }\n\n return 'en';\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class Defer<T = any> {\n promise: Promise<T>;\n\n resolve!: (result: T) => void;\n\n reject!: (error: unknown) => void;\n\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n\nexport function wait(delay: number) {\n return new Promise((resolve) => {\n setTimeout(resolve, delay);\n });\n}\n\nexport type Bucket<T> = {\n get(): T;\n set(value: T): void;\n};\n\nexport function bucket<T>() {\n let _value: T;\n\n return {\n get: () => _value,\n set: (value: T) => {\n _value = value;\n },\n };\n}\n\nexport class Buckets<T> {\n private scope: Map<string, T> = new Map();\n\n @bounded\n bind(key: string) {\n return {\n get: () => this.get(key),\n set: (value: T) => this.set(key, value),\n };\n }\n\n @bounded\n set(key: string, value: T) {\n this.scope.set(key, value);\n }\n\n @bounded\n get(key: string): T {\n return this.scope.get(key) as T;\n }\n}\n", "export function bounded(_originalMethod: unknown, context: ClassMethodDecoratorContext) {\n const methodName = context.name;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n context.addInitializer(function (this: any) {\n this[methodName] = this[methodName].bind(this);\n });\n}\n\nexport function memoize(...props: string[] | [Function]) {\n return function (_originalMethod: unknown, context: ClassMethodDecoratorContext) {\n const methodName = context.name;\n const hash =\n typeof props[0] === 'function'\n ? props[0]\n : function (...args: unknown[]) {\n const mem = args.slice(0, props.length);\n if (!mem.every(isPrimitive)) {\n return null;\n }\n\n return props.map((prop, index) => `${prop}=${mem[index]}`).join('&');\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n context.addInitializer(function (this: any) {\n const cache = new Map();\n const method = this[methodName];\n\n this[methodName] = function (this: unknown, ...args: unknown[]) {\n const key = hash.call(this, ...args);\n\n if (key === null) {\n return method.call(this, ...args);\n }\n\n if (!cache.has(key)) {\n cache.set(key, method.call(this, ...args));\n }\n\n return cache.get(key);\n };\n });\n };\n}\n\nconst PRIMITIVE_TYPES = ['string', 'number', 'symbol', 'boolean', 'undefined'];\n\nfunction isPrimitive(value: unknown) {\n return !value || PRIMITIVE_TYPES.includes(typeof value);\n}\n", "import type {Hook, HookMap} from 'tapable';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Hooks = Hash<Hook<any, any> | HookMap<any>>;\n\nexport function generateHooksAccess<THooks extends Hooks>(\n name: string,\n hooks: (name: string) => THooks,\n) {\n const Hooks = Symbol(`${name}Hooks`);\n\n function getHooks(program: object | undefined): THooks {\n return (program && (program as {[Hooks]: THooks})[Hooks]) || hooks('Unknown');\n }\n\n function withHooks<T extends ClassType>(Target: T, {kind}: ClassDecoratorContext): T {\n if (kind !== 'class') {\n throw new TypeError(`Decorator 'withHooks' is not applicable to '${kind}'.`);\n }\n\n return class extends Target {\n [Hooks] = intercept(this.name, hooks(this.name || name));\n };\n }\n\n return [getHooks, withHooks, Hooks] as const;\n}\n\nexport type HookMeta = {\n service: string;\n hook: string;\n name: string;\n type: string;\n};\n\nexport function intercept<T extends Hooks>(service: string, hooks: T): T {\n for (const [hook, handler] of Object.entries(hooks)) {\n handler.intercept({\n register: (info) => {\n const {type, name, fn} = info;\n const meta = {service, hook, name, type};\n\n if (type === 'promise') {\n info.fn = async (...args: unknown[]) => {\n try {\n return await fn(...args);\n } catch (error) {\n if (error instanceof Error) {\n Object.assign(error, {hook: meta});\n }\n\n throw error;\n }\n };\n } else if (type === 'sync') {\n info.fn = (...args: unknown[]) => {\n try {\n return fn(...args);\n } catch (error) {\n if (error instanceof Error) {\n Object.assign(error, {hook: meta});\n }\n\n throw error;\n }\n };\n } else {\n throw new TypeError('Unexpected hook tap type - ' + type);\n }\n\n return info;\n },\n });\n }\n\n return hooks;\n}\n", "import {dirname, isAbsolute, join, normalize} from 'node:path';\nimport _normalizePath from 'normalize-path';\n\nimport {isExternalHref} from '~/core/utils';\n\nexport function normalizePath(path: string): NormalizedPath {\n return _normalizePath(normalize(_normalizePath(path, false)), false);\n}\n\nexport function isRelativePath(path: string): path is RelativePath {\n return !isExternalHref(path) && !isAbsolute(path);\n}\n\nexport function langFromPath(path: string, config: {lang?: string; langs: string[]}) {\n const {lang, langs} = config;\n const pathBaseLang = normalizePath(path).split('/')[0];\n const pathLang = langs.includes(pathBaseLang) && pathBaseLang;\n\n return pathLang || lang || langs[0];\n}\n\nexport function rebasePath(root: RelativePath, path: RelativePath) {\n return normalizePath(join(dirname(root), path));\n}\n\nexport function fullPath(\n path: AbsolutePath | NormalizedPath,\n root: NormalizedPath,\n): NormalizedPath {\n if (path.match(/^(\\/|\\\\)/)) {\n return normalizePath(path.slice(1));\n } else {\n return normalizePath(join(dirname(root), path));\n }\n}\n", "import {pick} from 'lodash';\nimport {type UrlWithStringQuery, parse} from 'node:url';\n\nexport function isExternalHref(href: string) {\n return /^(\\w{1,10}:)?\\/\\//.test(href) || /^([+\\w]{1,10}:)/.test(href);\n}\n\nconst MEDIA_FORMATS = /\\.(svg|png|gif|jpe?g|bmp|webp|ico)$/i;\n\n// TODO: should we deprecate this?\nconst DOC_FORMATS = /\\.(txt|pdf|docx|xlsx|vsd)$/i;\n\nexport function isMediaLink(link: string) {\n return MEDIA_FORMATS.test(link) || DOC_FORMATS.test(link);\n}\n\ntype LocalUrlInfo = Pick<UrlWithStringQuery, 'hash' | 'search'> & {\n path: NormalizedPath;\n};\n\nexport function parseLocalUrl<T = LocalUrlInfo>(url: string | undefined) {\n if (!url || isExternalHref(url) || url.startsWith('/')) {\n return null;\n }\n\n try {\n const parsed = parse(url);\n\n if (parsed.host || parsed.protocol) {\n return null;\n }\n\n return pick(parsed, ['path', 'search', 'hash']) as T;\n } catch {\n return null;\n }\n}\n", "import type Token from 'markdown-it/lib/token';\n\nexport function parseHeading(content: string) {\n const anchors = [];\n const commonHeading = content.match(/^#+/);\n const alternateHeading = content[content.length - 1];\n const alternaleLevels = ['-', '='];\n const level = commonHeading\n ? commonHeading[0].length\n : alternaleLevels.indexOf(alternateHeading) + 1;\n\n if (commonHeading) {\n content = content.replace(/^#+\\s*/, '');\n } else {\n content = content.replace(/\\n[-=]+$/, '');\n }\n\n const ANCHOR = /{(#[^}]+)}/g;\n\n let match;\n // eslint-disable-next-line no-cond-assign\n while ((match = ANCHOR.exec(content))) {\n anchors.push(match[1]);\n content = content.replace(match[0], '');\n ANCHOR.lastIndex -= match[0].length;\n }\n\n const title = content.trim();\n\n return {anchors, title, level};\n}\n\ntype TokenWalker = (\n token: Token,\n state: {commented: boolean; index: number},\n) => void | undefined | {skip: number};\n\nexport function filterTokens(tokens: Token[], type: string, handler: TokenWalker) {\n let commented = false;\n\n if (!tokens || !tokens.length) {\n return;\n }\n\n for (let index = 0; index < tokens.length; index++) {\n const token = tokens[index];\n\n if (token.type === 'html_block') {\n const commentStart = token.content.match('<!--');\n const commentEnd = token.content.match('-->');\n\n if (commentStart && !commentEnd) {\n commented = true;\n }\n\n if (!commentStart && commentEnd) {\n commented = false;\n }\n }\n\n if (token.type === type) {\n const result = handler(token, {commented, index});\n if (result?.skip) {\n index += result?.skip;\n }\n }\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {isObject} from 'lodash';\nimport {bounded} from './decorators';\n\nexport const all = Promise.all.bind(Promise);\n\nexport function zip<T = unknown>(keys: string[], values: T[]) {\n return keys.reduce((acc, key, index) => {\n acc[key] = values[index];\n return acc;\n }, {} as Hash<T>);\n}\n\nexport function own<V = unknown, T extends string = string>(\n box: unknown,\n field: T,\n): box is Record<T, V> {\n return (\n Boolean(box && typeof box === 'object') && Object.prototype.hasOwnProperty.call(box, field)\n );\n}\n\nexport function copyJson<T extends object>(\n json: T | undefined,\n): T extends DeepFrozen<infer R> ? R : T | undefined {\n return json ? JSON.parse(JSON.stringify(json)) : json;\n}\n\nexport function freezeJson<T>(target: T, visited = new Set()): T {\n if (!visited.has(target)) {\n visited.add(target);\n\n if (Array.isArray(target)) {\n target.forEach((item) => freezeJson(item, visited));\n }\n\n if (isObject(target) && !Object.isSealed(target)) {\n Object.freeze(target);\n Object.keys(target).forEach((key) =>\n freezeJson(target[key as keyof typeof target], visited),\n );\n }\n }\n\n return target;\n}\n\nexport function errorMessage(error: unknown): string {\n if (typeof error === 'string') {\n return error;\n }\n\n if (own<string, 'message'>(error, 'message')) {\n return error.message;\n }\n\n return String(error);\n}\n\nexport function fallbackLang(lang: string) {\n if (['kz', 'ua', 'be', 'ru'].includes(lang)) {\n return 'ru';\n }\n\n return 'en';\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class Defer<T = any> {\n promise: Promise<T>;\n\n resolve!: (result: T) => void;\n\n reject!: (error: unknown) => void;\n\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n\nexport function wait(delay: number) {\n return new Promise((resolve) => {\n setTimeout(resolve, delay);\n });\n}\n\nexport type Bucket<T> = {\n get(): T;\n set(value: T): void;\n};\n\nexport function bucket<T>() {\n let _value: T;\n\n return {\n get: () => _value,\n set: (value: T) => {\n _value = value;\n },\n };\n}\n\nexport class Buckets<T> {\n private scope: Map<string, T> = new Map();\n\n @bounded\n bind(key: string) {\n return {\n get: () => this.get(key),\n set: (value: T) => this.set(key, value),\n };\n }\n\n @bounded\n set(key: string, value: T) {\n this.scope.set(key, value);\n }\n\n @bounded\n get(key: string): T {\n return this.scope.get(key) as T;\n }\n}\n", "export function bounded(_originalMethod: unknown, context: ClassMethodDecoratorContext) {\n const methodName = context.name;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n context.addInitializer(function (this: any) {\n this[methodName] = this[methodName].bind(this);\n });\n}\n\nexport function memoize(...props: string[] | [Function]) {\n return function (_originalMethod: unknown, context: ClassMethodDecoratorContext) {\n const methodName = context.name;\n const hash =\n typeof props[0] === 'function'\n ? props[0]\n : function (...args: unknown[]) {\n const mem = args.slice(0, props.length);\n if (!mem.every(isPrimitive)) {\n return null;\n }\n\n return props.map((prop, index) => `${prop}=${mem[index]}`).join('&');\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n context.addInitializer(function (this: any) {\n const cache = new Map();\n const method = this[methodName];\n\n this[methodName] = function (this: unknown, ...args: unknown[]) {\n const key = hash.call(this, ...args);\n\n if (key === null) {\n return method.call(this, ...args);\n }\n\n if (!cache.has(key)) {\n cache.set(key, method.call(this, ...args));\n }\n\n return cache.get(key);\n };\n });\n };\n}\n\nconst PRIMITIVE_TYPES = ['string', 'number', 'symbol', 'boolean', 'undefined'];\n\nfunction isPrimitive(value: unknown) {\n return !value || PRIMITIVE_TYPES.includes(typeof value);\n}\n", "import type {Hook, HookMap} from 'tapable';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Hooks = Hash<Hook<any, any> | HookMap<any>>;\n\nexport function generateHooksAccess<THooks extends Hooks>(\n name: string,\n hooks: (name: string) => THooks,\n) {\n const Hooks = Symbol(`${name}Hooks`);\n\n function getHooks(program: object | undefined): THooks {\n return (program && (program as {[Hooks]: THooks})[Hooks]) || hooks('Unknown');\n }\n\n function withHooks<T extends ClassType>(Target: T, {kind}: ClassDecoratorContext): T {\n if (kind !== 'class') {\n throw new TypeError(`Decorator 'withHooks' is not applicable to '${kind}'.`);\n }\n\n return class extends Target {\n [Hooks] = intercept(this.name, hooks(this.name || name));\n };\n }\n\n return [getHooks, withHooks, Hooks] as const;\n}\n\nexport type HookMeta = {\n service: string;\n hook: string;\n name: string;\n type: string;\n};\n\nexport function intercept<T extends Hooks>(service: string, hooks: T): T {\n for (const [hook, handler] of Object.entries(hooks)) {\n handler.intercept({\n register: (info) => {\n const {type, name, fn} = info;\n const meta = {service, hook, name, type};\n\n if (type === 'promise') {\n info.fn = async (...args: unknown[]) => {\n try {\n return await fn(...args);\n } catch (error) {\n if (error instanceof Error) {\n Object.assign(error, {hook: meta});\n }\n\n throw error;\n }\n };\n } else if (type === 'sync') {\n info.fn = (...args: unknown[]) => {\n try {\n return fn(...args);\n } catch (error) {\n if (error instanceof Error) {\n Object.assign(error, {hook: meta});\n }\n\n throw error;\n }\n };\n } else {\n throw new TypeError('Unexpected hook tap type - ' + type);\n }\n\n return info;\n },\n });\n }\n\n return hooks;\n}\n", "import {dirname, isAbsolute, join, normalize} from 'node:path';\nimport _normalizePath from 'normalize-path';\n\nimport {isExternalHref} from '~/core/utils';\n\nexport function normalizePath(path: string): NormalizedPath {\n return _normalizePath(normalize(_normalizePath(path, false)), false);\n}\n\nexport function isRelativePath(path: string): path is RelativePath {\n return !isExternalHref(path) && !isAbsolute(path);\n}\n\nexport function langFromPath(path: string, config: {lang?: string; langs: string[]}) {\n const {lang, langs} = config;\n const pathBaseLang = normalizePath(path).split('/')[0];\n const pathLang = langs.includes(pathBaseLang) && pathBaseLang;\n\n return pathLang || lang || langs[0];\n}\n\nexport function rebasePath(root: RelativePath, path: RelativePath) {\n return normalizePath(join(dirname(root), path));\n}\n\nexport function fullPath(\n path: AbsolutePath | NormalizedPath,\n root: NormalizedPath,\n): NormalizedPath {\n if (path.match(/^(\\/|\\\\)/)) {\n return normalizePath(path.slice(1));\n } else {\n return normalizePath(join(dirname(root), path));\n }\n}\n", "import {pick} from 'lodash';\nimport {type UrlWithStringQuery, parse} from 'node:url';\n\nexport function isExternalHref(href: string) {\n return /^(\\w{1,10}:)?\\/\\//.test(href) || /^([+\\w]{1,10}:)/.test(href);\n}\n\nconst MEDIA_FORMATS = /\\.(svg|png|gif|jpe?g|bmp|webp|ico)$/i;\n\n// TODO: should we deprecate this?\nconst DOC_FORMATS = /\\.(txt|pdf|docx|xlsx|vsd)$/i;\n\nexport function isMediaLink(link: string) {\n return MEDIA_FORMATS.test(link) || DOC_FORMATS.test(link);\n}\n\ntype LocalUrlInfo = Pick<UrlWithStringQuery, 'hash' | 'search'> & {\n path: NormalizedPath;\n};\n\nexport function parseLocalUrl<T = LocalUrlInfo>(url: string | undefined) {\n if (!url || isExternalHref(url) || url.startsWith('/')) {\n return null;\n }\n\n try {\n const parsed = parse(url);\n\n if (parsed.host || parsed.protocol) {\n return null;\n }\n\n return pick(parsed, ['path', 'search', 'hash']) as T;\n } catch {\n return null;\n }\n}\n", "import type Token from 'markdown-it/lib/token';\n\nexport function parseHeading(content: string) {\n const anchors = [];\n const commonHeading = content.match(/^#+/);\n const alternateHeading = content[content.length - 1];\n const alternaleLevels = ['-', '='];\n const level = commonHeading\n ? commonHeading[0].length\n : alternaleLevels.indexOf(alternateHeading) + 1;\n\n if (commonHeading) {\n content = content.replace(/^#+\\s*/, '');\n } else {\n content = content.replace(/\\n[-=]+$/, '');\n }\n\n const ANCHOR = /{(#[^}]+)}/g;\n\n let match;\n // eslint-disable-next-line no-cond-assign\n while ((match = ANCHOR.exec(content))) {\n anchors.push(match[1]);\n content = content.replace(match[0], '');\n ANCHOR.lastIndex -= match[0].length;\n }\n\n const title = content.trim();\n\n return {anchors, title, level};\n}\n\ntype TokenWalker = (\n token: Token,\n state: {commented: boolean; index: number},\n) => void | undefined | {skip: number};\n\nexport function filterTokens(tokens: Token[], type: string, handler: TokenWalker) {\n let commented = false;\n\n if (!tokens || !tokens.length) {\n return;\n }\n\n for (let index = 0; index < tokens.length; index++) {\n const token = tokens[index];\n\n if (token.type === 'html_block') {\n const commentStart = token.content.match('<!--');\n const commentEnd = token.content.match('-->');\n\n if (commentStart && !commentEnd) {\n commented = true;\n }\n\n if (!commentStart && commentEnd) {\n commented = false;\n }\n }\n\n if (token.type === type) {\n const result = handler(token, {commented, index});\n if (result?.skip) {\n index += result?.skip - 1;\n }\n }\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["isExternalHref"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@diplodoc/cli",
3
- "version": "4.57.5",
3
+ "version": "4.57.6",
4
4
  "description": "Make documentation using yfm-docs in Markdown and HTML formats",
5
5
  "keywords": [
6
6
  "markdown",