Migrate to esbuild & ts
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
96c12c8da4
commit
90f6ae7695
4
.gitignore
vendored
4
.gitignore
vendored
@ -3,3 +3,7 @@ yarn-error.log
|
||||
node_modules/
|
||||
auth/
|
||||
db/
|
||||
.yarn/
|
||||
public/*.js
|
||||
public/*.map
|
||||
.yarnrc.yml
|
||||
|
10
package.json
10
package.json
@ -5,8 +5,9 @@
|
||||
"main": "server.js",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"build": "esbuild src/app.ts --bundle --outfile=public/main.js --bundle --minify --sourcemap --tsconfig=tsconfig.json",
|
||||
"start": "node server.js",
|
||||
"demon": "nodemon server.js"
|
||||
"demon": "nodemon -e ts,pug --watch src --exec \"yarn build && yarn start\""
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
@ -19,10 +20,13 @@
|
||||
"@fastify/static": "^8.0.0",
|
||||
"@fastify/view": "^10.0.0",
|
||||
"@prettier/plugin-pug": "^3.0.0",
|
||||
"axios": "^1.4.0",
|
||||
"@types/node": "^22.13.5",
|
||||
"axios": "^1.7.9",
|
||||
"esbuild": "^0.25.0",
|
||||
"fastify": "^5.0.0",
|
||||
"nodemon": "^3.0.1",
|
||||
"prettier": "^3.0.0",
|
||||
"pretier": "^0.0.1",
|
||||
"prettier": "^3.5.2",
|
||||
"pug": "^3.0.2"
|
||||
}
|
||||
}
|
||||
|
BIN
public/js/.DS_Store
vendored
BIN
public/js/.DS_Store
vendored
Binary file not shown.
122
src/api.ts
Normal file
122
src/api.ts
Normal file
@ -0,0 +1,122 @@
|
||||
import axios from "axios";
|
||||
|
||||
export const load = (id: string) =>
|
||||
axios.get("/api/" + id).then((response) => {
|
||||
if (response.data == "") throw "Invalid Journey Data Received";
|
||||
let res = response.data;
|
||||
|
||||
for (let e of res.main) {
|
||||
if (e.dateRange) {
|
||||
e.dateRange[0] = new Date(e.dateRange[0]);
|
||||
e.dateRange[1] = new Date(e.dateRange[1]);
|
||||
}
|
||||
e.step_title = e.step_title || [];
|
||||
}
|
||||
return res;
|
||||
});
|
||||
|
||||
export const save = (id: string, v: string) =>
|
||||
axios
|
||||
.post("/api/" + id, v)
|
||||
.then((response) => {
|
||||
console.log("Saved...");
|
||||
})
|
||||
.catch((error) => {
|
||||
console.warn("Error! Could not reach the API.");
|
||||
});
|
||||
|
||||
export const query_nominatim = (
|
||||
q: string,
|
||||
f: (v: string) => Boolean = () => true,
|
||||
) =>
|
||||
axios
|
||||
.get("/api/place/" + q)
|
||||
.then((res) => res.data)
|
||||
.then((res) => res.filter(f));
|
||||
|
||||
export const query_flight = (q: string) =>
|
||||
axios.get("/api/flight/" + q).then((res) => res.data);
|
||||
|
||||
type NominatimResult = {
|
||||
type: string;
|
||||
category: string;
|
||||
display_name: string; // DEBUG ONLY
|
||||
};
|
||||
|
||||
export const is_restauration_type = (e: NominatimResult) =>
|
||||
["restaurant", "cafe", "pub", "bar", "fast_food", "food_court"].indexOf(
|
||||
e.type,
|
||||
) != -1;
|
||||
|
||||
export const is_attraction_type = (e: NominatimResult): boolean =>
|
||||
[
|
||||
"tourism",
|
||||
"leisure",
|
||||
"place",
|
||||
"amenity",
|
||||
"highway",
|
||||
"historic",
|
||||
"natural",
|
||||
"waterway",
|
||||
].indexOf(e.category) != -1 ||
|
||||
[
|
||||
"place_of_worship",
|
||||
"national_park",
|
||||
"nature_reserve",
|
||||
"protected_area",
|
||||
].indexOf(e.type) != -1;
|
||||
|
||||
export const icon_type = (item: NominatimResult): string => {
|
||||
let t = item.type;
|
||||
let c = item.category;
|
||||
const arr = ["restaurant", "cafe", "pub", "bar", "fast_food", "food_court"];
|
||||
if (arr.indexOf(t) != -1) {
|
||||
return "utensils";
|
||||
} else if (t == "hotel" || t == "hostel" || t == "guest_house") {
|
||||
return "bed";
|
||||
} else if (t == "museum" || c == "historic" || t == "place_of_worship") {
|
||||
return "landmark";
|
||||
} else if (t == "peak" || t == "viewpoint") {
|
||||
return "mountain";
|
||||
} else if (t == "parking") {
|
||||
return "parking";
|
||||
} else if (
|
||||
t == "water" ||
|
||||
t == "river" ||
|
||||
t == "lake" ||
|
||||
t == "torrent" ||
|
||||
t == "aquarium"
|
||||
) {
|
||||
return "water";
|
||||
} else if (t == "community_centre" || t == "locality") {
|
||||
return "building";
|
||||
} else if (t == "attraction") {
|
||||
return "landmark";
|
||||
} else if (t == "information" || t == "university") {
|
||||
return "landmark";
|
||||
} else if (t == "bridge") {
|
||||
return "archway";
|
||||
} else if (
|
||||
t == "woodland" ||
|
||||
t == "shieling" ||
|
||||
t == "national_park" ||
|
||||
t == "zoo" ||
|
||||
t == "park" ||
|
||||
t == "garden" ||
|
||||
0
|
||||
) {
|
||||
return "tree";
|
||||
} else if (t == "water_park" || t == "theme_park") {
|
||||
return "dice-five";
|
||||
} else if (
|
||||
t == "?" ||
|
||||
t == "neighbourhood" ||
|
||||
t == "quarter" ||
|
||||
c == "highway"
|
||||
) {
|
||||
return "";
|
||||
} else {
|
||||
console.log(item.display_name, item.category, item.type);
|
||||
return "question";
|
||||
}
|
||||
};
|
13
src/app.ts
Normal file
13
src/app.ts
Normal file
@ -0,0 +1,13 @@
|
||||
import "./types/ext";
|
||||
import "./api";
|
||||
import "./old.js";
|
||||
|
||||
console.log("TEST");
|
||||
|
||||
if (false) {
|
||||
console.log("B");
|
||||
}
|
||||
|
||||
function test() {
|
||||
console.log("CC");
|
||||
}
|
@ -1,142 +1,4 @@
|
||||
const gen_id = (length) => {
|
||||
var result = "";
|
||||
const characters =
|
||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
||||
const len = characters.length;
|
||||
for (let i = 0; i < length; i++) {
|
||||
result += characters.charAt(Math.floor(Math.random() * len));
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
Date.prototype.toJSONLocal = (function () {
|
||||
function addZ(n) {
|
||||
return (n < 10 ? "0" : "") + n;
|
||||
}
|
||||
return function () {
|
||||
return (
|
||||
this.getFullYear() +
|
||||
"-" +
|
||||
addZ(this.getMonth() + 1) +
|
||||
"-" +
|
||||
addZ(this.getDate())
|
||||
);
|
||||
};
|
||||
})();
|
||||
|
||||
function toEncoded(string) {
|
||||
const codeUnits = Uint16Array.from(
|
||||
{ length: string.length },
|
||||
(element, index) => string.charCodeAt(index),
|
||||
);
|
||||
const charCodes = new Uint8Array(codeUnits.buffer);
|
||||
|
||||
let result = "";
|
||||
charCodes.forEach((char) => {
|
||||
result += String.fromCharCode(char);
|
||||
});
|
||||
return window.btoa(result);
|
||||
}
|
||||
|
||||
function toDecoded(string) {
|
||||
let binary = window.atob(string);
|
||||
const bytes = Uint8Array.from({ length: binary.length }, (element, index) =>
|
||||
binary.charCodeAt(index),
|
||||
);
|
||||
const charCodes = new Uint16Array(bytes.buffer);
|
||||
|
||||
let result = "";
|
||||
charCodes.forEach((char) => {
|
||||
result += String.fromCharCode(char);
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
const query_nominatim = (q, f) =>
|
||||
axios
|
||||
.get("/api/place/" + q)
|
||||
.then((res) => res.data)
|
||||
.then((res) => res.filter(f));
|
||||
const query_flight = (q) =>
|
||||
axios.get("/api/flight/" + q).then((res) => res.data);
|
||||
|
||||
const is_restauration_type = (e) =>
|
||||
["restaurant", "cafe", "pub", "bar", "fast_food", "food_court"].indexOf(
|
||||
e.type,
|
||||
) != -1;
|
||||
|
||||
const is_attraction_type = (e) =>
|
||||
[
|
||||
"tourism",
|
||||
"leisure",
|
||||
"place",
|
||||
"amenity",
|
||||
"highway",
|
||||
"historic",
|
||||
"natural",
|
||||
"waterway",
|
||||
].indexOf(e.category) != -1 ||
|
||||
[
|
||||
"place_of_worship",
|
||||
"national_park",
|
||||
"nature_reserve",
|
||||
"protected_area",
|
||||
].indexOf(e.type != -1);
|
||||
|
||||
const icon_type = (item) => {
|
||||
let t = item.type;
|
||||
let c = item.category;
|
||||
const arr = ["restaurant", "cafe", "pub", "bar", "fast_food", "food_court"];
|
||||
if (arr.indexOf(t) != -1) {
|
||||
return "utensils";
|
||||
} else if (t == "hotel" || t == "hostel" || t == "guest_house") {
|
||||
return "bed";
|
||||
} else if (t == "museum" || c == "historic" || t == "place_of_worship") {
|
||||
return "landmark";
|
||||
} else if (t == "peak" || t == "viewpoint") {
|
||||
return "mountain";
|
||||
} else if (t == "parking") {
|
||||
return "parking";
|
||||
} else if (
|
||||
t == "water" ||
|
||||
t == "river" ||
|
||||
t == "lake" ||
|
||||
t == "torrent" ||
|
||||
t == "aquarium"
|
||||
) {
|
||||
return "water";
|
||||
} else if (t == "community_centre" || t == "locality") {
|
||||
return "building";
|
||||
} else if (t == "attraction") {
|
||||
return "landmark";
|
||||
} else if (t == "information" || t == "university") {
|
||||
return "landmark";
|
||||
} else if (t == "bridge") {
|
||||
return "archway";
|
||||
} else if (
|
||||
t == "woodland" ||
|
||||
t == "shieling" ||
|
||||
t == "national_park" ||
|
||||
t == "zoo" ||
|
||||
t == "park" ||
|
||||
t == "garden" ||
|
||||
0
|
||||
) {
|
||||
return "tree";
|
||||
} else if ((t == "water_park", t == "theme_park")) {
|
||||
return "dice-five";
|
||||
} else if (
|
||||
t == "?" ||
|
||||
t == "neighbourhood" ||
|
||||
t == "quarter" ||
|
||||
c == "highway"
|
||||
) {
|
||||
return "";
|
||||
} else {
|
||||
console.log(item.display_name, item.category, item.type);
|
||||
return "question";
|
||||
}
|
||||
};
|
||||
import * as api from "./api";
|
||||
|
||||
Vue.component("l-map", window.Vue2Leaflet.LMap);
|
||||
Vue.component("l-tile-layer", window.Vue2Leaflet.LTileLayer);
|
||||
@ -153,7 +15,7 @@ const app = new Vue({
|
||||
data: {
|
||||
journey_edit:
|
||||
["view", "short"].indexOf(window.location.pathname.split("/")[1]) == -1,
|
||||
journey_id: window.location.pathname.split("/").pop() || gen_id(16),
|
||||
journey_id: window.location.pathname.split("/").pop() || String.gen_id(16),
|
||||
|
||||
journey_step_data: { day: 1, section: 0 },
|
||||
journey_data: {
|
||||
@ -374,25 +236,21 @@ const app = new Vue({
|
||||
},
|
||||
generate_icon: function (item, fcolor) {
|
||||
return L.AwesomeMarkers.icon({
|
||||
icon: icon_type(item) || "star",
|
||||
icon: api.icon_type(item) || "star",
|
||||
prefix: "fa",
|
||||
markerColor: fcolor || item.color || "blue",
|
||||
}).createIcon().outerHTML;
|
||||
},
|
||||
|
||||
save_data: function () {
|
||||
this.impexp = toEncoded(JSON.stringify(this.journey_data));
|
||||
axios
|
||||
.post("/api/" + this.journey_id, this.journey_data)
|
||||
.then((response) => {
|
||||
console.log("Saved...");
|
||||
})
|
||||
.catch((error) => {
|
||||
console.warn("Error! Could not reach the API.");
|
||||
});
|
||||
this.impexp = JSON.stringify(this.journey_data).toEncoded();
|
||||
api.save(this.journey_id, this.journey_data);
|
||||
},
|
||||
import_data: function () {
|
||||
this.journey_data = Object.assign({}, JSON.parse(toDecoded(this.impexp)));
|
||||
this.journey_data = Object.assign(
|
||||
{},
|
||||
JSON.parse(this.impexp.toDecoded()),
|
||||
);
|
||||
this.journey_data.main.forEach((e) => {
|
||||
if (e.dateRange) {
|
||||
e.dateRange[0] = new Date(e.dateRange[0]);
|
||||
@ -401,7 +259,7 @@ const app = new Vue({
|
||||
});
|
||||
},
|
||||
export_data: function () {
|
||||
this.impexp = toEncoded(JSON.stringify(this.journey_data));
|
||||
this.impexp = JSON.stringify(this.journey_data).toEncoded();
|
||||
},
|
||||
filter_selected: function (list, step) {
|
||||
return list.filter((e) =>
|
||||
@ -438,18 +296,7 @@ const app = new Vue({
|
||||
}
|
||||
});
|
||||
|
||||
axios.get("/api/" + this.journey_id).then((response) => {
|
||||
if (response.data == "") throw "Invalid Journey Data Received";
|
||||
app.journey_data = response.data;
|
||||
|
||||
for (let e of app.journey_data.main) {
|
||||
if (e.dateRange) {
|
||||
e.dateRange[0] = new Date(e.dateRange[0]);
|
||||
e.dateRange[1] = new Date(e.dateRange[1]);
|
||||
}
|
||||
e.step_title = e.step_title || [];
|
||||
}
|
||||
});
|
||||
api.load(this.journey_id).then((r) => (app.journey_data = r));
|
||||
|
||||
this.debounceSave = _.debounce(this.save_data, 500);
|
||||
this.debounceSearch = {
|
||||
@ -465,13 +312,15 @@ const app = new Vue({
|
||||
}, 500),
|
||||
restaurants: _.debounce((q) => {
|
||||
this.querying.food = true;
|
||||
this.search_nominatim(q, (r) => is_restauration_type(r)).then((r) => {
|
||||
this.search_nominatim(q, (r) => api.is_restauration_type(r)).then(
|
||||
(r) => {
|
||||
this.querying.food = false;
|
||||
});
|
||||
},
|
||||
);
|
||||
}, 500),
|
||||
places: _.debounce((q) => {
|
||||
this.querying.place = true;
|
||||
this.search_nominatim(q, (r) => is_attraction_type(r)).then((r) => {
|
||||
this.search_nominatim(q, (r) => api.is_attraction_type(r)).then((r) => {
|
||||
this.querying.place = false;
|
||||
});
|
||||
}, 500),
|
79
src/types/ext.ts
Normal file
79
src/types/ext.ts
Normal file
@ -0,0 +1,79 @@
|
||||
// DATE EXTENTION
|
||||
declare global {
|
||||
interface Date {
|
||||
toJSONLocal: () => string;
|
||||
}
|
||||
}
|
||||
Date.prototype.toJSONLocal = function () {
|
||||
function addZ(n: number): string {
|
||||
return n <= 9 ? `0${n}` : `${n}`;
|
||||
}
|
||||
return [
|
||||
this.getFullYear(),
|
||||
addZ(this.getMonth() + 1),
|
||||
addZ(this.getDate()),
|
||||
].join("-");
|
||||
};
|
||||
|
||||
// ARRAY EXTENTION
|
||||
declare global {
|
||||
interface Array<T> {
|
||||
foldl<B>(f: (x: T, acc: B) => B, acc: B): B;
|
||||
foldr<B>(f: (x: T, acc: B) => B, acc: B): B;
|
||||
}
|
||||
}
|
||||
Array.prototype.foldr = function <T, B>(f: (x: T, acc: B) => B, acc: B): B {
|
||||
return this.reverse().foldl(f, acc);
|
||||
};
|
||||
|
||||
Array.prototype.foldl = function <T, B>(f: (x: T, acc: B) => B, acc: B): B {
|
||||
for (let i = 0; i < this.length; i++) acc = f(this[i], acc);
|
||||
return acc;
|
||||
};
|
||||
|
||||
// STRING EXTENTION
|
||||
declare global {
|
||||
interface String {
|
||||
btoa: () => String;
|
||||
toEncoded: () => String;
|
||||
toDecoded: () => String;
|
||||
}
|
||||
}
|
||||
|
||||
String.prototype.btoa = function () {
|
||||
return window.btoa(this);
|
||||
};
|
||||
|
||||
String.prototype.toEncoded = function () {
|
||||
return window.btoa(
|
||||
Array.from(this as string, (c) => c.charCodeAt(0)).foldl(
|
||||
(e, v) => v + String.fromCharCode(e),
|
||||
"",
|
||||
),
|
||||
);
|
||||
};
|
||||
|
||||
String.prototype.toDecoded = function () {
|
||||
return Array.from(window.atob(this), (c) => c.charCodeAt(0)).foldl(
|
||||
(e, v) => v + String.fromCharCode(e),
|
||||
"",
|
||||
);
|
||||
};
|
||||
|
||||
declare global {
|
||||
interface StringConstructor {
|
||||
gen_id: (l: Number) => String;
|
||||
}
|
||||
}
|
||||
|
||||
String.gen_id = function (length) {
|
||||
const characters =
|
||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
|
||||
return Array.from(Array(length))
|
||||
.map((_v) =>
|
||||
characters.charAt(Math.floor(Math.random() * characters.length)),
|
||||
)
|
||||
.join("");
|
||||
};
|
||||
|
||||
export {};
|
@ -1,16 +1,16 @@
|
||||
script(src="https://unpkg.com/leaflet")
|
||||
script(src="https://unpkg.com/leaflet.awesome-markers")
|
||||
//- script(src="https://unpkg.com/axios")
|
||||
script(src="https://unpkg.com/lodash")
|
||||
script(src="https://unpkg.com/sortablejs")
|
||||
|
||||
script(src="https://unpkg.com/vue@2")
|
||||
script(src="https://unpkg.com/vue2-datepicker")
|
||||
script(src="https://unpkg.com/leaflet")
|
||||
script(src="https://unpkg.com/vue2-leaflet")
|
||||
script(src="https://unpkg.com/leaflet.awesome-markers")
|
||||
script(src="https://unpkg.com/axios")
|
||||
script(src="https://unpkg.com/lodash")
|
||||
script(src="https://unpkg.com/vue-multiselect@2")
|
||||
script(src="https://unpkg.com/vue-textarea-autosize")
|
||||
script(src="https://unpkg.com/sortablejs")
|
||||
script(src="https://unpkg.com/vue-multiselect@2")
|
||||
script(src="https://unpkg.com/vue2-leaflet")
|
||||
script(src="https://unpkg.com/vuedraggable")
|
||||
|
||||
script(src="/public/js/main.js", type="text/javascript", charset="utf-8")
|
||||
script(src="/public/main.js", type="text/javascript", charset="utf-8")
|
||||
footer.bg-dark
|
||||
.container
|
||||
.section.text-center.text-small
|
||||
|
12
tsconfig.json
Normal file
12
tsconfig.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
|
||||
"compilerOptions": {
|
||||
"target": "esnext",
|
||||
"typeRoots": ["./node_modules/@types", "./types/ext"],
|
||||
"lib": ["esnext", "DOM"],
|
||||
"noEmit": true, // Disable emitting output (use esbuild to handle this)
|
||||
"skipLibCheck": true, // Skip type checking of all declaration files (*.d.ts)
|
||||
"strict": false, // Disable strict type checks if needed
|
||||
"moduleResolution": "node",
|
||||
}
|
||||
}
|
319
yarn.lock
319
yarn.lock
@ -40,6 +40,181 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/aix-ppc64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/aix-ppc64@npm:0.25.0"
|
||||
conditions: os=aix & cpu=ppc64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/android-arm64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/android-arm64@npm:0.25.0"
|
||||
conditions: os=android & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/android-arm@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/android-arm@npm:0.25.0"
|
||||
conditions: os=android & cpu=arm
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/android-x64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/android-x64@npm:0.25.0"
|
||||
conditions: os=android & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/darwin-arm64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/darwin-arm64@npm:0.25.0"
|
||||
conditions: os=darwin & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/darwin-x64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/darwin-x64@npm:0.25.0"
|
||||
conditions: os=darwin & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/freebsd-arm64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/freebsd-arm64@npm:0.25.0"
|
||||
conditions: os=freebsd & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/freebsd-x64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/freebsd-x64@npm:0.25.0"
|
||||
conditions: os=freebsd & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/linux-arm64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/linux-arm64@npm:0.25.0"
|
||||
conditions: os=linux & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/linux-arm@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/linux-arm@npm:0.25.0"
|
||||
conditions: os=linux & cpu=arm
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/linux-ia32@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/linux-ia32@npm:0.25.0"
|
||||
conditions: os=linux & cpu=ia32
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/linux-loong64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/linux-loong64@npm:0.25.0"
|
||||
conditions: os=linux & cpu=loong64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/linux-mips64el@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/linux-mips64el@npm:0.25.0"
|
||||
conditions: os=linux & cpu=mips64el
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/linux-ppc64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/linux-ppc64@npm:0.25.0"
|
||||
conditions: os=linux & cpu=ppc64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/linux-riscv64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/linux-riscv64@npm:0.25.0"
|
||||
conditions: os=linux & cpu=riscv64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/linux-s390x@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/linux-s390x@npm:0.25.0"
|
||||
conditions: os=linux & cpu=s390x
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/linux-x64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/linux-x64@npm:0.25.0"
|
||||
conditions: os=linux & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/netbsd-arm64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/netbsd-arm64@npm:0.25.0"
|
||||
conditions: os=netbsd & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/netbsd-x64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/netbsd-x64@npm:0.25.0"
|
||||
conditions: os=netbsd & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/openbsd-arm64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/openbsd-arm64@npm:0.25.0"
|
||||
conditions: os=openbsd & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/openbsd-x64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/openbsd-x64@npm:0.25.0"
|
||||
conditions: os=openbsd & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/sunos-x64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/sunos-x64@npm:0.25.0"
|
||||
conditions: os=sunos & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/win32-arm64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/win32-arm64@npm:0.25.0"
|
||||
conditions: os=win32 & cpu=arm64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/win32-ia32@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/win32-ia32@npm:0.25.0"
|
||||
conditions: os=win32 & cpu=ia32
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@esbuild/win32-x64@npm:0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "@esbuild/win32-x64@npm:0.25.0"
|
||||
conditions: os=win32 & cpu=x64
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@fastify/accept-negotiator@npm:^2.0.0":
|
||||
version: 2.0.1
|
||||
resolution: "@fastify/accept-negotiator@npm:2.0.1"
|
||||
@ -219,6 +394,15 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"@types/node@npm:^22.13.5":
|
||||
version: 22.13.5
|
||||
resolution: "@types/node@npm:22.13.5"
|
||||
dependencies:
|
||||
undici-types: "npm:~6.20.0"
|
||||
checksum: 10c0/a2e7ed7bb0690e439004779baedeb05159c5cc41ef6d81c7a6ebea5303fde4033669e1c0e41ff7453b45fd2fea8dbd55fddfcd052950c7fcae3167c970bca725
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"abbrev@npm:^3.0.0":
|
||||
version: 3.0.0
|
||||
resolution: "abbrev@npm:3.0.0"
|
||||
@ -367,7 +551,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"axios@npm:^1.4.0":
|
||||
"axios@npm:^1.7.9":
|
||||
version: 1.7.9
|
||||
resolution: "axios@npm:1.7.9"
|
||||
dependencies:
|
||||
@ -466,7 +650,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"call-bind-apply-helpers@npm:^1.0.1":
|
||||
"call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2":
|
||||
version: 1.0.2
|
||||
resolution: "call-bind-apply-helpers@npm:1.0.2"
|
||||
dependencies:
|
||||
@ -728,7 +912,7 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"es-object-atoms@npm:^1.0.0":
|
||||
"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1":
|
||||
version: 1.1.1
|
||||
resolution: "es-object-atoms@npm:1.1.1"
|
||||
dependencies:
|
||||
@ -749,6 +933,92 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"esbuild@npm:^0.25.0":
|
||||
version: 0.25.0
|
||||
resolution: "esbuild@npm:0.25.0"
|
||||
dependencies:
|
||||
"@esbuild/aix-ppc64": "npm:0.25.0"
|
||||
"@esbuild/android-arm": "npm:0.25.0"
|
||||
"@esbuild/android-arm64": "npm:0.25.0"
|
||||
"@esbuild/android-x64": "npm:0.25.0"
|
||||
"@esbuild/darwin-arm64": "npm:0.25.0"
|
||||
"@esbuild/darwin-x64": "npm:0.25.0"
|
||||
"@esbuild/freebsd-arm64": "npm:0.25.0"
|
||||
"@esbuild/freebsd-x64": "npm:0.25.0"
|
||||
"@esbuild/linux-arm": "npm:0.25.0"
|
||||
"@esbuild/linux-arm64": "npm:0.25.0"
|
||||
"@esbuild/linux-ia32": "npm:0.25.0"
|
||||
"@esbuild/linux-loong64": "npm:0.25.0"
|
||||
"@esbuild/linux-mips64el": "npm:0.25.0"
|
||||
"@esbuild/linux-ppc64": "npm:0.25.0"
|
||||
"@esbuild/linux-riscv64": "npm:0.25.0"
|
||||
"@esbuild/linux-s390x": "npm:0.25.0"
|
||||
"@esbuild/linux-x64": "npm:0.25.0"
|
||||
"@esbuild/netbsd-arm64": "npm:0.25.0"
|
||||
"@esbuild/netbsd-x64": "npm:0.25.0"
|
||||
"@esbuild/openbsd-arm64": "npm:0.25.0"
|
||||
"@esbuild/openbsd-x64": "npm:0.25.0"
|
||||
"@esbuild/sunos-x64": "npm:0.25.0"
|
||||
"@esbuild/win32-arm64": "npm:0.25.0"
|
||||
"@esbuild/win32-ia32": "npm:0.25.0"
|
||||
"@esbuild/win32-x64": "npm:0.25.0"
|
||||
dependenciesMeta:
|
||||
"@esbuild/aix-ppc64":
|
||||
optional: true
|
||||
"@esbuild/android-arm":
|
||||
optional: true
|
||||
"@esbuild/android-arm64":
|
||||
optional: true
|
||||
"@esbuild/android-x64":
|
||||
optional: true
|
||||
"@esbuild/darwin-arm64":
|
||||
optional: true
|
||||
"@esbuild/darwin-x64":
|
||||
optional: true
|
||||
"@esbuild/freebsd-arm64":
|
||||
optional: true
|
||||
"@esbuild/freebsd-x64":
|
||||
optional: true
|
||||
"@esbuild/linux-arm":
|
||||
optional: true
|
||||
"@esbuild/linux-arm64":
|
||||
optional: true
|
||||
"@esbuild/linux-ia32":
|
||||
optional: true
|
||||
"@esbuild/linux-loong64":
|
||||
optional: true
|
||||
"@esbuild/linux-mips64el":
|
||||
optional: true
|
||||
"@esbuild/linux-ppc64":
|
||||
optional: true
|
||||
"@esbuild/linux-riscv64":
|
||||
optional: true
|
||||
"@esbuild/linux-s390x":
|
||||
optional: true
|
||||
"@esbuild/linux-x64":
|
||||
optional: true
|
||||
"@esbuild/netbsd-arm64":
|
||||
optional: true
|
||||
"@esbuild/netbsd-x64":
|
||||
optional: true
|
||||
"@esbuild/openbsd-arm64":
|
||||
optional: true
|
||||
"@esbuild/openbsd-x64":
|
||||
optional: true
|
||||
"@esbuild/sunos-x64":
|
||||
optional: true
|
||||
"@esbuild/win32-arm64":
|
||||
optional: true
|
||||
"@esbuild/win32-ia32":
|
||||
optional: true
|
||||
"@esbuild/win32-x64":
|
||||
optional: true
|
||||
bin:
|
||||
esbuild: bin/esbuild
|
||||
checksum: 10c0/5767b72da46da3cfec51661647ec850ddbf8a8d0662771139f10ef0692a8831396a0004b2be7966cecdb08264fb16bdc16290dcecd92396fac5f12d722fa013d
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"escape-html@npm:~1.0.3":
|
||||
version: 1.0.3
|
||||
resolution: "escape-html@npm:1.0.3"
|
||||
@ -941,24 +1211,24 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"get-intrinsic@npm:^1.2.6":
|
||||
version: 1.2.7
|
||||
resolution: "get-intrinsic@npm:1.2.7"
|
||||
version: 1.3.0
|
||||
resolution: "get-intrinsic@npm:1.3.0"
|
||||
dependencies:
|
||||
call-bind-apply-helpers: "npm:^1.0.1"
|
||||
call-bind-apply-helpers: "npm:^1.0.2"
|
||||
es-define-property: "npm:^1.0.1"
|
||||
es-errors: "npm:^1.3.0"
|
||||
es-object-atoms: "npm:^1.0.0"
|
||||
es-object-atoms: "npm:^1.1.1"
|
||||
function-bind: "npm:^1.1.2"
|
||||
get-proto: "npm:^1.0.0"
|
||||
get-proto: "npm:^1.0.1"
|
||||
gopd: "npm:^1.2.0"
|
||||
has-symbols: "npm:^1.1.0"
|
||||
hasown: "npm:^2.0.2"
|
||||
math-intrinsics: "npm:^1.1.0"
|
||||
checksum: 10c0/b475dec9f8bff6f7422f51ff4b7b8d0b68e6776ee83a753c1d627e3008c3442090992788038b37eff72e93e43dceed8c1acbdf2d6751672687ec22127933080d
|
||||
checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"get-proto@npm:^1.0.0":
|
||||
"get-proto@npm:^1.0.1":
|
||||
version: 1.0.1
|
||||
resolution: "get-proto@npm:1.0.1"
|
||||
dependencies:
|
||||
@ -1261,11 +1531,11 @@ __metadata:
|
||||
linkType: hard
|
||||
|
||||
"jackspeak@npm:^4.0.1":
|
||||
version: 4.0.3
|
||||
resolution: "jackspeak@npm:4.0.3"
|
||||
version: 4.1.0
|
||||
resolution: "jackspeak@npm:4.1.0"
|
||||
dependencies:
|
||||
"@isaacs/cliui": "npm:^8.0.2"
|
||||
checksum: 10c0/3d252c84fe3ea2b44da70ea3bb46a4a6fb13cd22c9e256ee254684be86ace87f5ce40cb181d279dd6ee1de5d82b88b7f231335e9f45dcbce17b6d64fcb04de23
|
||||
checksum: 10c0/08a6a24a366c90b83aef3ad6ec41dcaaa65428ffab8d80bc7172add0fbb8b134a34f415ad288b2a6fbd406526e9a62abdb40ed4f399fbe00cb45c44056d4dce0
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
@ -1762,7 +2032,14 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"prettier@npm:^3.0.0":
|
||||
"pretier@npm:^0.0.1":
|
||||
version: 0.0.1
|
||||
resolution: "pretier@npm:0.0.1"
|
||||
checksum: 10c0/206f5b353c32a9ad0e38243ad2caf7c8859ef43c975514e1c725088e4925d8b1480f73b96ebfd5ceaa1a563a77a3b8c893db7bb3642585bfa0c635f7ee149885
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"prettier@npm:^3.5.2":
|
||||
version: 3.5.2
|
||||
resolution: "prettier@npm:3.5.2"
|
||||
bin:
|
||||
@ -2351,6 +2628,13 @@ __metadata:
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"undici-types@npm:~6.20.0":
|
||||
version: 6.20.0
|
||||
resolution: "undici-types@npm:6.20.0"
|
||||
checksum: 10c0/68e659a98898d6a836a9a59e6adf14a5d799707f5ea629433e025ac90d239f75e408e2e5ff086afc3cace26f8b26ee52155293564593fbb4a2f666af57fc59bf
|
||||
languageName: node
|
||||
linkType: hard
|
||||
|
||||
"unique-filename@npm:^4.0.0":
|
||||
version: 4.0.0
|
||||
resolution: "unique-filename@npm:4.0.0"
|
||||
@ -2391,10 +2675,13 @@ __metadata:
|
||||
"@fastify/static": "npm:^8.0.0"
|
||||
"@fastify/view": "npm:^10.0.0"
|
||||
"@prettier/plugin-pug": "npm:^3.0.0"
|
||||
axios: "npm:^1.4.0"
|
||||
"@types/node": "npm:^22.13.5"
|
||||
axios: "npm:^1.7.9"
|
||||
esbuild: "npm:^0.25.0"
|
||||
fastify: "npm:^5.0.0"
|
||||
nodemon: "npm:^3.0.1"
|
||||
prettier: "npm:^3.0.0"
|
||||
pretier: "npm:^0.0.1"
|
||||
prettier: "npm:^3.5.2"
|
||||
pug: "npm:^3.0.2"
|
||||
languageName: unknown
|
||||
linkType: soft
|
||||
|
Loading…
x
Reference in New Issue
Block a user