@markuplint/ml-core 3.11.0 → 4.0.0-alpha.1

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.
Files changed (95) hide show
  1. package/lib/configs.browser.js +1 -5
  2. package/lib/configs.js +33 -30
  3. package/lib/convert-ruleset.d.ts +1 -1
  4. package/lib/convert-ruleset.js +3 -8
  5. package/lib/debug.js +9 -14
  6. package/lib/index.d.ts +12 -12
  7. package/lib/index.js +13 -29
  8. package/lib/ml-core.d.ts +2 -2
  9. package/lib/ml-core.js +60 -66
  10. package/lib/ml-dom/helper/accname.d.ts +1 -1
  11. package/lib/ml-dom/helper/accname.js +9 -16
  12. package/lib/ml-dom/helper/create-node.d.ts +2 -2
  13. package/lib/ml-dom/helper/create-node.js +11 -15
  14. package/lib/ml-dom/helper/debug.d.ts +1 -1
  15. package/lib/ml-dom/helper/debug.js +2 -7
  16. package/lib/ml-dom/helper/getIndent.d.ts +2 -2
  17. package/lib/ml-dom/helper/getIndent.js +15 -19
  18. package/lib/ml-dom/helper/walkers.d.ts +1 -1
  19. package/lib/ml-dom/helper/walkers.js +2 -7
  20. package/lib/ml-dom/index.d.ts +9 -9
  21. package/lib/ml-dom/index.js +1 -5
  22. package/lib/ml-dom/manipulations/child-node-methods.d.ts +2 -2
  23. package/lib/ml-dom/manipulations/child-node-methods.js +13 -25
  24. package/lib/ml-dom/manipulations/get-children.d.ts +2 -2
  25. package/lib/ml-dom/manipulations/get-children.js +3 -7
  26. package/lib/ml-dom/node/attr.d.ts +5 -5
  27. package/lib/ml-dom/node/attr.js +28 -33
  28. package/lib/ml-dom/node/block.d.ts +4 -4
  29. package/lib/ml-dom/node/block.js +7 -11
  30. package/lib/ml-dom/node/character-data.d.ts +2 -2
  31. package/lib/ml-dom/node/character-data.js +11 -16
  32. package/lib/ml-dom/node/child-node.d.ts +6 -6
  33. package/lib/ml-dom/node/child-node.js +1 -5
  34. package/lib/ml-dom/node/comment.d.ts +2 -2
  35. package/lib/ml-dom/node/comment.js +2 -6
  36. package/lib/ml-dom/node/document-fragment.d.ts +2 -2
  37. package/lib/ml-dom/node/document-fragment.js +4 -9
  38. package/lib/ml-dom/node/document-type.d.ts +4 -4
  39. package/lib/ml-dom/node/document-type.js +7 -11
  40. package/lib/ml-dom/node/document.d.ts +13 -13
  41. package/lib/ml-dom/node/document.js +233 -241
  42. package/lib/ml-dom/node/dom-token-list.d.ts +1 -1
  43. package/lib/ml-dom/node/dom-token-list.js +25 -31
  44. package/lib/ml-dom/node/element.d.ts +8 -8
  45. package/lib/ml-dom/node/element.js +278 -296
  46. package/lib/ml-dom/node/named-node-map.d.ts +1 -1
  47. package/lib/ml-dom/node/named-node-map.js +10 -18
  48. package/lib/ml-dom/node/node-list.d.ts +2 -2
  49. package/lib/ml-dom/node/node-list.js +6 -14
  50. package/lib/ml-dom/node/node-store.d.ts +2 -2
  51. package/lib/ml-dom/node/node-store.js +9 -12
  52. package/lib/ml-dom/node/node.d.ts +8 -8
  53. package/lib/ml-dom/node/node.js +58 -66
  54. package/lib/ml-dom/node/parent-node.d.ts +2 -2
  55. package/lib/ml-dom/node/parent-node.js +22 -29
  56. package/lib/ml-dom/node/rule-mapper.d.ts +2 -2
  57. package/lib/ml-dom/node/rule-mapper.js +11 -16
  58. package/lib/ml-dom/node/text.d.ts +2 -2
  59. package/lib/ml-dom/node/text.js +6 -11
  60. package/lib/ml-dom/node/types.d.ts +10 -10
  61. package/lib/ml-dom/node/types.js +1 -2
  62. package/lib/ml-dom/node/unexpected-call-error.js +1 -4
  63. package/lib/ml-dom/token/token.js +19 -23
  64. package/lib/ml-rule/create-rule.d.ts +1 -1
  65. package/lib/ml-rule/create-rule.js +1 -5
  66. package/lib/ml-rule/create-test-rule.d.ts +2 -2
  67. package/lib/ml-rule/create-test-rule.js +3 -7
  68. package/lib/ml-rule/index.d.ts +3 -3
  69. package/lib/ml-rule/index.js +3 -6
  70. package/lib/ml-rule/ml-rule-context.d.ts +2 -2
  71. package/lib/ml-rule/ml-rule-context.js +7 -11
  72. package/lib/ml-rule/ml-rule.d.ts +3 -3
  73. package/lib/ml-rule/ml-rule.js +23 -30
  74. package/lib/ml-rule/types.d.ts +2 -2
  75. package/lib/ml-rule/types.js +1 -2
  76. package/lib/plugin/index.d.ts +2 -2
  77. package/lib/plugin/index.js +2 -5
  78. package/lib/plugin/plugin.d.ts +1 -1
  79. package/lib/plugin/plugin.js +1 -5
  80. package/lib/plugin/types.d.ts +1 -1
  81. package/lib/plugin/types.js +1 -2
  82. package/lib/ruleset/index.js +4 -8
  83. package/lib/test/index.d.ts +4 -4
  84. package/lib/test/index.js +13 -23
  85. package/lib/types.d.ts +2 -2
  86. package/lib/types.js +1 -2
  87. package/lib/utils/get-location-from-chars.js +1 -5
  88. package/lib/utils/index.d.ts +1 -1
  89. package/lib/utils/index.js +1 -5
  90. package/lib/utils/string-splice.js +1 -5
  91. package/package.json +20 -15
  92. package/test/ml-dom/helper/accname.spec.js +0 -85
  93. package/test/ml-dom/helper/create-node.spec.js +0 -18
  94. package/test/ml-dom/index.spec.js +0 -680
  95. package/test/ml-dom/ml-rule/create-rule.spec.js +0 -108
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPreset = void 0;
4
- async function getPreset(name) {
1
+ export async function getPreset(name) {
5
2
  const res = await fetch(`@markuplint/config-presets/preset.${name}.json`).catch(() => new Error());
6
3
  if (res instanceof Error) {
7
4
  throw new ReferenceError(`Preset markuplint:${name} is not found`);
@@ -9,4 +6,3 @@ async function getPreset(name) {
9
6
  const json = await res.json();
10
7
  return json;
11
8
  }
12
- exports.getPreset = getPreset;
package/lib/configs.js CHANGED
@@ -1,34 +1,37 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.getPreset = void 0;
27
- async function getPreset(name) {
28
- const json = await Promise.resolve(`${`@markuplint/config-presets/preset.${name}.json`}`).then(s => __importStar(require(s))).catch(() => new Error());
1
+ import { readFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { log } from './debug.js';
4
+ export async function getPreset(name) {
5
+ const json = await forceImportJsonInModule(`@markuplint/config-presets/preset.${name}.json`);
29
6
  if (json instanceof Error) {
30
7
  throw new ReferenceError(`Preset markuplint:${name} is not found`);
31
8
  }
32
- return json.default;
9
+ return json;
10
+ }
11
+ async function forceImportJsonInModule(modPath) {
12
+ const error = await import(modPath).catch(error => error);
13
+ if (error instanceof Error) {
14
+ log('Error in forceImportJsonInModule: %O', error);
15
+ if (!('code' in error)) {
16
+ throw error;
17
+ }
18
+ if (error.code !== 'ERR_IMPORT_ASSERTION_TYPE_MISSING') {
19
+ throw error;
20
+ }
21
+ const searchPath = /Module\s"([^"]+)"\sneeds/i.exec(error.message);
22
+ const absPath = searchPath?.[1] ?? null;
23
+ log('Extract path: %s', absPath);
24
+ if (!absPath) {
25
+ throw error;
26
+ }
27
+ const normalizePath = absPath
28
+ .replace(/^file:\/\//, '')
29
+ .replace(/\//g, path.sep)
30
+ // Windows
31
+ .replace(/^[\\/][a-z]:/i, '');
32
+ log('Find JSON file path: %s', normalizePath);
33
+ const fileContent = await readFile(normalizePath, { encoding: 'utf8' });
34
+ return JSON.parse(fileContent);
35
+ }
36
+ return error.default ? error.default : error;
33
37
  }
34
- exports.getPreset = getPreset;
@@ -1,3 +1,3 @@
1
1
  import type { Config } from '@markuplint/ml-config';
2
- import Ruleset from './ruleset';
2
+ import Ruleset from './ruleset/index.js';
3
3
  export declare function convertRuleset(config?: Config): Ruleset;
@@ -1,9 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.convertRuleset = void 0;
4
- const tslib_1 = require("tslib");
5
- const ruleset_1 = tslib_1.__importDefault(require("./ruleset"));
6
- function convertRuleset(config = {}) {
7
- return new ruleset_1.default(config);
1
+ import Ruleset from './ruleset/index.js';
2
+ export function convertRuleset(config = {}) {
3
+ return new Ruleset(config);
8
4
  }
9
- exports.convertRuleset = convertRuleset;
package/lib/debug.js CHANGED
@@ -1,18 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.enableDebug = exports.log = void 0;
4
- const tslib_1 = require("tslib");
5
- const debug_1 = tslib_1.__importDefault(require("debug"));
1
+ import debug from 'debug';
6
2
  const CLI_NS = 'markuplint-cli';
7
- exports.log = (0, debug_1.default)('ml-core');
8
- function enableDebug() {
9
- if (!exports.log.enabled) {
10
- debug_1.default.enable(`${exports.log.namespace}*`);
11
- (0, exports.log)(`Debug enable: ${exports.log.namespace}`);
12
- if (!debug_1.default.enabled(CLI_NS)) {
13
- debug_1.default.enable(`${exports.log.namespace}*,${CLI_NS}*`);
14
- (0, exports.log)(`Debug enable: ${exports.log.namespace}, ${CLI_NS}`);
3
+ export const log = debug('ml-core');
4
+ export function enableDebug() {
5
+ if (!log.enabled) {
6
+ debug.enable(`${log.namespace}*`);
7
+ log(`Debug enable: ${log.namespace}`);
8
+ if (!debug.enabled(CLI_NS)) {
9
+ debug.enable(`${log.namespace}*,${CLI_NS}*`);
10
+ log(`Debug enable: ${log.namespace}, ${CLI_NS}`);
15
11
  }
16
12
  }
17
13
  }
18
- exports.enableDebug = enableDebug;
package/lib/index.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  export { RuleInfo, RuleConfig, RuleConfigValue } from '@markuplint/ml-config';
2
2
  export { ariaSpecs, contentModelCategoryToTagNames, getAttrSpecs, getComputedRole, getImplicitRole, getPermittedRoles, getRoleSpec, getSpec, resolveNamespace, } from '@markuplint/ml-spec';
3
- export { default as Ruleset } from './ruleset';
4
- export { enableDebug } from './debug';
5
- export { getIndent } from './ml-dom/helper/getIndent';
6
- export * from './configs';
7
- export * from './convert-ruleset';
8
- export * from './ml-core';
9
- export * from './ml-dom';
10
- export * from './ml-rule';
11
- export * from './plugin';
12
- export * from './test';
13
- export * from './types';
14
- export * from './utils';
3
+ export { default as Ruleset } from './ruleset/index.js';
4
+ export { enableDebug } from './debug.js';
5
+ export { getIndent } from './ml-dom/helper/getIndent.js';
6
+ export * from './configs.js';
7
+ export * from './convert-ruleset.js';
8
+ export * from './ml-core.js';
9
+ export * from './ml-dom/index.js';
10
+ export * from './ml-rule/index.js';
11
+ export * from './plugin/index.js';
12
+ export * from './test/index.js';
13
+ export * from './types.js';
14
+ export * from './utils/index.js';
package/lib/index.js CHANGED
@@ -1,29 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getIndent = exports.enableDebug = exports.Ruleset = exports.resolveNamespace = exports.getSpec = exports.getRoleSpec = exports.getPermittedRoles = exports.getImplicitRole = exports.getComputedRole = exports.getAttrSpecs = exports.contentModelCategoryToTagNames = exports.ariaSpecs = void 0;
4
- const tslib_1 = require("tslib");
5
- var ml_spec_1 = require("@markuplint/ml-spec");
6
- Object.defineProperty(exports, "ariaSpecs", { enumerable: true, get: function () { return ml_spec_1.ariaSpecs; } });
7
- Object.defineProperty(exports, "contentModelCategoryToTagNames", { enumerable: true, get: function () { return ml_spec_1.contentModelCategoryToTagNames; } });
8
- Object.defineProperty(exports, "getAttrSpecs", { enumerable: true, get: function () { return ml_spec_1.getAttrSpecs; } });
9
- Object.defineProperty(exports, "getComputedRole", { enumerable: true, get: function () { return ml_spec_1.getComputedRole; } });
10
- Object.defineProperty(exports, "getImplicitRole", { enumerable: true, get: function () { return ml_spec_1.getImplicitRole; } });
11
- Object.defineProperty(exports, "getPermittedRoles", { enumerable: true, get: function () { return ml_spec_1.getPermittedRoles; } });
12
- Object.defineProperty(exports, "getRoleSpec", { enumerable: true, get: function () { return ml_spec_1.getRoleSpec; } });
13
- Object.defineProperty(exports, "getSpec", { enumerable: true, get: function () { return ml_spec_1.getSpec; } });
14
- Object.defineProperty(exports, "resolveNamespace", { enumerable: true, get: function () { return ml_spec_1.resolveNamespace; } });
15
- var ruleset_1 = require("./ruleset");
16
- Object.defineProperty(exports, "Ruleset", { enumerable: true, get: function () { return tslib_1.__importDefault(ruleset_1).default; } });
17
- var debug_1 = require("./debug");
18
- Object.defineProperty(exports, "enableDebug", { enumerable: true, get: function () { return debug_1.enableDebug; } });
19
- var getIndent_1 = require("./ml-dom/helper/getIndent");
20
- Object.defineProperty(exports, "getIndent", { enumerable: true, get: function () { return getIndent_1.getIndent; } });
21
- tslib_1.__exportStar(require("./configs"), exports);
22
- tslib_1.__exportStar(require("./convert-ruleset"), exports);
23
- tslib_1.__exportStar(require("./ml-core"), exports);
24
- tslib_1.__exportStar(require("./ml-dom"), exports);
25
- tslib_1.__exportStar(require("./ml-rule"), exports);
26
- tslib_1.__exportStar(require("./plugin"), exports);
27
- tslib_1.__exportStar(require("./test"), exports);
28
- tslib_1.__exportStar(require("./types"), exports);
29
- tslib_1.__exportStar(require("./utils"), exports);
1
+ export { ariaSpecs, contentModelCategoryToTagNames, getAttrSpecs, getComputedRole, getImplicitRole, getPermittedRoles, getRoleSpec, getSpec, resolveNamespace, } from '@markuplint/ml-spec';
2
+ export { default as Ruleset } from './ruleset/index.js';
3
+ export { enableDebug } from './debug.js';
4
+ export { getIndent } from './ml-dom/helper/getIndent.js';
5
+ export * from './configs.js';
6
+ export * from './convert-ruleset.js';
7
+ export * from './ml-core.js';
8
+ export * from './ml-dom/index.js';
9
+ export * from './ml-rule/index.js';
10
+ export * from './plugin/index.js';
11
+ export * from './test/index.js';
12
+ export * from './types.js';
13
+ export * from './utils/index.js';
package/lib/ml-core.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import type { MLFabric } from './types';
1
+ import type { MLFabric } from './types.js';
2
2
  import type { PlainData, RuleConfigValue, Violation } from '@markuplint/ml-config';
3
3
  import { ParserError } from '@markuplint/parser-utils';
4
- import { Document } from './ml-dom';
4
+ import { Document } from './ml-dom/index.js';
5
5
  export type MLCoreParams = {
6
6
  readonly sourceCode: string;
7
7
  readonly filename: string;
package/lib/ml-core.js CHANGED
@@ -1,15 +1,11 @@
1
- "use strict";
2
1
  var _MLCore_ast, _MLCore_document, _MLCore_filename, _MLCore_locale, _MLCore_parser, _MLCore_parserOptions, _MLCore_pretenders, _MLCore_rules, _MLCore_ruleset, _MLCore_schemas, _MLCore_sourceCode;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.MLCore = void 0;
5
- const tslib_1 = require("tslib");
6
- const parser_utils_1 = require("@markuplint/parser-utils");
7
- const debug_1 = require("./debug");
8
- const ml_dom_1 = require("./ml-dom");
9
- const resultLog = debug_1.log.extend('result');
10
- class MLCore {
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
3
+ import { ParserError } from '@markuplint/parser-utils';
4
+ import { log, enableDebug } from './debug.js';
5
+ import { Document } from './ml-dom/index.js';
6
+ const resultLog = log.extend('result');
7
+ export class MLCore {
11
8
  constructor({ parser, sourceCode, ruleset, rules, locale, schemas, parserOptions, pretenders, filename, debug, }) {
12
- var _a, _b, _c;
13
9
  _MLCore_ast.set(this, null);
14
10
  _MLCore_document.set(this, void 0);
15
11
  _MLCore_filename.set(this, void 0);
@@ -22,79 +18,78 @@ class MLCore {
22
18
  _MLCore_schemas.set(this, void 0);
23
19
  _MLCore_sourceCode.set(this, void 0);
24
20
  if (debug) {
25
- (0, debug_1.enableDebug)();
21
+ enableDebug();
26
22
  }
27
- tslib_1.__classPrivateFieldSet(this, _MLCore_parser, parser, "f");
28
- tslib_1.__classPrivateFieldSet(this, _MLCore_sourceCode, sourceCode, "f");
29
- tslib_1.__classPrivateFieldSet(this, _MLCore_parserOptions, parserOptions, "f");
30
- tslib_1.__classPrivateFieldSet(this, _MLCore_ruleset, {
31
- rules: (_a = ruleset.rules) !== null && _a !== void 0 ? _a : {},
32
- nodeRules: (_b = ruleset.nodeRules) !== null && _b !== void 0 ? _b : [],
33
- childNodeRules: (_c = ruleset.childNodeRules) !== null && _c !== void 0 ? _c : [],
23
+ __classPrivateFieldSet(this, _MLCore_parser, parser, "f");
24
+ __classPrivateFieldSet(this, _MLCore_sourceCode, sourceCode, "f");
25
+ __classPrivateFieldSet(this, _MLCore_parserOptions, parserOptions, "f");
26
+ __classPrivateFieldSet(this, _MLCore_ruleset, {
27
+ rules: ruleset.rules ?? {},
28
+ nodeRules: ruleset.nodeRules ?? [],
29
+ childNodeRules: ruleset.childNodeRules ?? [],
34
30
  }, "f");
35
- tslib_1.__classPrivateFieldSet(this, _MLCore_locale, locale, "f");
36
- tslib_1.__classPrivateFieldSet(this, _MLCore_schemas, schemas, "f");
37
- tslib_1.__classPrivateFieldSet(this, _MLCore_filename, filename, "f");
38
- tslib_1.__classPrivateFieldSet(this, _MLCore_rules, rules.slice(), "f");
39
- tslib_1.__classPrivateFieldSet(this, _MLCore_pretenders, pretenders.slice(), "f");
31
+ __classPrivateFieldSet(this, _MLCore_locale, locale, "f");
32
+ __classPrivateFieldSet(this, _MLCore_schemas, schemas, "f");
33
+ __classPrivateFieldSet(this, _MLCore_filename, filename, "f");
34
+ __classPrivateFieldSet(this, _MLCore_rules, rules.slice(), "f");
35
+ __classPrivateFieldSet(this, _MLCore_pretenders, pretenders.slice(), "f");
40
36
  this._parse();
41
37
  this._createDocument();
42
38
  }
43
39
  get document() {
44
- return tslib_1.__classPrivateFieldGet(this, _MLCore_document, "f");
40
+ return __classPrivateFieldGet(this, _MLCore_document, "f");
45
41
  }
46
42
  setCode(sourceCode) {
47
- tslib_1.__classPrivateFieldSet(this, _MLCore_sourceCode, sourceCode, "f");
43
+ __classPrivateFieldSet(this, _MLCore_sourceCode, sourceCode, "f");
48
44
  this._parse();
49
45
  this._createDocument();
50
46
  }
51
47
  update({ parser, ruleset, rules, locale, schemas, parserOptions }) {
52
- var _a, _b, _c, _d;
53
- tslib_1.__classPrivateFieldSet(this, _MLCore_parser, parser !== null && parser !== void 0 ? parser : tslib_1.__classPrivateFieldGet(this, _MLCore_parser, "f"), "f");
54
- tslib_1.__classPrivateFieldSet(this, _MLCore_ruleset, {
55
- rules: (_a = ruleset === null || ruleset === void 0 ? void 0 : ruleset.rules) !== null && _a !== void 0 ? _a : tslib_1.__classPrivateFieldGet(this, _MLCore_ruleset, "f").rules,
56
- nodeRules: (_b = ruleset === null || ruleset === void 0 ? void 0 : ruleset.nodeRules) !== null && _b !== void 0 ? _b : tslib_1.__classPrivateFieldGet(this, _MLCore_ruleset, "f").nodeRules,
57
- childNodeRules: (_c = ruleset === null || ruleset === void 0 ? void 0 : ruleset.childNodeRules) !== null && _c !== void 0 ? _c : tslib_1.__classPrivateFieldGet(this, _MLCore_ruleset, "f").childNodeRules,
48
+ __classPrivateFieldSet(this, _MLCore_parser, parser ?? __classPrivateFieldGet(this, _MLCore_parser, "f"), "f");
49
+ __classPrivateFieldSet(this, _MLCore_ruleset, {
50
+ rules: ruleset?.rules ?? __classPrivateFieldGet(this, _MLCore_ruleset, "f").rules,
51
+ nodeRules: ruleset?.nodeRules ?? __classPrivateFieldGet(this, _MLCore_ruleset, "f").nodeRules,
52
+ childNodeRules: ruleset?.childNodeRules ?? __classPrivateFieldGet(this, _MLCore_ruleset, "f").childNodeRules,
58
53
  }, "f");
59
- tslib_1.__classPrivateFieldSet(this, _MLCore_rules, (_d = rules === null || rules === void 0 ? void 0 : rules.slice()) !== null && _d !== void 0 ? _d : tslib_1.__classPrivateFieldGet(this, _MLCore_rules, "f"), "f");
60
- tslib_1.__classPrivateFieldSet(this, _MLCore_locale, locale !== null && locale !== void 0 ? locale : tslib_1.__classPrivateFieldGet(this, _MLCore_locale, "f"), "f");
61
- tslib_1.__classPrivateFieldSet(this, _MLCore_schemas, schemas !== null && schemas !== void 0 ? schemas : tslib_1.__classPrivateFieldGet(this, _MLCore_schemas, "f"), "f");
54
+ __classPrivateFieldSet(this, _MLCore_rules, rules?.slice() ?? __classPrivateFieldGet(this, _MLCore_rules, "f"), "f");
55
+ __classPrivateFieldSet(this, _MLCore_locale, locale ?? __classPrivateFieldGet(this, _MLCore_locale, "f"), "f");
56
+ __classPrivateFieldSet(this, _MLCore_schemas, schemas ?? __classPrivateFieldGet(this, _MLCore_schemas, "f"), "f");
62
57
  if (parserOptions &&
63
- (parserOptions.ignoreFrontMatter !== tslib_1.__classPrivateFieldGet(this, _MLCore_parserOptions, "f").ignoreFrontMatter ||
64
- parserOptions.authoredElementName !== tslib_1.__classPrivateFieldGet(this, _MLCore_parserOptions, "f").authoredElementName)) {
58
+ (parserOptions.ignoreFrontMatter !== __classPrivateFieldGet(this, _MLCore_parserOptions, "f").ignoreFrontMatter ||
59
+ parserOptions.authoredElementName !== __classPrivateFieldGet(this, _MLCore_parserOptions, "f").authoredElementName)) {
65
60
  this._parse();
66
61
  }
67
62
  this._createDocument();
68
63
  }
69
64
  async verify(fix = false) {
70
- (0, debug_1.log)('verify: start');
65
+ log('verify: start');
71
66
  const violations = [];
72
- if (tslib_1.__classPrivateFieldGet(this, _MLCore_document, "f") instanceof parser_utils_1.ParserError) {
67
+ if (__classPrivateFieldGet(this, _MLCore_document, "f") instanceof ParserError) {
73
68
  violations.push({
74
69
  ruleId: 'parse-error',
75
70
  severity: 'error',
76
- message: tslib_1.__classPrivateFieldGet(this, _MLCore_document, "f").message,
77
- col: tslib_1.__classPrivateFieldGet(this, _MLCore_document, "f").col,
78
- line: tslib_1.__classPrivateFieldGet(this, _MLCore_document, "f").line,
79
- raw: tslib_1.__classPrivateFieldGet(this, _MLCore_document, "f").raw,
71
+ message: __classPrivateFieldGet(this, _MLCore_document, "f").message,
72
+ col: __classPrivateFieldGet(this, _MLCore_document, "f").col,
73
+ line: __classPrivateFieldGet(this, _MLCore_document, "f").line,
74
+ raw: __classPrivateFieldGet(this, _MLCore_document, "f").raw,
80
75
  });
81
- (0, debug_1.log)('verify: error %o', tslib_1.__classPrivateFieldGet(this, _MLCore_document, "f").message);
76
+ log('verify: error %o', __classPrivateFieldGet(this, _MLCore_document, "f").message);
82
77
  return violations;
83
78
  }
84
- for (const rule of tslib_1.__classPrivateFieldGet(this, _MLCore_rules, "f")) {
85
- const ruleInfo = rule.getRuleInfo(tslib_1.__classPrivateFieldGet(this, _MLCore_ruleset, "f"), rule.name);
79
+ for (const rule of __classPrivateFieldGet(this, _MLCore_rules, "f")) {
80
+ const ruleInfo = rule.getRuleInfo(__classPrivateFieldGet(this, _MLCore_ruleset, "f"), rule.name);
86
81
  if (ruleInfo.disabled && ruleInfo.nodeRules.length === 0 && ruleInfo.childNodeRules.length === 0) {
87
82
  continue;
88
83
  }
89
- (0, debug_1.log)('%s Rule: verify', rule.name);
90
- const results = await rule.verify(tslib_1.__classPrivateFieldGet(this, _MLCore_document, "f"), tslib_1.__classPrivateFieldGet(this, _MLCore_locale, "f"), fix).catch(e => {
91
- if (e instanceof parser_utils_1.ParserError) {
84
+ log('%s Rule: verify', rule.name);
85
+ const results = await rule.verify(__classPrivateFieldGet(this, _MLCore_document, "f"), __classPrivateFieldGet(this, _MLCore_locale, "f"), fix).catch(e => {
86
+ if (e instanceof ParserError) {
92
87
  return e;
93
88
  }
94
89
  throw e;
95
90
  });
96
- if (results instanceof parser_utils_1.ParserError) {
97
- (0, debug_1.log)('%s Rule: verify error %o', rule.name, results.message);
91
+ if (results instanceof ParserError) {
92
+ log('%s Rule: verify error %o', rule.name, results.message);
98
93
  violations.push({
99
94
  ruleId: 'parse-error',
100
95
  severity: 'error',
@@ -107,7 +102,7 @@ class MLCore {
107
102
  else {
108
103
  violations.push(...results);
109
104
  }
110
- (0, debug_1.log)('%s Rule: verify end', rule.name);
105
+ log('%s Rule: verify end', rule.name);
111
106
  }
112
107
  if (resultLog.enabled) {
113
108
  const { e, w, i } = violations.reduce((c, v) => {
@@ -123,24 +118,24 @@ class MLCore {
123
118
  resultLog('Warning: %d', w);
124
119
  resultLog('Info: %d', i);
125
120
  }
126
- (0, debug_1.log)('verify: end');
121
+ log('verify: end');
127
122
  return violations;
128
123
  }
129
124
  _createDocument() {
130
- if (!tslib_1.__classPrivateFieldGet(this, _MLCore_ast, "f")) {
125
+ if (!__classPrivateFieldGet(this, _MLCore_ast, "f")) {
131
126
  return;
132
127
  }
133
128
  try {
134
- tslib_1.__classPrivateFieldSet(this, _MLCore_document, new ml_dom_1.Document(tslib_1.__classPrivateFieldGet(this, _MLCore_ast, "f"), tslib_1.__classPrivateFieldGet(this, _MLCore_ruleset, "f"), tslib_1.__classPrivateFieldGet(this, _MLCore_schemas, "f"), {
135
- filename: tslib_1.__classPrivateFieldGet(this, _MLCore_filename, "f"),
136
- endTag: tslib_1.__classPrivateFieldGet(this, _MLCore_parser, "f").endTag,
137
- booleanish: tslib_1.__classPrivateFieldGet(this, _MLCore_parser, "f").booleanish,
138
- pretenders: tslib_1.__classPrivateFieldGet(this, _MLCore_pretenders, "f"),
129
+ __classPrivateFieldSet(this, _MLCore_document, new Document(__classPrivateFieldGet(this, _MLCore_ast, "f"), __classPrivateFieldGet(this, _MLCore_ruleset, "f"), __classPrivateFieldGet(this, _MLCore_schemas, "f"), {
130
+ filename: __classPrivateFieldGet(this, _MLCore_filename, "f"),
131
+ endTag: __classPrivateFieldGet(this, _MLCore_parser, "f").endTag,
132
+ booleanish: __classPrivateFieldGet(this, _MLCore_parser, "f").booleanish,
133
+ pretenders: __classPrivateFieldGet(this, _MLCore_pretenders, "f"),
139
134
  }), "f");
140
135
  }
141
136
  catch (err) {
142
- if (err instanceof parser_utils_1.ParserError) {
143
- tslib_1.__classPrivateFieldSet(this, _MLCore_document, err, "f");
137
+ if (err instanceof ParserError) {
138
+ __classPrivateFieldSet(this, _MLCore_document, err, "f");
144
139
  }
145
140
  else {
146
141
  throw err;
@@ -149,13 +144,13 @@ class MLCore {
149
144
  }
150
145
  _parse() {
151
146
  try {
152
- tslib_1.__classPrivateFieldSet(this, _MLCore_ast, tslib_1.__classPrivateFieldGet(this, _MLCore_parser, "f").parse(tslib_1.__classPrivateFieldGet(this, _MLCore_sourceCode, "f"), tslib_1.__classPrivateFieldGet(this, _MLCore_parserOptions, "f")), "f");
147
+ __classPrivateFieldSet(this, _MLCore_ast, __classPrivateFieldGet(this, _MLCore_parser, "f").parse(__classPrivateFieldGet(this, _MLCore_sourceCode, "f"), __classPrivateFieldGet(this, _MLCore_parserOptions, "f")), "f");
153
148
  }
154
149
  catch (err) {
155
- (0, debug_1.log)('Caught the parse error: %O', err);
156
- tslib_1.__classPrivateFieldSet(this, _MLCore_ast, null, "f");
157
- if (err instanceof parser_utils_1.ParserError) {
158
- tslib_1.__classPrivateFieldSet(this, _MLCore_document, err, "f");
150
+ log('Caught the parse error: %O', err);
151
+ __classPrivateFieldSet(this, _MLCore_ast, null, "f");
152
+ if (err instanceof ParserError) {
153
+ __classPrivateFieldSet(this, _MLCore_document, err, "f");
159
154
  }
160
155
  else {
161
156
  throw err;
@@ -163,5 +158,4 @@ class MLCore {
163
158
  }
164
159
  }
165
160
  }
166
- exports.MLCore = MLCore;
167
161
  _MLCore_ast = new WeakMap(), _MLCore_document = new WeakMap(), _MLCore_filename = new WeakMap(), _MLCore_locale = new WeakMap(), _MLCore_parser = new WeakMap(), _MLCore_parserOptions = new WeakMap(), _MLCore_pretenders = new WeakMap(), _MLCore_rules = new WeakMap(), _MLCore_ruleset = new WeakMap(), _MLCore_schemas = new WeakMap(), _MLCore_sourceCode = new WeakMap();
@@ -1,3 +1,3 @@
1
- import type { MLElement } from '../node/element';
1
+ import type { MLElement } from '../node/element.js';
2
2
  import type { ARIAVersion } from '@markuplint/ml-spec';
3
3
  export declare function getAccname(el: MLElement<any, any>, version: ARIAVersion): string;
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAccname = void 0;
4
- const ml_spec_1 = require("@markuplint/ml-spec");
5
- const debug_1 = require("../../debug");
6
- const accnameLog = debug_1.log.extend('accname');
7
- function getAccname(
1
+ import { getAccname as get, getComputedRole } from '@markuplint/ml-spec';
2
+ import { log } from '../../debug.js';
3
+ const accnameLog = log.extend('accname');
4
+ export function getAccname(
8
5
  // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
9
6
  el, version) {
10
7
  let accname = safeGet(el);
@@ -21,12 +18,11 @@ el, version) {
21
18
  if (isFromContent(el, version)) {
22
19
  return Array.from(el.childNodes)
23
20
  .map(child => {
24
- var _a;
25
21
  if (child.is(child.ELEMENT_NODE)) {
26
22
  return getAccname(child, version);
27
23
  }
28
24
  if (child.is(child.TEXT_NODE)) {
29
- return (_a = child.textContent) !== null && _a !== void 0 ? _a : '';
25
+ return child.textContent ?? '';
30
26
  }
31
27
  return '';
32
28
  })
@@ -34,12 +30,11 @@ el, version) {
34
30
  }
35
31
  return '';
36
32
  }
37
- exports.getAccname = getAccname;
38
33
  function safeGet(
39
34
  // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
40
35
  el) {
41
36
  try {
42
- const name = (0, ml_spec_1.getAccname)(el);
37
+ const name = get(el);
43
38
  return name;
44
39
  }
45
40
  catch (err) {
@@ -51,8 +46,7 @@ el) {
51
46
  function getAccnameFromPretender(
52
47
  // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
53
48
  el) {
54
- var _a, _b;
55
- if (((_a = el.pretenderContext) === null || _a === void 0 ? void 0 : _a.type) === 'pretender' && ((_b = el.pretenderContext.aria) === null || _b === void 0 ? void 0 : _b.name) != null) {
49
+ if (el.pretenderContext?.type === 'pretender' && el.pretenderContext.aria?.name != null) {
56
50
  if (typeof el.pretenderContext.aria.name === 'boolean') {
57
51
  return 'some-name(Pretender Options)';
58
52
  }
@@ -72,7 +66,6 @@ el) {
72
66
  function isFromContent(
73
67
  // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
74
68
  el, version) {
75
- var _a;
76
- const role = (0, ml_spec_1.getComputedRole)(el.ownerMLDocument.specs, el, version);
77
- return !!((_a = role.role) === null || _a === void 0 ? void 0 : _a.accessibleNameFromContent);
69
+ const role = getComputedRole(el.ownerMLDocument.specs, el, version);
70
+ return !!role.role?.accessibleNameFromContent;
78
71
  }
@@ -1,5 +1,5 @@
1
- import type { MLDocument } from '../node/document';
2
- import type { MappedNode } from '../node/types';
1
+ import type { MLDocument } from '../node/document.js';
2
+ import type { MappedNode } from '../node/types.js';
3
3
  import type { MLASTAbstractNode } from '@markuplint/ml-ast';
4
4
  import type { PlainData, RuleConfigValue } from '@markuplint/ml-config';
5
5
  export declare function createNode<N extends MLASTAbstractNode, T extends RuleConfigValue, O extends PlainData = undefined>(astNode: N, document: MLDocument<T, O>): MappedNode<N, T, O>;
@@ -1,32 +1,28 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createNode = void 0;
4
- const block_1 = require("../node/block");
5
- const comment_1 = require("../node/comment");
6
- const document_type_1 = require("../node/document-type");
7
- const element_1 = require("../node/element");
8
- const text_1 = require("../node/text");
9
- function createNode(astNode,
1
+ import { MLBlock } from '../node/block.js';
2
+ import { MLComment } from '../node/comment.js';
3
+ import { MLDocumentType } from '../node/document-type.js';
4
+ import { MLElement } from '../node/element.js';
5
+ import { MLText } from '../node/text.js';
6
+ export function createNode(astNode,
10
7
  // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
11
8
  document) {
12
9
  const _astNode = astNode;
13
10
  switch (_astNode.type) {
14
11
  case 'doctype': {
15
- return new document_type_1.MLDocumentType(_astNode, document);
12
+ return new MLDocumentType(_astNode, document);
16
13
  }
17
14
  case 'starttag': {
18
- return new element_1.MLElement(_astNode, document);
15
+ return new MLElement(_astNode, document);
19
16
  }
20
17
  case 'psblock': {
21
- return new block_1.MLBlock(_astNode, document);
18
+ return new MLBlock(_astNode, document);
22
19
  }
23
20
  case 'comment': {
24
- return new comment_1.MLComment(_astNode, document);
21
+ return new MLComment(_astNode, document);
25
22
  }
26
23
  case 'text': {
27
- return new text_1.MLText(_astNode, document);
24
+ return new MLText(_astNode, document);
28
25
  }
29
26
  }
30
27
  throw new TypeError(`Invalid AST node types "${astNode.type}"`);
31
28
  }
32
- exports.createNode = createNode;
@@ -1,2 +1,2 @@
1
- import type { MLNode } from '../node/node';
1
+ import type { MLNode } from '../node/node.js';
2
2
  export declare function nodeListToDebugMaps(nodeList: Readonly<MLNode<any, any>[]>, withAttr?: boolean): string[];
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nodeListToDebugMaps = void 0;
4
- function nodeListToDebugMaps(
1
+ export function nodeListToDebugMaps(
5
2
  // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
6
3
  nodeList, withAttr = false) {
7
4
  return nodeList
@@ -27,7 +24,6 @@ nodeList, withAttr = false) {
27
24
  })
28
25
  .flat();
29
26
  }
30
- exports.nodeListToDebugMaps = nodeListToDebugMaps;
31
27
  function attributesToDebugMaps(
32
28
  // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
33
29
  attributes) {
@@ -81,8 +77,7 @@ attributes) {
81
77
  .flat();
82
78
  }
83
79
  function tokenDebug(n, type = '') {
84
- var _a, _b, _c, _d;
85
- return `[${n.startLine}:${n.startCol}]>[${n.endLine}:${n.endCol}](${n.startOffset},${n.endOffset})${(_d = (_c = (_b = (_a = n.nodeName) !== null && _a !== void 0 ? _a : n.potentialName) !== null && _b !== void 0 ? _b : n.name) !== null && _c !== void 0 ? _c : n.type) !== null && _d !== void 0 ? _d : type}: ${visibleWhiteSpace(n.raw)}`;
80
+ return `[${n.startLine}:${n.startCol}]>[${n.endLine}:${n.endCol}](${n.startOffset},${n.endOffset})${n.nodeName ?? n.potentialName ?? n.name ?? n.type ?? type}: ${visibleWhiteSpace(n.raw)}`;
86
81
  }
87
82
  function visibleWhiteSpace(chars) {
88
83
  return chars.replace(/\n/g, '⏎').replace(/\t/g, '→').replace(/\s/g, '␣');
@@ -1,5 +1,5 @@
1
- import type { MLNode } from '../node/node';
2
- import type { MLText } from '../node/text';
1
+ import type { MLNode } from '../node/node.js';
2
+ import type { MLText } from '../node/text.js';
3
3
  /**
4
4
  *
5
5
  * @deprecated