Install Astro instead of Vite
This commit is contained in:
parent
48e6fc3fc7
commit
1ba204644b
7 changed files with 2786 additions and 1573 deletions
|
@ -1,15 +1,28 @@
|
||||||
{
|
{
|
||||||
|
"root": true,
|
||||||
|
"extends": [
|
||||||
|
"eslint:recommended",
|
||||||
|
"plugin:@typescript-eslint/recommended",
|
||||||
|
"plugin:unicorn/recommended",
|
||||||
|
"plugin:astro/recommended",
|
||||||
|
"prettier"
|
||||||
|
],
|
||||||
|
"parser": "@typescript-eslint/parser",
|
||||||
|
"plugins": ["@typescript-eslint"],
|
||||||
"env": {
|
"env": {
|
||||||
"browser": true
|
"browser": true
|
||||||
},
|
},
|
||||||
"extends": ["eslint:recommended", "plugin:unicorn/recommended", "prettier"],
|
|
||||||
"parserOptions": {
|
|
||||||
"ecmaVersion": "latest",
|
|
||||||
"sourceType": "module"
|
|
||||||
},
|
|
||||||
"overrides": [
|
"overrides": [
|
||||||
{
|
{
|
||||||
"files": ["api/*.js"],
|
"files": ["*.astro"],
|
||||||
|
"parser": "astro-eslint-parser",
|
||||||
|
"parserOptions": {
|
||||||
|
"parser": "@typescript-eslint/parser",
|
||||||
|
"extraFileExtensions": [".astro"]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"files": ["api/*.js", "astro.config.ts"],
|
||||||
"env": {
|
"env": {
|
||||||
"node": true,
|
"node": true,
|
||||||
"browser": false
|
"browser": false
|
||||||
|
@ -17,6 +30,12 @@
|
||||||
"rules": {
|
"rules": {
|
||||||
"unicorn/prefer-node-protocol": 0
|
"unicorn/prefer-node-protocol": 0
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"files": ["src/env.d.ts"],
|
||||||
|
"rules": {
|
||||||
|
"unicorn/prevent-abbreviations": 0
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
25
astro.config.ts
Normal file
25
astro.config.ts
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
import { defineConfig } from "astro/config";
|
||||||
|
|
||||||
|
import netlify from "@astrojs/netlify/functions";
|
||||||
|
import node from "@astrojs/node";
|
||||||
|
import vercel from "@astrojs/vercel/serverless";
|
||||||
|
|
||||||
|
let astroAdapter;
|
||||||
|
if (process.env.VERCEL) {
|
||||||
|
console.debug("Using Vercel adapter");
|
||||||
|
astroAdapter = vercel();
|
||||||
|
} else if (process.env.NETLIFY) {
|
||||||
|
console.debug("Using Netlify adapter");
|
||||||
|
astroAdapter = netlify();
|
||||||
|
} else {
|
||||||
|
console.debug("Using Node.js adapter");
|
||||||
|
astroAdapter = node({
|
||||||
|
mode: "standalone",
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
site: "https://s2f.kytta.dev",
|
||||||
|
adapter: astroAdapter,
|
||||||
|
output: "server",
|
||||||
|
});
|
27
package.json
27
package.json
|
@ -12,33 +12,38 @@
|
||||||
"private": true,
|
"private": true,
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "vite build",
|
"build": "astro build",
|
||||||
"dev": "vite",
|
"dev": "astro dev",
|
||||||
"fmt": "prettier --write .",
|
"fmt": "prettier --write --plugin-search-dir=. .",
|
||||||
"lint": "prettier --check . && eslint . && stylelint '**/*.scss'",
|
"lint": "prettier --check . && eslint . && stylelint '**/*.scss'",
|
||||||
"preview": "vite preview",
|
"preview": "astro preview",
|
||||||
|
"start": "astro dev",
|
||||||
"test": "pnpm run lint"
|
"test": "pnpm run lint"
|
||||||
},
|
},
|
||||||
"browserslist": "cover 95%, last 2 versions, Firefox ESR, not dead",
|
"browserslist": "cover 95%, last 2 versions, Firefox ESR, not dead",
|
||||||
|
"dependencies": {
|
||||||
|
"@astrojs/netlify": "^2.2.0",
|
||||||
|
"@astrojs/node": "^5.1.0",
|
||||||
|
"@astrojs/vercel": "^3.2.1",
|
||||||
|
"astro": "^2.1.3"
|
||||||
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vitejs/plugin-legacy": "^4.0.2",
|
"@typescript-eslint/eslint-plugin": "^5.55.0",
|
||||||
|
"@typescript-eslint/parser": "^5.55.0",
|
||||||
"autoprefixer": "^10.4.14",
|
"autoprefixer": "^10.4.14",
|
||||||
"browserslist": "^4.21.5",
|
"browserslist": "^4.21.5",
|
||||||
"eslint": "^8.36.0",
|
"eslint": "^8.36.0",
|
||||||
"eslint-config-prettier": "^8.7.0",
|
"eslint-config-prettier": "^8.7.0",
|
||||||
|
"eslint-plugin-astro": "^0.25.0",
|
||||||
"eslint-plugin-unicorn": "^46.0.0",
|
"eslint-plugin-unicorn": "^46.0.0",
|
||||||
"postcss": "^8.4.21",
|
"postcss": "^8.4.21",
|
||||||
"postcss-csso": "^6.0.1",
|
"postcss-csso": "^6.0.1",
|
||||||
"prettier": "^2.8.4",
|
"prettier": "^2.8.4",
|
||||||
|
"prettier-plugin-astro": "^0.8.0",
|
||||||
"sass": "^1.59.3",
|
"sass": "^1.59.3",
|
||||||
"sharp": "^0.31.3",
|
|
||||||
"stylelint": "^15.2.0",
|
"stylelint": "^15.2.0",
|
||||||
"stylelint-config-standard-scss": "^7.0.1",
|
"stylelint-config-standard-scss": "^7.0.1",
|
||||||
"svgo": "^3.0.2",
|
"typescript": "^5.0.2"
|
||||||
"terser": "^5.16.6",
|
|
||||||
"vite": "^4.2.0",
|
|
||||||
"vite-plugin-image-optimizer": "^1.1.2",
|
|
||||||
"vite-plugin-node": "^3.0.2"
|
|
||||||
},
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"map": true,
|
"map": true,
|
||||||
|
|
4247
pnpm-lock.yaml
4247
pnpm-lock.yaml
File diff suppressed because it is too large
Load diff
1
src/env.d.ts
vendored
Normal file
1
src/env.d.ts
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
/// <reference types="astro/client" />
|
3
tsconfig.json
Normal file
3
tsconfig.json
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"extends": "astro/tsconfigs/base"
|
||||||
|
}
|
|
@ -1,25 +0,0 @@
|
||||||
import legacy from "@vitejs/plugin-legacy";
|
|
||||||
import { ViteImageOptimizer } from "vite-plugin-image-optimizer";
|
|
||||||
import { VitePluginNode } from "vite-plugin-node";
|
|
||||||
|
|
||||||
const vitePluginNode = VitePluginNode({
|
|
||||||
// Workaround from: https://github.com/axe-me/vite-plugin-node/issues/47
|
|
||||||
adapter({ app, req, res, next }) {
|
|
||||||
if (req.url.startsWith("/api/")) {
|
|
||||||
app(req, res);
|
|
||||||
} else {
|
|
||||||
next();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
appPath: "./api/share.js",
|
|
||||||
});
|
|
||||||
vitePluginNode[0].apply = "serve";
|
|
||||||
|
|
||||||
export default {
|
|
||||||
build: {
|
|
||||||
minify: "terser",
|
|
||||||
terserOptions: { ecma: 5 },
|
|
||||||
sourcemap: "true",
|
|
||||||
},
|
|
||||||
plugins: [legacy(), ...vitePluginNode, ViteImageOptimizer({})],
|
|
||||||
};
|
|
Reference in a new issue