md-hopper 1.0.7 → 1.1.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.
@@ -39,6 +39,7 @@ export interface EndLinksProperties {
39
39
  export declare const LINK_NAME_PREFIX = "md_hopper:";
40
40
  export declare const BEGIN_COMMENT = "<!--";
41
41
  export declare const END_COMMENT = "-->";
42
+ export declare const END_COMMENT_PATTERN = "--!?>";
42
43
  export declare const PARAM_SEPARATOR = ":";
43
44
  export declare const MD_HOPPER_COMMENT_PREFIX = "MD_HOPPER";
44
45
  export declare const COMMENT_REG_EXP: RegExp;
@@ -1 +1 @@
1
- {"version":3,"file":"md.d.ts","sourceRoot":"","sources":["../../../../src/lib/_internal/types/md.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;CAQtB,CAAA;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,QAAS,SAAQ,YAAY;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,MAAO,SAAQ,QAAQ,EAAE,iBAAiB;CAAG;AAE9D,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,IAAI,CAAA;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,OAAO,CAAA;IACZ,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,gBAAgB,eAAe,CAAA;AAC5C,eAAO,MAAM,aAAa,SAAS,CAAA;AACnC,eAAO,MAAM,WAAW,QAAQ,CAAA;AAChC,eAAO,MAAM,eAAe,MAAM,CAAA;AAClC,eAAO,MAAM,wBAAwB,cAAc,CAAA;AACnD,eAAO,MAAM,eAAe,QAA4D,CAAA;AACxF,eAAO,MAAM,kBAAkB,QAA2B,CAAA;AAC1D,eAAO,MAAM,YAAY,QAAsD,CAAA;AAC/E,eAAO,MAAM,gCAAgC,QAE5C,CAAA;AACD,eAAO,MAAM,wBAAwB,QAGpC,CAAA;AACD,eAAO,MAAM,yBAAyB,QAGrC,CAAA;AACD,eAAO,MAAM,0BAA0B,QAAoE,CAAA;AAC3G,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,WAItC,CAAA"}
1
+ {"version":3,"file":"md.d.ts","sourceRoot":"","sources":["../../../../src/lib/_internal/types/md.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU;;;;;;;;CAQtB,CAAA;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,QAAS,SAAQ,YAAY;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,aAAa,EAAE,MAAM,EAAE,CAAA;IACvB,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,MAAO,SAAQ,QAAQ,EAAE,iBAAiB;CAAG;AAE9D,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,IAAI,CAAA;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,OAAO,CAAA;IACZ,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,OAAO,CAAA;IACd,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,eAAO,MAAM,gBAAgB,eAAe,CAAA;AAC5C,eAAO,MAAM,aAAa,SAAS,CAAA;AACnC,eAAO,MAAM,WAAW,QAAQ,CAAA;AAEhC,eAAO,MAAM,mBAAmB,UAAU,CAAA;AAC1C,eAAO,MAAM,eAAe,MAAM,CAAA;AAClC,eAAO,MAAM,wBAAwB,cAAc,CAAA;AACnD,eAAO,MAAM,eAAe,QAAgE,CAAA;AAC5F,eAAO,MAAM,kBAAkB,QAA2B,CAAA;AAC1D,eAAO,MAAM,YAAY,QAAsD,CAAA;AAC/E,eAAO,MAAM,gCAAgC,QAE5C,CAAA;AACD,eAAO,MAAM,wBAAwB,QAGpC,CAAA;AACD,eAAO,MAAM,yBAAyB,QAGrC,CAAA;AACD,eAAO,MAAM,0BAA0B,QAAoE,CAAA;AAC3G,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,WAItC,CAAA"}
@@ -10,13 +10,15 @@ export const PROPERTIES = {
10
10
  export const LINK_NAME_PREFIX = 'md_hopper:';
11
11
  export const BEGIN_COMMENT = '<!--';
12
12
  export const END_COMMENT = '-->';
13
+ // 正規表現に埋め込む終端パターン。HTML のコメントは `--!>` でも閉じるため、それも終端として扱う
14
+ export const END_COMMENT_PATTERN = '--!?>';
13
15
  export const PARAM_SEPARATOR = ':';
14
16
  export const MD_HOPPER_COMMENT_PREFIX = 'MD_HOPPER';
15
- export const COMMENT_REG_EXP = new RegExp(`${BEGIN_COMMENT}\\s*.*?${END_COMMENT}`, 'gs');
17
+ export const COMMENT_REG_EXP = new RegExp(`${BEGIN_COMMENT}.*?${END_COMMENT_PATTERN}`, 'gs');
16
18
  export const BRAKE_LINE_REG_EXP = new RegExp(/\r?\n/, 'g');
17
19
  export const LINK_REG_EXP = new RegExp('^(\\s*.*)\\[(.+)][(|\\[](.+)[)|\\]].*');
18
20
  export const MD_HOPPER_COMMENT_PREFIX_REG_EXP = new RegExp(`${BEGIN_COMMENT}\\s*${MD_HOPPER_COMMENT_PREFIX}${PARAM_SEPARATOR}\\s*`);
19
- export const MD_HOPPER_PARAMS_REG_EXP = new RegExp(`^[^${PARAM_SEPARATOR}]+${PARAM_SEPARATOR}(.*?)${END_COMMENT}.*`, 's');
20
- export const MD_HOPPER_CONTENT_REG_EXP = new RegExp(`^[^${PARAM_SEPARATOR}]+${PARAM_SEPARATOR}.*${END_COMMENT}(.*)`, 's');
21
+ export const MD_HOPPER_PARAMS_REG_EXP = new RegExp(`^[^${PARAM_SEPARATOR}]+${PARAM_SEPARATOR}(.*?)${END_COMMENT_PATTERN}.*`, 's');
22
+ export const MD_HOPPER_CONTENT_REG_EXP = new RegExp(`^[^${PARAM_SEPARATOR}]+${PARAM_SEPARATOR}.*?${END_COMMENT_PATTERN}(.*)`, 's');
21
23
  export const MD_HOPPER_PROPERTY_REG_EXP = new RegExp(`^([^${PARAM_SEPARATOR}]+?)${PARAM_SEPARATOR}.*`, 's');
22
- export const getParamExp = (param) => new RegExp(`${BEGIN_COMMENT}\\s*${MD_HOPPER_COMMENT_PREFIX}\\s*${PARAM_SEPARATOR}\\s*${param}\\s*${PARAM_SEPARATOR}.*?${END_COMMENT}\\n*`, 'gs');
24
+ export const getParamExp = (param) => new RegExp(`${BEGIN_COMMENT}\\s*${MD_HOPPER_COMMENT_PREFIX}\\s*${PARAM_SEPARATOR}\\s*${param}\\s*${PARAM_SEPARATOR}.*?${END_COMMENT_PATTERN}\\n*`, 'gs');
@@ -21,8 +21,8 @@ export const getElements = (txt) => {
21
21
  };
22
22
  export const getProperties = (txt) => {
23
23
  const { indent, token } = getElements(txt);
24
- let symbol = '';
25
- let text = '';
24
+ let symbol;
25
+ let text;
26
26
  switch (token.type) {
27
27
  case TOKEN_TYPES.list: {
28
28
  const symbolAndText = getSymbolAndText(token.items[0]);
@@ -1 +1 @@
1
- {"version":3,"file":"md.d.ts","sourceRoot":"","sources":["../../../../src/lib/_internal/utils/md.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,MAAM,EAiBP,MAAM,cAAc,CAAA;AAMrB,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,WAOhD,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,WACyD,CAAA;AACrH,eAAO,MAAM,YAAY,GAAI,WAAW,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,WAKhF,CAAA;AACD,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;AAC9D,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,aAAa,GAAG,aAAa,EAAE,WAAW,CAAC,WACsB,CAAA;AAC5G,eAAO,MAAM,WAAW,GAAI,IAAI,MAAM,EAAE,OAAO,MAAM,WAEpD,CAAA;AASD,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,WASnC,CAAA;AAgMD,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,EAAE,SAAS,MAAM,EAAE,WAmDxD,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,IAAI,MAAM,KAAG,YAW9C,CAAA"}
1
+ {"version":3,"file":"md.d.ts","sourceRoot":"","sources":["../../../../src/lib/_internal/utils/md.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,MAAM,EAkBP,MAAM,cAAc,CAAA;AAMrB,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,WAOhD,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,EAAE,OAAO,MAAM,WACyD,CAAA;AACrH,eAAO,MAAM,YAAY,GAAI,WAAW,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,WAKhF,CAAA;AACD,KAAK,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAA;AAC9D,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,aAAa,GAAG,aAAa,EAAE,WAAW,CAAC,WACsB,CAAA;AAC5G,eAAO,MAAM,WAAW,GAAI,IAAI,MAAM,EAAE,OAAO,MAAM,WAEpD,CAAA;AASD,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,WASnC,CAAA;AAgMD,eAAO,MAAM,OAAO,GAAI,QAAQ,MAAM,EAAE,SAAS,MAAM,EAAE,WAoDxD,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,IAAI,MAAM,KAAG,YAW9C,CAAA"}
@@ -1,11 +1,11 @@
1
1
  import { readFileSync } from 'fs';
2
- import { PROPERTIES, LINK_NAME_PREFIX, COMMENT_REG_EXP, PARAM_SEPARATOR, LINK_REG_EXP, MD_HOPPER_COMMENT_PREFIX, MD_HOPPER_COMMENT_PREFIX_REG_EXP, MD_HOPPER_PROPERTY_REG_EXP, MD_HOPPER_PARAMS_REG_EXP, BRAKE_LINE_REG_EXP, MD_HOPPER_CONTENT_REG_EXP, BEGIN_COMMENT, END_COMMENT, getParamExp, } from '../types/md.js';
2
+ import { PROPERTIES, LINK_NAME_PREFIX, COMMENT_REG_EXP, PARAM_SEPARATOR, LINK_REG_EXP, MD_HOPPER_COMMENT_PREFIX, MD_HOPPER_COMMENT_PREFIX_REG_EXP, MD_HOPPER_PROPERTY_REG_EXP, MD_HOPPER_PARAMS_REG_EXP, BRAKE_LINE_REG_EXP, MD_HOPPER_CONTENT_REG_EXP, BEGIN_COMMENT, END_COMMENT, END_COMMENT_PATTERN, getParamExp, } from '../types/md.js';
3
3
  import { replaceLineToLink } from './md/line.js';
4
4
  import { getRelative } from './path.js';
5
5
  import { isBoolean } from './type-check.js';
6
6
  export const getParam = (txt, key) => {
7
7
  const PREFIX = `${BEGIN_COMMENT}\\s*${MD_HOPPER_COMMENT_PREFIX}:\\s*${key}:`;
8
- const reg = new RegExp(`${PREFIX}(.*?)${END_COMMENT}`, 's');
8
+ const reg = new RegExp(`${PREFIX}(.*?)${END_COMMENT_PATTERN}`, 's');
9
9
  if (!reg.test(txt)) {
10
10
  return '';
11
11
  }
@@ -207,20 +207,21 @@ export const replace = (detail, details) => {
207
207
  }
208
208
  const property = _section.replace(MD_HOPPER_PROPERTY_REG_EXP, '$1');
209
209
  const { params, content: _content } = getSectionParams(_section);
210
- let content = _content;
211
210
  let section = _section;
212
211
  switch (property) {
213
- case PROPERTIES.LINK_NEXT_LINE:
214
- content = getLinkContent(detail.path, _content, params, details);
212
+ case PROPERTIES.LINK_NEXT_LINE: {
213
+ const content = getLinkContent(detail.path, _content, params, details);
215
214
  section = getSectionByContent(property, params, content);
216
215
  break;
217
- case PROPERTIES.BEGIN_LINKS:
218
- content = getLinksContent(params, linksDetails, lineLinksDetails);
216
+ }
217
+ case PROPERTIES.BEGIN_LINKS: {
218
+ const content = getLinksContent(params, linksDetails, lineLinksDetails);
219
219
  section = getSectionByContent(property, params, content);
220
220
  if (!hasEndLinksSection) {
221
221
  section += `\n${BEGIN_COMMENT} ${MD_HOPPER_COMMENT_PREFIX}${PARAM_SEPARATOR} ${PROPERTIES.END_LINKS}${PARAM_SEPARATOR} ${END_COMMENT}`;
222
222
  }
223
223
  break;
224
+ }
224
225
  case PROPERTIES.BEGIN_DEFINE_LINKS:
225
226
  section = getSectionByContent(property, params, getDefineLinksContent(detail.dir, linksDetails, lineLinksDetails, hasEndDefineLinksSection));
226
227
  break;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "md-hopper",
3
- "version": "1.0.7",
3
+ "version": "1.1.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -22,31 +22,25 @@
22
22
  "md",
23
23
  "links"
24
24
  ],
25
- "main": "./dist/index.js",
26
- "module": "./dist/index.js",
27
- "types": "./dist/index.d.ts",
28
25
  "exports": {
29
- "./package.json": "./package.json",
30
- ".": {
31
- "@my-packages/source": "./src/index.ts",
32
- "types": "./dist/index.d.ts",
33
- "import": "./dist/index.js",
34
- "default": "./dist/index.js"
35
- }
26
+ "./package.json": "./package.json"
36
27
  },
37
28
  "files": [
38
29
  "dist",
39
30
  "!**/*.tsbuildinfo"
40
31
  ],
41
32
  "dependencies": {
42
- "@inquirer/prompts": "^8.5.2",
43
- "chalk": "^5.6.2",
33
+ "@inquirer/prompts": "^8.7.5",
34
+ "chalk": "^6.0.1",
44
35
  "commander": "^15.0.0",
45
36
  "inquirer-plugins": "^1.0.8",
46
- "marked": "^18.0.6",
47
- "minimatch": "^10.2.5",
37
+ "marked": "^18.1.2",
38
+ "minimatch": "^10.2.6",
48
39
  "my-gadgetry": "^1.3.11",
49
40
  "tslib": "^2.3.0",
50
41
  "uuid": "^14.0.1"
42
+ },
43
+ "engines": {
44
+ "node": "^22.13.0 || >=23.5.0"
51
45
  }
52
46
  }