@vuepress/shared 2.0.0-beta.46 → 2.0.0-beta.49

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/dist/index.cjs CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -23,8 +24,6 @@ __export(src_exports, {
23
24
  ensureEndingSlash: () => ensureEndingSlash,
24
25
  ensureLeadingSlash: () => ensureLeadingSlash,
25
26
  formatDateString: () => formatDateString,
26
- htmlEscape: () => htmlEscape,
27
- htmlUnescape: () => htmlUnescape,
28
27
  isArray: () => import_shared.isArray,
29
28
  isFunction: () => import_shared.isFunction,
30
29
  isLinkExternal: () => isLinkExternal,
@@ -93,33 +92,6 @@ var formatDateString = (str, defaultDateString = "") => {
93
92
  return [yearStr, monthStr.padStart(2, "0"), dayStr.padStart(2, "0")].join("-");
94
93
  };
95
94
 
96
- // src/utils/htmlEscape.ts
97
- var htmlEscapeMap = {
98
- "&": "&",
99
- "<": "&lt;",
100
- ">": "&gt;",
101
- "'": "&#39;",
102
- '"': "&quot;"
103
- };
104
- var htmlEscapeRegexp = /[&<>'"]/g;
105
- var htmlEscape = (str) => str.replace(htmlEscapeRegexp, (char) => htmlEscapeMap[char]);
106
-
107
- // src/utils/htmlUnescape.ts
108
- var htmlUnescapeMap = {
109
- "&amp;": "&",
110
- "&#38;": "&",
111
- "&lt;": "<",
112
- "&#60;": "<",
113
- "&gt;": ">",
114
- "&#62;": ">",
115
- "&apos;": "'",
116
- "&#39;": "'",
117
- "&quot;": '"',
118
- "&#34;": '"'
119
- };
120
- var htmlUnescapeRegexp = /&(amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g;
121
- var htmlUnescape = (str) => str.replace(htmlUnescapeRegexp, (char) => htmlUnescapeMap[char]);
122
-
123
95
  // src/utils/isLinkFtp.ts
124
96
  var isLinkFtp = (link) => link.startsWith("ftp://");
125
97
 
@@ -127,11 +99,12 @@ var isLinkFtp = (link) => link.startsWith("ftp://");
127
99
  var isLinkHttp = (link) => /^(https?:)?\/\//.test(link);
128
100
 
129
101
  // src/utils/isLinkExternal.ts
102
+ var markdownLinkRegexp = /.md((\?|#).*)?$/;
130
103
  var isLinkExternal = (link, base = "/") => {
131
104
  if (isLinkHttp(link) || isLinkFtp(link)) {
132
105
  return true;
133
106
  }
134
- if (link.startsWith("/") && !link.startsWith(base) && !link.endsWith(".md")) {
107
+ if (link.startsWith("/") && !link.startsWith(base) && !markdownLinkRegexp.test(link)) {
135
108
  return true;
136
109
  }
137
110
  return false;
@@ -177,8 +150,6 @@ var resolveRoutePathFromUrl = (url, base = "/") => url.replace(/^(https?:)?\/\/[
177
150
  ensureEndingSlash,
178
151
  ensureLeadingSlash,
179
152
  formatDateString,
180
- htmlEscape,
181
- htmlUnescape,
182
153
  isArray,
183
154
  isFunction,
184
155
  isLinkExternal,
package/dist/index.d.ts CHANGED
@@ -35,7 +35,7 @@ declare type LocaleConfig<T extends LocaleData = LocaleData> = Record<string, Pa
35
35
  /**
36
36
  * Locales data
37
37
  */
38
- declare type LocaleData = Record<string, any>;
38
+ declare type LocaleData = Record<never, never>;
39
39
 
40
40
  /**
41
41
  * Base type of vuepress page
@@ -98,7 +98,7 @@ declare type PageFrontmatter<T extends Record<any, any> = Record<string, unknown
98
98
  lang?: string;
99
99
  layout?: string;
100
100
  permalink?: string;
101
- permalinkPattern?: string;
101
+ permalinkPattern?: string | null;
102
102
  routeMeta?: Record<string, unknown>;
103
103
  title?: string;
104
104
  };
@@ -220,16 +220,6 @@ declare const ensureEndingSlash: (str: string) => string;
220
220
  */
221
221
  declare const formatDateString: (str: string, defaultDateString?: string) => string;
222
222
 
223
- /**
224
- * Escape html chars
225
- */
226
- declare const htmlEscape: (str: string) => string;
227
-
228
- /**
229
- * Unescape html chars
230
- */
231
- declare const htmlUnescape: (str: string) => string;
232
-
233
223
  /**
234
224
  * Determine a link is external or not
235
225
  */
@@ -286,4 +276,4 @@ declare const resolveLocalePath: (locales: LocaleConfig, routePath: string) => s
286
276
 
287
277
  declare const resolveRoutePathFromUrl: (url: string, base?: string) => string;
288
278
 
289
- export { HeadAttrsConfig, HeadConfig, HeadTag, HeadTagEmpty, HeadTagNonEmpty, LocaleConfig, LocaleData, PageBase, PageData, PageFrontmatter, PageHeader, SiteData, SiteLocaleConfig, SiteLocaleData, VuepressSSRContext, dedupeHead, ensureEndingSlash, ensureLeadingSlash, formatDateString, htmlEscape, htmlUnescape, isLinkExternal, isLinkFtp, isLinkHttp, isLinkMailto, isLinkTel, isPlainObject, removeEndingSlash, removeLeadingSlash, resolveHeadIdentifier, resolveLocalePath, resolveRoutePathFromUrl };
279
+ export { HeadAttrsConfig, HeadConfig, HeadTag, HeadTagEmpty, HeadTagNonEmpty, LocaleConfig, LocaleData, PageBase, PageData, PageFrontmatter, PageHeader, SiteData, SiteLocaleConfig, SiteLocaleData, VuepressSSRContext, dedupeHead, ensureEndingSlash, ensureLeadingSlash, formatDateString, isLinkExternal, isLinkFtp, isLinkHttp, isLinkMailto, isLinkTel, isPlainObject, removeEndingSlash, removeLeadingSlash, resolveHeadIdentifier, resolveLocalePath, resolveRoutePathFromUrl };
package/dist/index.js CHANGED
@@ -49,33 +49,6 @@ var formatDateString = (str, defaultDateString = "") => {
49
49
  return [yearStr, monthStr.padStart(2, "0"), dayStr.padStart(2, "0")].join("-");
50
50
  };
51
51
 
52
- // src/utils/htmlEscape.ts
53
- var htmlEscapeMap = {
54
- "&": "&amp;",
55
- "<": "&lt;",
56
- ">": "&gt;",
57
- "'": "&#39;",
58
- '"': "&quot;"
59
- };
60
- var htmlEscapeRegexp = /[&<>'"]/g;
61
- var htmlEscape = (str) => str.replace(htmlEscapeRegexp, (char) => htmlEscapeMap[char]);
62
-
63
- // src/utils/htmlUnescape.ts
64
- var htmlUnescapeMap = {
65
- "&amp;": "&",
66
- "&#38;": "&",
67
- "&lt;": "<",
68
- "&#60;": "<",
69
- "&gt;": ">",
70
- "&#62;": ">",
71
- "&apos;": "'",
72
- "&#39;": "'",
73
- "&quot;": '"',
74
- "&#34;": '"'
75
- };
76
- var htmlUnescapeRegexp = /&(amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g;
77
- var htmlUnescape = (str) => str.replace(htmlUnescapeRegexp, (char) => htmlUnescapeMap[char]);
78
-
79
52
  // src/utils/isLinkFtp.ts
80
53
  var isLinkFtp = (link) => link.startsWith("ftp://");
81
54
 
@@ -83,11 +56,12 @@ var isLinkFtp = (link) => link.startsWith("ftp://");
83
56
  var isLinkHttp = (link) => /^(https?:)?\/\//.test(link);
84
57
 
85
58
  // src/utils/isLinkExternal.ts
59
+ var markdownLinkRegexp = /.md((\?|#).*)?$/;
86
60
  var isLinkExternal = (link, base = "/") => {
87
61
  if (isLinkHttp(link) || isLinkFtp(link)) {
88
62
  return true;
89
63
  }
90
- if (link.startsWith("/") && !link.startsWith(base) && !link.endsWith(".md")) {
64
+ if (link.startsWith("/") && !link.startsWith(base) && !markdownLinkRegexp.test(link)) {
91
65
  return true;
92
66
  }
93
67
  return false;
@@ -132,8 +106,6 @@ export {
132
106
  ensureEndingSlash,
133
107
  ensureLeadingSlash,
134
108
  formatDateString,
135
- htmlEscape,
136
- htmlUnescape,
137
109
  isArray,
138
110
  isFunction,
139
111
  isLinkExternal,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vuepress/shared",
3
- "version": "2.0.0-beta.46",
3
+ "version": "2.0.0-beta.49",
4
4
  "description": "Utils that shared between VuePress node and client",
5
5
  "keywords": [
6
6
  "vuepress",
@@ -20,6 +20,7 @@
20
20
  "type": "module",
21
21
  "exports": {
22
22
  ".": {
23
+ "types": "./dist/index.d.ts",
23
24
  "import": "./dist/index.js",
24
25
  "require": "./dist/index.cjs"
25
26
  },
@@ -32,7 +33,7 @@
32
33
  "dist"
33
34
  ],
34
35
  "dependencies": {
35
- "@vue/shared": "^3.2.35"
36
+ "@vue/shared": "^3.2.37"
36
37
  },
37
38
  "publishConfig": {
38
39
  "access": "public"