WOHOO actual dev scripts now
This commit is contained in:
parent
afdf62b7cb
commit
6e82e1fbe8
18 changed files with 634 additions and 763 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -132,3 +132,4 @@ dist
|
|||
ignore
|
||||
posts
|
||||
templates
|
||||
data
|
||||
|
|
|
@ -5,10 +5,11 @@ RUN yarn install --production
|
|||
RUN yarn global add typescript
|
||||
RUN tsc
|
||||
RUN mkdir /app
|
||||
RUN cp -r /tmp/build/* /app
|
||||
RUN cp -r /tmp/data/default_posts /app/default_posts
|
||||
RUN cp -r /tmp/*.json /app
|
||||
RUN cp -r /tmp/build/src /app
|
||||
RUN cp -r /tmp/src/views /app/src/
|
||||
RUN cp -r /tmp/data.template/ /app/data.template
|
||||
RUN cp -r /tmp/node_modules /app
|
||||
RUN cp -r /tmp/data/default_templates /app/default_templates
|
||||
COPY ./scripts/docker_run.sh /app/run.sh
|
||||
WORKDIR /app
|
||||
CMD ["/app/run.sh"]
|
||||
CMD ["npm", "run", "docker:prod:run"]
|
||||
|
|
6
data.template/config.json
Normal file
6
data.template/config.json
Normal file
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"branding": {
|
||||
"title": "hexlocation's blog"
|
||||
},
|
||||
"theme":"default"
|
||||
}
|
1120
package-lock.json
generated
1120
package-lock.json
generated
File diff suppressed because it is too large
Load diff
11
package.json
11
package.json
|
@ -8,5 +8,14 @@
|
|||
"jsdom": "^24.0.0",
|
||||
"marked": "^12.0.1"
|
||||
},
|
||||
"devDependencies": {}
|
||||
"devDependencies": {
|
||||
"tsconfig-paths": "^4.2.0"
|
||||
},
|
||||
"scripts":{
|
||||
"docker:build": "bash scripts/docker_build.sh",
|
||||
"docker:test": "bash scripts/docker_test.sh",
|
||||
"docker:test:bash": "bash scripts/docker_test_bash.sh",
|
||||
"docker:prod:run": "/bin/sh /app/run.sh",
|
||||
"dev:run": "ts-node -r tsconfig-paths/register src/index.ts"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# Disseminate Build Script
|
||||
# This script builds disseminate into a docker container, using the dockerfile provided in the repository.
|
||||
|
||||
cd ..
|
||||
docker build . -t disseminate:latest
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
# I'm so bad at bash scripting
|
||||
cat << EOF
|
||||
|
||||
____ ______________ __
|
||||
/ __ \/ _/ ___/ ___// /
|
||||
/ / / // / \__ \\__ \/ /
|
||||
|
@ -14,27 +13,15 @@ if [ ! -d data ]; then
|
|||
echo '-------------'
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -f data/config.json ]; then
|
||||
if [ -z "$(find data -mindepth 1 -maxdepth 1)" ]; then
|
||||
echo '-------------'
|
||||
echo 'Config file not found. Please create one.'
|
||||
echo 'Data directory is empty, copying template.'
|
||||
echo '-------------'
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$(find posts -mindepth 1 -maxdepth 1)" ]; then
|
||||
echo '-------------'
|
||||
echo 'Posts directory is empty, copying default...'
|
||||
echo '-------------'
|
||||
cp -r default_posts/* data/posts
|
||||
fi
|
||||
if [ -z "$(find templates -mindepth 1 -maxdepth 1)" ]; then
|
||||
echo '-------------'
|
||||
echo 'Template directory is empty, copying default...'
|
||||
echo '-------------'
|
||||
cp -r default_templates/* data/templates
|
||||
cp -r data.template/* data/
|
||||
fi
|
||||
|
||||
|
||||
echo 'Starting...'
|
||||
node index.js
|
||||
node src/index.js
|
||||
echo 'Exiting...'
|
||||
|
||||
|
|
5
scripts/docker_test.sh
Executable file
5
scripts/docker_test.sh
Executable file
|
@ -0,0 +1,5 @@
|
|||
# Disseminate docker test script
|
||||
|
||||
mkdir ignore
|
||||
cd ignore
|
||||
docker run --rm -it -p 3024:3024 -v ./data:/app/data disseminate:latest
|
6
scripts/docker_test_bash.sh
Executable file
6
scripts/docker_test_bash.sh
Executable file
|
@ -0,0 +1,6 @@
|
|||
# Disseminate docker test script
|
||||
|
||||
mkdir ignore
|
||||
cd ignore
|
||||
docker run --rm -it -p 3024:3024 -v ./data:/app/data disseminate:latest /bin/sh
|
||||
rm ignore
|
69
src/index.ts
Normal file
69
src/index.ts
Normal file
|
@ -0,0 +1,69 @@
|
|||
import marked from "marked";
|
||||
import express from "express"
|
||||
import ejs from "ejs";
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import jsdom from "jsdom";
|
||||
import IConfig from "@src/types/Config";
|
||||
|
||||
let config: IConfig = JSON.parse(fs.readFileSync(path.join(__dirname, '../', 'data', 'config.json'), 'utf-8'))
|
||||
let app = express();
|
||||
|
||||
// set view engine to ejs
|
||||
app.set("view engine", "ejs")
|
||||
app.set('views', path.join(__dirname, 'views', 'themes', config.theme))
|
||||
|
||||
// type for post object
|
||||
type Post = {
|
||||
file: string;
|
||||
title: string;
|
||||
parsedPost: string;
|
||||
rawPost: string;
|
||||
metadata: fs.Stats;
|
||||
}
|
||||
|
||||
// html stripper, used for title
|
||||
async function htmlstripper(html: string){
|
||||
return new jsdom.JSDOM(html).window.document.body.textContent || " ";
|
||||
}
|
||||
|
||||
// returns Post array
|
||||
async function contentScan(){
|
||||
let posts: Post[] = []
|
||||
let postsDir = path.join(__dirname, '../', 'data',"posts")
|
||||
let files = await fs.readdirSync(postsDir).filter((name: string) => name.toLowerCase().endsWith(".md"))
|
||||
for (const file of files) {
|
||||
let postPath = path.join(postsDir, file)
|
||||
let metadata = fs.statSync(postPath)
|
||||
let postContent = fs.readFileSync(postPath, "utf-8")
|
||||
posts.push(
|
||||
{
|
||||
file: file,
|
||||
title: await htmlstripper(
|
||||
await marked.parse(
|
||||
postContent.split("\n")[0]
|
||||
)
|
||||
),
|
||||
metadata: metadata,
|
||||
parsedPost: await marked.parse(postContent),
|
||||
rawPost: postContent
|
||||
}
|
||||
)
|
||||
}
|
||||
return posts;
|
||||
}
|
||||
|
||||
app.get("/", async (req:express.Request,res:express.Response) => {
|
||||
res.render(`index`, {posts: (await contentScan()), config: config})
|
||||
});
|
||||
|
||||
app.use("/post/:post", async (req:express.Request,res:express.Response) => {
|
||||
let pathToPost = path.join(__dirname, '../', 'data', "posts", req.params.post);
|
||||
if(!fs.existsSync(pathToPost)) return res.end("404.");
|
||||
let posts = await contentScan();
|
||||
let post = posts.filter(post => post.file === req.params.post)
|
||||
if(!post[0]) return res.end("404.")
|
||||
res.render(`post`, {posts: posts, post: post[0], config: config})
|
||||
})
|
||||
|
||||
app.listen(3024)
|
7
src/types/Config.ts
Normal file
7
src/types/Config.ts
Normal file
|
@ -0,0 +1,7 @@
|
|||
export interface Branding {
|
||||
title: string;
|
||||
}
|
||||
export default interface Config {
|
||||
branding: Branding;
|
||||
theme: string;
|
||||
}
|
|
@ -26,9 +26,9 @@
|
|||
|
||||
/* Modules */
|
||||
"module": "commonjs", /* Specify what module code is generated. */
|
||||
// "rootDir": "./", /* Specify the root folder within your source files. */
|
||||
"rootDir": "./", /* Specify the root folder within your source files. */
|
||||
// "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */
|
||||
// "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
|
||||
"baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */
|
||||
// "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */
|
||||
// "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */
|
||||
// "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */
|
||||
|
@ -104,6 +104,20 @@
|
|||
|
||||
/* Completeness */
|
||||
// "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */
|
||||
"skipLibCheck": true /* Skip type checking all .d.ts files. */
|
||||
"skipLibCheck": true /* Skip type checking all .d.ts files. */,
|
||||
"paths": {
|
||||
"@src/*": ["src/*"],
|
||||
"@data/*": ["data/*"]// absolute paths
|
||||
}
|
||||
},
|
||||
"include": [
|
||||
"src/**/*" // Include all files in the src directory
|
||||
],
|
||||
"exclude": [
|
||||
"node_modules", // Exclude the node_modules directory
|
||||
"**/*.spec.ts",
|
||||
"**/*.test.ts",
|
||||
"data"// Exclude test files
|
||||
],
|
||||
"assets": ["src/views/**/*"]
|
||||
}
|
||||
|
|
117
yarn.lock
117
yarn.lock
|
@ -19,7 +19,7 @@
|
|||
|
||||
"@types/ejs@^3.1.5":
|
||||
version "3.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/ejs/-/ejs-3.1.5.tgz#49d738257cc73bafe45c13cb8ff240683b4d5117"
|
||||
resolved "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz"
|
||||
integrity sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==
|
||||
|
||||
"@types/express-serve-static-core@^4.17.33":
|
||||
|
@ -49,7 +49,7 @@
|
|||
|
||||
"@types/jsdom@^21.1.6":
|
||||
version "21.1.6"
|
||||
resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-21.1.6.tgz#bcbc7b245787ea863f3da1ef19aa1dcfb9271a1b"
|
||||
resolved "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.6.tgz"
|
||||
integrity sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
@ -97,7 +97,7 @@
|
|||
|
||||
"@types/tough-cookie@*":
|
||||
version "4.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.5.tgz#cb6e2a691b70cb177c6e3ae9c1d2e8b2ea8cd304"
|
||||
resolved "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz"
|
||||
integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==
|
||||
|
||||
accepts@~1.3.8:
|
||||
|
@ -110,7 +110,7 @@ accepts@~1.3.8:
|
|||
|
||||
agent-base@^7.0.2, agent-base@^7.1.0:
|
||||
version "7.1.0"
|
||||
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.0.tgz#536802b76bc0b34aa50195eb2442276d613e3434"
|
||||
resolved "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz"
|
||||
integrity sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==
|
||||
dependencies:
|
||||
debug "^4.3.4"
|
||||
|
@ -134,7 +134,7 @@ async@^3.2.3:
|
|||
|
||||
asynckit@^0.4.0:
|
||||
version "0.4.0"
|
||||
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
|
||||
resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
|
||||
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
|
||||
|
||||
balanced-match@^1.0.0:
|
||||
|
@ -213,7 +213,7 @@ color-name@~1.1.4:
|
|||
|
||||
combined-stream@^1.0.8:
|
||||
version "1.0.8"
|
||||
resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
|
||||
resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
|
||||
integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
|
||||
dependencies:
|
||||
delayed-stream "~1.0.0"
|
||||
|
@ -247,19 +247,26 @@ cookie@0.6.0:
|
|||
|
||||
cssstyle@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-4.0.1.tgz#ef29c598a1e90125c870525490ea4f354db0660a"
|
||||
resolved "https://registry.npmjs.org/cssstyle/-/cssstyle-4.0.1.tgz"
|
||||
integrity sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==
|
||||
dependencies:
|
||||
rrweb-cssom "^0.6.0"
|
||||
|
||||
data-urls@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-5.0.0.tgz#2f76906bce1824429ffecb6920f45a0b30f00dde"
|
||||
resolved "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz"
|
||||
integrity sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==
|
||||
dependencies:
|
||||
whatwg-mimetype "^4.0.0"
|
||||
whatwg-url "^14.0.0"
|
||||
|
||||
debug@^4.3.4:
|
||||
version "4.3.4"
|
||||
resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
|
||||
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
||||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
debug@2.6.9:
|
||||
version "2.6.9"
|
||||
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
|
||||
|
@ -267,16 +274,16 @@ debug@2.6.9:
|
|||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@4, debug@^4.3.4:
|
||||
debug@4:
|
||||
version "4.3.4"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
||||
resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
|
||||
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
||||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
decimal.js@^10.4.3:
|
||||
version "10.4.3"
|
||||
resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23"
|
||||
resolved "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz"
|
||||
integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==
|
||||
|
||||
define-data-property@^1.1.4:
|
||||
|
@ -290,7 +297,7 @@ define-data-property@^1.1.4:
|
|||
|
||||
delayed-stream@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
|
||||
resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
|
||||
integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
|
||||
|
||||
depd@2.0.0:
|
||||
|
@ -322,7 +329,7 @@ encodeurl@~1.0.2:
|
|||
|
||||
entities@^4.4.0:
|
||||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
|
||||
resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz"
|
||||
integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
|
||||
|
||||
es-define-property@^1.0.0:
|
||||
|
@ -406,7 +413,7 @@ finalhandler@1.2.0:
|
|||
|
||||
form-data@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
|
||||
resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz"
|
||||
integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
|
||||
dependencies:
|
||||
asynckit "^0.4.0"
|
||||
|
@ -477,7 +484,7 @@ hasown@^2.0.0:
|
|||
|
||||
html-encoding-sniffer@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz#696df529a7cfd82446369dc5193e590a3735b448"
|
||||
resolved "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz"
|
||||
integrity sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==
|
||||
dependencies:
|
||||
whatwg-encoding "^3.1.1"
|
||||
|
@ -495,7 +502,7 @@ http-errors@2.0.0:
|
|||
|
||||
http-proxy-agent@^7.0.0:
|
||||
version "7.0.2"
|
||||
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz#9a8b1f246866c028509486585f62b8f2c18c270e"
|
||||
resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz"
|
||||
integrity sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==
|
||||
dependencies:
|
||||
agent-base "^7.1.0"
|
||||
|
@ -503,7 +510,7 @@ http-proxy-agent@^7.0.0:
|
|||
|
||||
https-proxy-agent@^7.0.2:
|
||||
version "7.0.4"
|
||||
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz#8e97b841a029ad8ddc8731f26595bad868cb4168"
|
||||
resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz"
|
||||
integrity sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==
|
||||
dependencies:
|
||||
agent-base "^7.0.2"
|
||||
|
@ -518,7 +525,7 @@ iconv-lite@0.4.24:
|
|||
|
||||
iconv-lite@0.6.3:
|
||||
version "0.6.3"
|
||||
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501"
|
||||
resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz"
|
||||
integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
|
||||
dependencies:
|
||||
safer-buffer ">= 2.1.2 < 3.0.0"
|
||||
|
@ -535,7 +542,7 @@ ipaddr.js@1.9.1:
|
|||
|
||||
is-potential-custom-element-name@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
|
||||
resolved "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz"
|
||||
integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==
|
||||
|
||||
jake@^10.8.5:
|
||||
|
@ -550,7 +557,7 @@ jake@^10.8.5:
|
|||
|
||||
jsdom@^24.0.0:
|
||||
version "24.0.0"
|
||||
resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-24.0.0.tgz#e2dc04e4c79da368481659818ee2b0cd7c39007c"
|
||||
resolved "https://registry.npmjs.org/jsdom/-/jsdom-24.0.0.tgz"
|
||||
integrity sha512-UDS2NayCvmXSXVP6mpTj+73JnNQadZlr9N68189xib2tx5Mls7swlTNao26IoHv46BZJFvXygyRtyXd1feAk1A==
|
||||
dependencies:
|
||||
cssstyle "^4.0.1"
|
||||
|
@ -575,6 +582,11 @@ jsdom@^24.0.0:
|
|||
ws "^8.16.0"
|
||||
xml-name-validator "^5.0.0"
|
||||
|
||||
json5@^2.2.2:
|
||||
version "2.2.3"
|
||||
resolved "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz"
|
||||
integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
|
||||
|
||||
marked@^12.0.1:
|
||||
version "12.0.1"
|
||||
resolved "https://registry.npmjs.org/marked/-/marked-12.0.1.tgz"
|
||||
|
@ -626,6 +638,11 @@ minimatch@^5.0.1:
|
|||
dependencies:
|
||||
brace-expansion "^2.0.1"
|
||||
|
||||
minimist@^1.2.6:
|
||||
version "1.2.8"
|
||||
resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz"
|
||||
integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
|
||||
|
||||
ms@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
|
||||
|
@ -633,7 +650,7 @@ ms@2.0.0:
|
|||
|
||||
ms@2.1.2:
|
||||
version "2.1.2"
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
||||
resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
|
||||
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
||||
|
||||
ms@2.1.3:
|
||||
|
@ -648,7 +665,7 @@ negotiator@0.6.3:
|
|||
|
||||
nwsapi@^2.2.7:
|
||||
version "2.2.7"
|
||||
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30"
|
||||
resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz"
|
||||
integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==
|
||||
|
||||
object-inspect@^1.13.1:
|
||||
|
@ -665,7 +682,7 @@ on-finished@2.4.1:
|
|||
|
||||
parse5@^7.0.0, parse5@^7.1.2:
|
||||
version "7.1.2"
|
||||
resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32"
|
||||
resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz"
|
||||
integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==
|
||||
dependencies:
|
||||
entities "^4.4.0"
|
||||
|
@ -690,12 +707,12 @@ proxy-addr@~2.0.7:
|
|||
|
||||
psl@^1.1.33:
|
||||
version "1.9.0"
|
||||
resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
|
||||
resolved "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz"
|
||||
integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
|
||||
|
||||
punycode@^2.1.1, punycode@^2.3.1:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
|
||||
resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz"
|
||||
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
|
||||
|
||||
qs@6.11.0:
|
||||
|
@ -707,7 +724,7 @@ qs@6.11.0:
|
|||
|
||||
querystringify@^2.1.1:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
|
||||
resolved "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz"
|
||||
integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
|
||||
|
||||
range-parser@~1.2.1:
|
||||
|
@ -727,12 +744,12 @@ raw-body@2.5.2:
|
|||
|
||||
requires-port@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
|
||||
resolved "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz"
|
||||
integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
|
||||
|
||||
rrweb-cssom@^0.6.0:
|
||||
version "0.6.0"
|
||||
resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1"
|
||||
resolved "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz"
|
||||
integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==
|
||||
|
||||
safe-buffer@5.2.1:
|
||||
|
@ -747,7 +764,7 @@ safe-buffer@5.2.1:
|
|||
|
||||
saxes@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5"
|
||||
resolved "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz"
|
||||
integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==
|
||||
dependencies:
|
||||
xmlchars "^2.2.0"
|
||||
|
@ -813,6 +830,11 @@ statuses@2.0.1:
|
|||
resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
|
||||
integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
|
||||
|
||||
strip-bom@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz"
|
||||
integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==
|
||||
|
||||
supports-color@^7.1.0:
|
||||
version "7.2.0"
|
||||
resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
|
||||
|
@ -822,7 +844,7 @@ supports-color@^7.1.0:
|
|||
|
||||
symbol-tree@^3.2.4:
|
||||
version "3.2.4"
|
||||
resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
|
||||
resolved "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz"
|
||||
integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
|
||||
|
||||
toidentifier@1.0.1:
|
||||
|
@ -832,7 +854,7 @@ toidentifier@1.0.1:
|
|||
|
||||
tough-cookie@^4.1.3:
|
||||
version "4.1.3"
|
||||
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf"
|
||||
resolved "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz"
|
||||
integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==
|
||||
dependencies:
|
||||
psl "^1.1.33"
|
||||
|
@ -842,11 +864,20 @@ tough-cookie@^4.1.3:
|
|||
|
||||
tr46@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/tr46/-/tr46-5.0.0.tgz#3b46d583613ec7283020d79019f1335723801cec"
|
||||
resolved "https://registry.npmjs.org/tr46/-/tr46-5.0.0.tgz"
|
||||
integrity sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==
|
||||
dependencies:
|
||||
punycode "^2.3.1"
|
||||
|
||||
tsconfig-paths@^4.2.0:
|
||||
version "4.2.0"
|
||||
resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz"
|
||||
integrity sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==
|
||||
dependencies:
|
||||
json5 "^2.2.2"
|
||||
minimist "^1.2.6"
|
||||
strip-bom "^3.0.0"
|
||||
|
||||
type-is@~1.6.18:
|
||||
version "1.6.18"
|
||||
resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
|
||||
|
@ -862,17 +893,17 @@ undici-types@~5.26.4:
|
|||
|
||||
universalify@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
|
||||
resolved "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz"
|
||||
integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==
|
||||
|
||||
unpipe@1.0.0, unpipe@~1.0.0:
|
||||
unpipe@~1.0.0, unpipe@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
|
||||
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
|
||||
|
||||
url-parse@^1.5.3:
|
||||
version "1.5.10"
|
||||
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
|
||||
resolved "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz"
|
||||
integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
|
||||
dependencies:
|
||||
querystringify "^2.1.1"
|
||||
|
@ -890,31 +921,31 @@ vary@~1.1.2:
|
|||
|
||||
w3c-xmlserializer@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz#f925ba26855158594d907313cedd1476c5967f6c"
|
||||
resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz"
|
||||
integrity sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==
|
||||
dependencies:
|
||||
xml-name-validator "^5.0.0"
|
||||
|
||||
webidl-conversions@^7.0.0:
|
||||
version "7.0.0"
|
||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
|
||||
resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz"
|
||||
integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==
|
||||
|
||||
whatwg-encoding@^3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz#d0f4ef769905d426e1688f3e34381a99b60b76e5"
|
||||
resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz"
|
||||
integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==
|
||||
dependencies:
|
||||
iconv-lite "0.6.3"
|
||||
|
||||
whatwg-mimetype@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz#bc1bf94a985dc50388d54a9258ac405c3ca2fc0a"
|
||||
resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz"
|
||||
integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==
|
||||
|
||||
whatwg-url@^14.0.0:
|
||||
version "14.0.0"
|
||||
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-14.0.0.tgz#00baaa7fd198744910c4b1ef68378f2200e4ceb6"
|
||||
resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.0.0.tgz"
|
||||
integrity sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==
|
||||
dependencies:
|
||||
tr46 "^5.0.0"
|
||||
|
@ -922,15 +953,15 @@ whatwg-url@^14.0.0:
|
|||
|
||||
ws@^8.16.0:
|
||||
version "8.16.0"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.16.0.tgz#d1cd774f36fbc07165066a60e40323eab6446fd4"
|
||||
resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz"
|
||||
integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==
|
||||
|
||||
xml-name-validator@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-5.0.0.tgz#82be9b957f7afdacf961e5980f1bf227c0bf7673"
|
||||
resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz"
|
||||
integrity sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==
|
||||
|
||||
xmlchars@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb"
|
||||
resolved "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz"
|
||||
integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==
|
||||
|
|
Loading…
Reference in a new issue