Socket
Socket
Sign inDemoInstall

@vuepress/shared

Package Overview
Dependencies
Maintainers
6
Versions
75
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vuepress/shared - npm Package Compare versions

Comparing version 2.0.0-beta.50-pre.1 to 2.0.0-rc.0

55

dist/index.d.ts

@@ -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 @@ },

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc