@vuepress/shared
Advanced tools
Comparing version 2.0.0-beta.50-pre.1 to 2.0.0-rc.0
@@ -0,1 +1,2 @@ | ||
import { MarkdownItHeader } from '@mdit-vue/types'; | ||
export { isArray, isFunction, isString } from '@vue/shared'; | ||
@@ -6,3 +7,3 @@ | ||
*/ | ||
declare type HeadConfig = [HeadTagEmpty, HeadAttrsConfig] | [HeadTagNonEmpty, HeadAttrsConfig, string]; | ||
type HeadConfig = [HeadTagEmpty, HeadAttrsConfig] | [HeadTagNonEmpty, HeadAttrsConfig, string]; | ||
/** | ||
@@ -13,15 +14,15 @@ * Allowed tags in `<head>` | ||
*/ | ||
declare type HeadTag = HeadTagNonEmpty | HeadTagEmpty; | ||
type HeadTag = HeadTagNonEmpty | HeadTagEmpty; | ||
/** | ||
* Non-empty tags in `<head>` | ||
*/ | ||
declare type HeadTagNonEmpty = 'title' | 'style' | 'script' | 'noscript' | 'template'; | ||
type HeadTagNonEmpty = 'title' | 'style' | 'script' | 'noscript' | 'template'; | ||
/** | ||
* Empty tags in `<head>` | ||
*/ | ||
declare type HeadTagEmpty = 'base' | 'link' | 'meta' | 'script'; | ||
type HeadTagEmpty = 'base' | 'link' | 'meta' | 'script'; | ||
/** | ||
* Attributes to be set for tags in `<head>` | ||
*/ | ||
declare type HeadAttrsConfig = Record<string, string | boolean>; | ||
type HeadAttrsConfig = Record<string, string | boolean>; | ||
@@ -36,7 +37,7 @@ /** | ||
*/ | ||
declare type LocaleConfig<T extends LocaleData = LocaleData> = Record<string, Partial<T>>; | ||
type LocaleConfig<T extends LocaleData = LocaleData> = Record<string, Partial<T>>; | ||
/** | ||
* Locales data | ||
*/ | ||
declare type LocaleData = Record<never, never>; | ||
type LocaleData = Record<never, never>; | ||
@@ -46,3 +47,3 @@ /** | ||
*/ | ||
declare type PageBase<ExtraPageFrontmatter extends Record<any, any> = Record<string, unknown>> = { | ||
interface PageBase<ExtraPageFrontmatter extends Record<any, any> = Record<string, unknown>> { | ||
/** | ||
@@ -80,14 +81,10 @@ * Identifier of the page | ||
/** | ||
* Excerpt of the page | ||
*/ | ||
excerpt: string; | ||
/** | ||
* Headers of the page | ||
*/ | ||
headers: PageHeader[]; | ||
}; | ||
} | ||
/** | ||
* Vuepress page data | ||
*/ | ||
declare type PageData<ExtraPageData extends Record<any, any> = Record<never, never>, ExtraPageFrontmatter extends Record<any, any> = Record<string, unknown>> = PageBase<ExtraPageFrontmatter> & ExtraPageData; | ||
type PageData<ExtraPageData extends Record<any, any> = Record<never, never>, ExtraPageFrontmatter extends Record<any, any> = Record<string, unknown>> = PageBase<ExtraPageFrontmatter> & ExtraPageData; | ||
/** | ||
@@ -99,3 +96,3 @@ * Vuepress page frontmatter | ||
*/ | ||
declare type PageFrontmatter<T extends Record<any, any> = Record<string, unknown>> = Partial<T> & { | ||
type PageFrontmatter<T extends Record<any, any> = Record<string, unknown>> = Partial<T> & { | ||
date?: string | Date; | ||
@@ -114,8 +111,3 @@ description?: string; | ||
*/ | ||
interface PageHeader { | ||
level: number; | ||
title: string; | ||
slug: string; | ||
children: PageHeader[]; | ||
} | ||
type PageHeader = MarkdownItHeader; | ||
@@ -198,3 +190,3 @@ /** | ||
*/ | ||
declare type SiteLocaleConfig = LocaleConfig<SiteLocaleData>; | ||
type SiteLocaleConfig = LocaleConfig<SiteLocaleData>; | ||
@@ -237,7 +229,2 @@ /** | ||
/** | ||
* Determine a link is ftp link or not | ||
*/ | ||
declare const isLinkFtp: (link: string) => boolean; | ||
/** | ||
* Determine a link is http link or not | ||
@@ -252,15 +239,15 @@ * | ||
/** | ||
* Determine a link is a mailto: address or not | ||
* Determine a link has protocol or not | ||
*/ | ||
declare const isLinkMailto: (link: string) => boolean; | ||
declare const isLinkWithProtocol: (link: string) => boolean; | ||
/** | ||
* Determine a link is a tel: address or not | ||
* Check if a value is plain object, with generic type support | ||
*/ | ||
declare const isLinkTel: (link: string) => boolean; | ||
declare const isPlainObject: <T extends Record<any, any> = Record<any, any>>(val: unknown) => val is T; | ||
/** | ||
* Check if a value is plain object, with generic type support | ||
* Omit properties from an object | ||
*/ | ||
declare const isPlainObject: <T extends Record<any, any> = Record<any, any>>(val: unknown) => val is T; | ||
declare const omit: <T extends Record<string, unknown>, U extends string[]>(obj: T, ...keys: U) => Omit<T, U[number]>; | ||
@@ -289,2 +276,2 @@ /** | ||
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 }; | ||
export { HeadAttrsConfig, HeadConfig, HeadTag, HeadTagEmpty, HeadTagNonEmpty, LocaleConfig, LocaleData, PageBase, PageData, PageFrontmatter, PageHeader, SiteData, SiteLocaleConfig, SiteLocaleData, VuepressSSRContext, dedupeHead, ensureEndingSlash, ensureLeadingSlash, formatDateString, isLinkExternal, isLinkHttp, isLinkWithProtocol, isPlainObject, omit, removeEndingSlash, removeLeadingSlash, resolveHeadIdentifier, resolveLocalePath, resolveRoutePathFromUrl }; |
@@ -37,6 +37,6 @@ // src/utils/index.ts | ||
// src/utils/ensureLeadingSlash.ts | ||
var ensureLeadingSlash = (str) => str.replace(/^\/?/, "/"); | ||
var ensureLeadingSlash = (str) => str[0] === "/" ? str : `/${str}`; | ||
// src/utils/ensureEndingSlash.ts | ||
var ensureEndingSlash = (str) => /(\.html|\/)$/.test(str) ? str : str + "/"; | ||
var ensureEndingSlash = (str) => str[str.length - 1] === "/" || str.endsWith(".html") ? str : `${str}/`; | ||
@@ -53,5 +53,2 @@ // src/utils/formatDateString.ts | ||
// src/utils/isLinkFtp.ts | ||
var isLinkFtp = (link) => link.startsWith("ftp://"); | ||
// src/utils/isLinkHttp.ts | ||
@@ -63,3 +60,3 @@ var isLinkHttp = (link) => /^(https?:)?\/\//.test(link); | ||
var isLinkExternal = (link, base = "/") => { | ||
if (isLinkHttp(link) || isLinkFtp(link)) { | ||
if (isLinkHttp(link)) { | ||
return true; | ||
@@ -73,16 +70,22 @@ } | ||
// src/utils/isLinkMailto.ts | ||
var isLinkMailto = (link) => /^mailto:/.test(link); | ||
// src/utils/isLinkWithProtocol.ts | ||
var isLinkWithProtocol = (link) => /^[a-z][a-z0-9+.-]*:/.test(link); | ||
// src/utils/isLinkTel.ts | ||
var isLinkTel = (link) => /^tel:/.test(link); | ||
// src/utils/isPlainObject.ts | ||
var isPlainObject = (val) => Object.prototype.toString.call(val) === "[object Object]"; | ||
// src/utils/omit.ts | ||
var omit = (obj, ...keys) => { | ||
const result = { ...obj }; | ||
for (const key of keys) { | ||
delete result[key]; | ||
} | ||
return result; | ||
}; | ||
// src/utils/removeEndingSlash.ts | ||
var removeEndingSlash = (str) => str.replace(/\/$/, ""); | ||
var removeEndingSlash = (str) => str[str.length - 1] === "/" ? str.slice(0, -1) : str; | ||
// src/utils/removeLeadingSlash.ts | ||
var removeLeadingSlash = (str) => str.replace(/^\//, ""); | ||
var removeLeadingSlash = (str) => str[0] === "/" ? str.slice(1) : str; | ||
@@ -107,3 +110,6 @@ // src/utils/resolveLocalePath.ts | ||
// src/utils/resolveRoutePathFromUrl.ts | ||
var resolveRoutePathFromUrl = (url, base = "/") => url.replace(/^(https?:)?\/\/[^/]*/, "").replace(new RegExp(`^${base}`), "/"); | ||
var resolveRoutePathFromUrl = (url, base = "/") => { | ||
const pathname = url.replace(/^(https?:)?\/\/[^/]*/, ""); | ||
return pathname.startsWith(base) ? `/${pathname.slice(base.length)}` : pathname; | ||
}; | ||
export { | ||
@@ -117,8 +123,7 @@ dedupeHead, | ||
isLinkExternal, | ||
isLinkFtp, | ||
isLinkHttp, | ||
isLinkMailto, | ||
isLinkTel, | ||
isLinkWithProtocol, | ||
isPlainObject, | ||
isString, | ||
omit, | ||
removeEndingSlash, | ||
@@ -125,0 +130,0 @@ removeLeadingSlash, |
{ | ||
"name": "@vuepress/shared", | ||
"version": "2.0.0-beta.50-pre.1", | ||
"version": "2.0.0-rc.0", | ||
"description": "Utils that shared between VuePress node and client", | ||
@@ -32,3 +32,4 @@ "keywords": [ | ||
"dependencies": { | ||
"@vue/shared": "^3.2.37" | ||
"@mdit-vue/types": "^1.0.0", | ||
"@vue/shared": "^3.3.8" | ||
}, | ||
@@ -49,3 +50,3 @@ "publishConfig": { | ||
"sourcemap": false, | ||
"target": "es2020", | ||
"target": "es2022", | ||
"tsconfig": "../tsconfig.dts.json" | ||
@@ -52,0 +53,0 @@ }, |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
0
12407
2
361
+ Added@mdit-vue/types@^1.0.0
+ Added@mdit-vue/types@1.0.0(transitive)
+ Added@vue/shared@3.5.4(transitive)
- Removed@vue/shared@3.5.3(transitive)
Updated@vue/shared@^3.3.8