Compare commits
106 commits
main
...
next-relea
Author | SHA1 | Date | |
---|---|---|---|
|
2e9978f02a | ||
|
8833a898e9 | ||
|
eb7c63b2d2 | ||
|
cb733cf689 | ||
|
6becdc8cc0 | ||
|
c9b33d2b7e | ||
|
a7e62ded69 | ||
|
577d912b8e | ||
|
934d085f94 | ||
|
ee7b5e482b | ||
|
acd13914f4 | ||
|
e16e115371 | ||
|
2da8ce211d | ||
|
502c799b1d | ||
|
e50cfa7bb4 | ||
|
77cd898dea | ||
|
387bd1a48f | ||
|
9f44a513ee | ||
|
a07a598122 | ||
|
8c4720db3a | ||
|
62684dbe4b | ||
|
bd2ac13753 | ||
|
7f74388896 | ||
|
5477dc19c2 | ||
|
56f74e2bc8 | ||
|
b04d478b52 | ||
|
8f699e5a42 | ||
|
55c8453fd2 | ||
|
c85c7e2188 | ||
|
dd40617038 | ||
|
aa0590afdf | ||
|
0430c0e1d2 | ||
|
07f786096d | ||
|
1103cb1f9d | ||
|
303f32fda0 | ||
|
190e03b5ce | ||
|
7f95d706e9 | ||
|
8206421ffa | ||
|
06562af124 | ||
|
09bc35e803 | ||
|
4647c998ea | ||
|
b5226e68dd | ||
|
d9caef63d8 | ||
|
b0e407dc4b | ||
|
2c15795607 | ||
|
b0ef391e57 | ||
|
4c9d3cf3d9 | ||
|
330620e1b3 | ||
|
4b25d5592a | ||
|
dff64574c4 | ||
|
d1a73e4c38 | ||
|
51e5a45ec5 | ||
|
2c36d0a427 | ||
|
dfe23864e0 | ||
|
5da14ca8ed | ||
|
90b9c6e086 | ||
|
18222cf61b | ||
|
560721cbaa | ||
|
bbf93de41e | ||
|
e1b52506f7 | ||
|
d1f42353e8 | ||
|
b695c8aa15 | ||
|
a1c594fc95 | ||
|
94a513adc6 | ||
|
2ac2559b5d | ||
|
f881a03961 | ||
|
dd147c390a | ||
|
38e731adbe | ||
|
34a257376e | ||
|
cd76229ed7 | ||
|
62106902bb | ||
|
7749e18066 | ||
|
a38460ca62 | ||
|
c269f7b687 | ||
|
72b66ddb75 | ||
|
35741b6033 | ||
|
e342273d85 | ||
|
835903226d | ||
|
3cd5a7f53f | ||
|
1bd3cf8f4d | ||
|
935831c79c | ||
|
c766c6b9f6 | ||
|
64eb61e13a | ||
|
d2bcbbca34 | ||
|
d77dfe0326 | ||
|
17a0c5bf75 | ||
|
81a472e1c9 | ||
|
26240770a7 | ||
|
2c6451ffa2 | ||
|
d3b1d3cbc6 | ||
|
3d6b11f8b1 | ||
|
aa82d4893f | ||
|
71e721c520 | ||
|
1d2da117bd | ||
|
7fb6e9d2ab | ||
|
4c1e9a26a9 | ||
|
e8bc289c70 | ||
|
f25550080b | ||
|
1581095d72 | ||
|
6e5ede2175 | ||
|
7296e0b0a2 | ||
|
c3e7b7f37d | ||
|
ec6dbab103 | ||
|
d8cd8a46ee | ||
|
ddca8c4dea | ||
|
94f36749a0 |
|
@ -1,12 +1,10 @@
|
|||
{
|
||||
"$schema": "https://unpkg.com/@changesets/config@1.7.0/schema.json",
|
||||
"changelog": ["@changesets/changelog-github", { "repo": "withastro/astro" }],
|
||||
"$schema": "https://unpkg.com/@changesets/config@1.6.0/schema.json",
|
||||
"changelog": "@changesets/cli/changelog",
|
||||
"commit": false,
|
||||
"linked": [],
|
||||
"linked": [["astro", "@astrojs/parser"]],
|
||||
"access": "public",
|
||||
"baseBranch": "main",
|
||||
"updateInternalDependencies": "patch",
|
||||
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
|
||||
"onlyUpdatePeerDependentsWhenOutOfRange": true
|
||||
}
|
||||
"ignore": ["@example/*", "www"]
|
||||
}
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
'astro': patch
|
||||
---
|
||||
|
||||
Fixed an issue where the transitions router did not work within framework components.
|
5
.changeset/hungry-wolves-shave.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
'astro': patch
|
||||
---
|
||||
|
||||
Fix logger locale parsing
|
10
.changeset/ninety-terms-raise.md
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
'@astrojs/renderer-lit': patch
|
||||
'@astrojs/renderer-preact': patch
|
||||
'@astrojs/renderer-react': patch
|
||||
'@astrojs/renderer-solid': patch
|
||||
'@astrojs/renderer-svelte': patch
|
||||
'@astrojs/renderer-vue': patch
|
||||
---
|
||||
|
||||
Point renderer entrypoints to resolved JS files
|
5
.changeset/pink-trainers-learn.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
'astro': minor
|
||||
---
|
||||
|
||||
Use new compiler, move Astro to Vite
|
50
.changeset/pre.json
Normal file
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
"mode": "pre",
|
||||
"tag": "next",
|
||||
"initialVersions": {
|
||||
"docs": "0.0.7",
|
||||
"@example/blog": "0.0.1",
|
||||
"@example/blog-multiple-authors": "0.0.1",
|
||||
"@example/docs": "0.0.1",
|
||||
"@example/framework-lit": "0.0.1",
|
||||
"@example/framework-multiple": "0.0.1",
|
||||
"@example/framework-preact": "0.0.1",
|
||||
"@example/framework-react": "0.0.1",
|
||||
"@example/framework-solid": "0.0.1",
|
||||
"@example/framework-svelte": "0.0.1",
|
||||
"@example/framework-vue": "0.0.1",
|
||||
"@example/minimal": "0.0.1",
|
||||
"@example/portfolio": "0.0.1",
|
||||
"@example/starter": "0.0.1",
|
||||
"@example/with-markdown": "0.0.1",
|
||||
"@example/with-markdown-plugins": "0.0.2",
|
||||
"@example/with-nanostores": "0.0.1",
|
||||
"@example/with-tailwindcss": "0.0.1",
|
||||
"astro": "0.20.12",
|
||||
"@astrojs/parser": "0.20.2",
|
||||
"@astrojs/prism": "0.2.2",
|
||||
"@astrojs/astro-test-builtins-dep": "0.0.1",
|
||||
"@astrojs/test-custom-element-renderer": "0.0.1",
|
||||
"create-astro": "0.6.6",
|
||||
"@astrojs/markdown-remark": "0.3.1",
|
||||
"@astrojs/renderer-lit": "0.1.2",
|
||||
"@astrojs/renderer-preact": "0.2.2",
|
||||
"@astrojs/renderer-react": "0.2.2",
|
||||
"@astrojs/renderer-solid": "0.1.1",
|
||||
"@astrojs/renderer-svelte": "0.1.2",
|
||||
"@astrojs/renderer-vue": "0.1.9",
|
||||
"astro-scripts": "0.0.1",
|
||||
"www": "1.1.0"
|
||||
},
|
||||
"changesets": [
|
||||
"hungry-wolves-shave",
|
||||
"ninety-terms-raise",
|
||||
"pink-trainers-learn",
|
||||
"silly-apples-build",
|
||||
"tall-crabs-care",
|
||||
"tidy-mirrors-drum",
|
||||
"tiny-bulldogs-lie",
|
||||
"twenty-maps-listen",
|
||||
"witty-cups-wave"
|
||||
]
|
||||
}
|
5
.changeset/silly-apples-build.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
'@astrojs/markdown-remark': patch
|
||||
---
|
||||
|
||||
Adds prism support within the plugin
|
5
.changeset/tall-crabs-care.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
'@astrojs/renderer-react': patch
|
||||
---
|
||||
|
||||
Improve support for third-party React packages
|
11
.changeset/tidy-mirrors-drum.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
'astro': patch
|
||||
'@astrojs/renderer-lit': patch
|
||||
'@astrojs/renderer-preact': patch
|
||||
'@astrojs/renderer-react': patch
|
||||
'@astrojs/renderer-solid': patch
|
||||
'@astrojs/renderer-svelte': patch
|
||||
'@astrojs/renderer-vue': patch
|
||||
---
|
||||
|
||||
Improve renderer APIs for Vite
|
9
.changeset/tiny-bulldogs-lie.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
---
|
||||
'@astrojs/renderer-preact': minor
|
||||
'@astrojs/renderer-react': minor
|
||||
'@astrojs/renderer-solid': minor
|
||||
'@astrojs/renderer-svelte': minor
|
||||
'@astrojs/renderer-vue': minor
|
||||
---
|
||||
|
||||
Update renderers for Vite
|
5
.changeset/twenty-maps-listen.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
'@astrojs/renderer-preact': minor
|
||||
---
|
||||
|
||||
Add `@astrojs/renderer-preact/compat` entry point
|
|
@ -1,5 +0,0 @@
|
|||
---
|
||||
'@astrojs/cloudflare': patch
|
||||
---
|
||||
|
||||
fixes `AdvancedRuntime` & `DirectoryRuntime` types to work woth Cloudflare caches
|
5
.changeset/witty-cups-wave.md
Normal file
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
'astro': patch
|
||||
---
|
||||
|
||||
Feat: add CSS preprocessors in Astro Next
|
|
@ -1,13 +0,0 @@
|
|||
FROM mcr.microsoft.com/devcontainers/javascript-node:0-18
|
||||
|
||||
# Install playwright
|
||||
RUN npm install -g @playwright/test
|
||||
|
||||
# Install latest pnpm
|
||||
RUN npm install -g pnpm
|
||||
|
||||
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
|
||||
&& curl -sSL https://dl.google.com/linux/direct/google-chrome-stable_current_$(dpkg --print-architecture).deb -o /tmp/chrome.deb \
|
||||
&& apt-get -y install /tmp/chrome.deb
|
||||
|
||||
COPY welcome-message.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Basics",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/basics",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Blog",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/blog",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
"name": "Component Template",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/component",
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/MyComponent.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,27 +0,0 @@
|
|||
{
|
||||
"name": "Contribute to Astro",
|
||||
"build": {
|
||||
"dockerfile": "Dockerfile"
|
||||
},
|
||||
|
||||
"features": {
|
||||
"ghcr.io/devcontainers/features/desktop-lite:1": {}
|
||||
},
|
||||
|
||||
"postCreateCommand": "pnpm install && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Astro tests": "pnpm run test"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["README.md", "CONTRIBUTING.md"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Docs Site",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/docs",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
👋 Welcome to "Astro" in GitHub Codespaces!
|
||||
|
||||
🛠️ Your environment is fully setup with all the required software.
|
||||
|
||||
🚀 The example app should automatically start soon in a new terminal tab.
|
|
@ -1,6 +0,0 @@
|
|||
FROM mcr.microsoft.com/devcontainers/javascript-node:0-18
|
||||
|
||||
# Install latest pnpm
|
||||
RUN npm install -g pnpm
|
||||
|
||||
COPY example-welcome-message.txt /usr/local/etc/vscode-dev-containers/first-run-notice.txt
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Alpine",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/framework-alpine",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Lit",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/framework-lit",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Kitchen Sink (Multiple Frameworks)",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/framework-multiple",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Preact",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/framework-preact",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "React",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/framework-react",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Solid",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/framework-solid",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Svelte",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/framework-svelte",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Vue",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/framework-vue",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Hackernews",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/hackernews",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/[...stories].astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,21 +0,0 @@
|
|||
{
|
||||
"name": "Integration Package",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/integration",
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["index.ts"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Minimal",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/minimal",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Non-HTML Pages",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/non-html-pages",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Portfolio",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/portfolio",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "SSR",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/ssr",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
👋 Welcome to Astro!
|
||||
|
||||
🛠️ Your environment is fully setup with all required software installed. Tests will
|
||||
be running shortly in a separate terminal tab.
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Markdown with Plugins",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/with-markdown-plugins",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.md"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Markdown with Shiki",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/with-markdown-shiki",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.md"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "MDX",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/with-mdx",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.mdx"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Nanostores",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/with-nanostores",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Tailwind",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/with-tailwindcss",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Vite PWA",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/with-vite-plugin-pwa",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"name": "Vitest",
|
||||
"build": {
|
||||
"dockerfile": "../examples.Dockerfile"
|
||||
},
|
||||
|
||||
"workspaceFolder": "/workspaces/astro/examples/with-vitest",
|
||||
|
||||
"portsAttributes": {
|
||||
"4321": {
|
||||
"label": "Application",
|
||||
"onAutoForward": "openPreview"
|
||||
}
|
||||
},
|
||||
|
||||
"forwardPorts": [4321],
|
||||
|
||||
"postCreateCommand": "pnpm install && cd /workspaces/astro && pnpm run build",
|
||||
|
||||
"waitFor": "postCreateCommand",
|
||||
|
||||
"postAttachCommand": {
|
||||
"Server": "pnpm start --host"
|
||||
},
|
||||
|
||||
"customizations": {
|
||||
"codespaces": {
|
||||
"openFiles": ["src/pages/index.astro"]
|
||||
},
|
||||
"vscode": {
|
||||
"extensions": ["astro-build.astro-vscode", "esbenp.prettier-vscode"]
|
||||
}
|
||||
}
|
||||
}
|
|
@ -4,12 +4,9 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
end_of_line = lf
|
||||
indent_size = 2
|
||||
indent_style = tab
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[{.*,*.md,*.json,*.toml,*.yml,}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = false
|
||||
insert_final_newline = true
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
**/*.d.ts
|
||||
packages/**/*.min.js
|
||||
packages/**/dist/**/*
|
||||
packages/**/fixtures/**/*
|
||||
**/*.js
|
||||
**/*.ts
|
||||
!packages/astro/**/*.js
|
||||
!packages/astro/**/*.ts
|
||||
packages/astro/test/**/*.js
|
||||
packages/astro/vendor/vite/**/*
|
||||
examples/**/*
|
||||
scripts/**/*
|
||||
.github
|
||||
.changeset
|
||||
|
|
100
.eslintrc.cjs
|
@ -1,98 +1,20 @@
|
|||
const { builtinModules } = require('module');
|
||||
|
||||
module.exports = {
|
||||
extends: [
|
||||
'plugin:@typescript-eslint/recommended-type-checked',
|
||||
'plugin:@typescript-eslint/stylistic-type-checked',
|
||||
'prettier',
|
||||
],
|
||||
parser: '@typescript-eslint/parser',
|
||||
parserOptions: {
|
||||
project: ['./packages/*/tsconfig.json', './tsconfig.eslint.json'],
|
||||
tsconfigRootDir: __dirname,
|
||||
},
|
||||
plugins: ['@typescript-eslint', 'prettier', 'no-only-tests'],
|
||||
extends: ['plugin:@typescript-eslint/recommended', 'prettier'],
|
||||
plugins: ['@typescript-eslint', 'prettier'],
|
||||
rules: {
|
||||
// These off/configured-differently-by-default rules fit well for us
|
||||
'@typescript-eslint/array-type': ['error', { default: 'array-simple' }],
|
||||
'@typescript-eslint/no-unused-vars': [
|
||||
'error',
|
||||
{ argsIgnorePattern: '^_', ignoreRestSiblings: true },
|
||||
],
|
||||
'no-only-tests/no-only-tests': 'error',
|
||||
'@typescript-eslint/no-shadow': ['error'],
|
||||
'no-console': 'warn',
|
||||
|
||||
// Todo: do we want these?
|
||||
'@typescript-eslint/array-type': 'off',
|
||||
'@typescript-eslint/ban-ts-comment': 'off',
|
||||
'@typescript-eslint/class-literal-property-style': 'off',
|
||||
'@typescript-eslint/consistent-indexed-object-style': 'off',
|
||||
'@typescript-eslint/consistent-type-definitions': 'off',
|
||||
'@typescript-eslint/dot-notation': 'off',
|
||||
'@typescript-eslint/no-base-to-string': 'off',
|
||||
'@typescript-eslint/camelcase': 'off',
|
||||
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
||||
'@typescript-eslint/no-empty-function': 'off',
|
||||
'@typescript-eslint/no-floating-promises': 'off',
|
||||
'@typescript-eslint/no-misused-promises': 'off',
|
||||
'@typescript-eslint/no-redundant-type-constituents': 'off',
|
||||
'@typescript-eslint/no-this-alias': 'off',
|
||||
'@typescript-eslint/no-unsafe-argument': 'off',
|
||||
'@typescript-eslint/no-unsafe-assignment': 'off',
|
||||
'@typescript-eslint/no-unsafe-call': 'off',
|
||||
'@typescript-eslint/no-unsafe-member-access': 'off',
|
||||
'@typescript-eslint/no-unsafe-return': 'off',
|
||||
'@typescript-eslint/prefer-nullish-coalescing': 'off',
|
||||
'@typescript-eslint/prefer-optional-chain': 'off',
|
||||
'@typescript-eslint/prefer-string-starts-ends-with': 'off',
|
||||
'@typescript-eslint/require-await': 'off',
|
||||
'@typescript-eslint/restrict-plus-operands': 'off',
|
||||
'@typescript-eslint/restrict-template-expressions': 'off',
|
||||
'@typescript-eslint/sort-type-constituents': 'off',
|
||||
'@typescript-eslint/unbound-method': 'off',
|
||||
'@typescript-eslint/no-explicit-any': 'off',
|
||||
|
||||
// These rules enabled by the preset configs don't work well for us
|
||||
'@typescript-eslint/await-thenable': 'off',
|
||||
'@typescript-eslint/no-non-null-assertion': 'off',
|
||||
'@typescript-eslint/no-unused-vars': 'off',
|
||||
'@typescript-eslint/no-use-before-define': 'off',
|
||||
'@typescript-eslint/no-var-requires': 'off',
|
||||
'no-console': 'warn',
|
||||
'no-shadow': 'error',
|
||||
'prefer-const': 'off',
|
||||
// 'require-jsdoc': 'error', // re-enable this to enforce JSDoc for all functions
|
||||
},
|
||||
overrides: [
|
||||
{
|
||||
// Ensure Node builtins aren't included in Astro's server runtime
|
||||
files: ['packages/astro/src/runtime/**/*.ts'],
|
||||
rules: {
|
||||
'no-restricted-imports': [
|
||||
'error',
|
||||
{
|
||||
paths: [...builtinModules],
|
||||
patterns: ['node:*'],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ['packages/**/test/*.js', 'packages/**/*.js'],
|
||||
env: {
|
||||
mocha: true,
|
||||
},
|
||||
globals: {
|
||||
globalThis: false, // false means read-only
|
||||
},
|
||||
rules: {
|
||||
'no-console': 'off',
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ['packages/integrations/**/*.ts'],
|
||||
rules: {
|
||||
'no-console': ['error', { allow: ['warn', 'error', 'info', 'debug'] }],
|
||||
},
|
||||
},
|
||||
{
|
||||
files: ['benchmark/**/*.js'],
|
||||
rules: {
|
||||
'@typescript-eslint/no-unused-vars': 'off',
|
||||
'no-console': 'off',
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
# Switch to tabs (Use Accessible Indentation #2253)
|
||||
6ddd7678ffb6598ae6e263706813cb5e94535f02
|
||||
# prettier config update
|
||||
1335797903a57716e9a02b0ffd8ca636b3883c62
|
||||
# Manually format .astro files in example projects (#3862)
|
||||
59e8c71786fd1c154904b3fefa7d26d88f4d92d2
|
4
.github/CODEOWNERS
vendored
|
@ -1,3 +1 @@
|
|||
README.md @withastro/maintainers-docs
|
||||
packages/astro/src/@types/astro.ts @withastro/maintainers-docs
|
||||
packages/astro/src/core/errors/errors-data.ts @withastro/maintainers-docs
|
||||
* @snowpackjs/maintainers
|
||||
|
|
46
.github/ISSUE_TEMPLATE/---01-bug-report.yml
vendored
|
@ -1,5 +1,6 @@
|
|||
name: "\U0001F41B Bug Report"
|
||||
description: Report an issue or possible bug
|
||||
title: "\U0001F41B BUG:"
|
||||
labels: []
|
||||
assignees: []
|
||||
body:
|
||||
|
@ -10,46 +11,39 @@ body:
|
|||
Thank you for taking the time to file a bug report! Please fill out this form as completely as possible.
|
||||
|
||||
✅ I am using the **latest version of Astro** and all plugins.
|
||||
✅ I am using a version of Node that Astro supports (`>=18.14.1`)
|
||||
- type: textarea
|
||||
id: astro-info
|
||||
✅ I am using a version of Node that supports ESM (`v12.20.0+`, `v14.13.1+`, or `v16.0.0+`)
|
||||
- type: input
|
||||
attributes:
|
||||
label: Astro Info
|
||||
description: Run the command `astro info` in your terminal and paste the output here. Please review the data before submitting in case there is any sensitive information you don't want to share.
|
||||
render: block
|
||||
label: What package manager are you using?
|
||||
placeholder: npm, yarn, pnpm
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: browser
|
||||
attributes:
|
||||
label: If this issue only occurs in one browser, which browser is a problem?
|
||||
placeholder: Chrome, Firefox, Safari
|
||||
label: What operating system are you using?
|
||||
placeholder: Mac, Windows, Linux
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: bug-description
|
||||
attributes:
|
||||
label: Describe the Bug
|
||||
description: A clear and concise description of what the bug is.
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: bug-expectation
|
||||
attributes:
|
||||
label: What's the expected result?
|
||||
description: Describe what you expect to happen.
|
||||
label: Steps to Reproduce
|
||||
description: Describe the bug in steps that we can reproduce ourselves.
|
||||
value: |
|
||||
1. `npm init astro` using template <NAME>
|
||||
2. ...
|
||||
3. ...
|
||||
4. ...
|
||||
5. Error! Describe what went wrong (and what was expected instead)...
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: bug-reproduction
|
||||
attributes:
|
||||
label: Link to Minimal Reproducible Example
|
||||
description: 'Use [astro.new](https://astro.new) to create a minimal reproduction of the problem. **A minimal reproduction is required** so that others can help debug your issue. If a report is vague (e.g. just a generic error message) and has no reproduction, it may be auto-closed. Not sure how to create a minimal example? [Read our guide](https://docs.astro.build/en/guides/troubleshooting/#creating-minimal-reproductions)'
|
||||
placeholder: 'https://stackblitz.com/abcd1234'
|
||||
validations:
|
||||
required: true
|
||||
- type: checkboxes
|
||||
id: will-pr
|
||||
attributes:
|
||||
label: Participation
|
||||
options:
|
||||
- label: I am willing to submit a pull request for this issue.
|
||||
required: false
|
||||
label: Link to Minimal Reproducible Example (Optional)
|
||||
description: 'Issues with easy reproductions are more likely to get fixed, faster.'
|
||||
placeholder: 'https://github.com/username/repo'
|
||||
|
|
50
.github/ISSUE_TEMPLATE/---02-feature-request.yml
vendored
Normal file
|
@ -0,0 +1,50 @@
|
|||
name: "\U0001F4A1 Feature Request"
|
||||
description: 'Submit an RFC or suggest an idea for this project'
|
||||
title: "\U0001F4A1 RFC: "
|
||||
labels: ['feature']
|
||||
assignees: []
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: Thanks for taking the time to suggest a new feature! Please fill out this form as completely as possible.
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Background & Motivation
|
||||
description: |
|
||||
A quick, clear and concise description of what the problem is.
|
||||
**Please include links to relevant issues, Discord convos, and anything else.**
|
||||
placeholder: I want to be able to...
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Proposed Solution
|
||||
description: Your take on one (or more) possible solution(s) to problem.
|
||||
value: |
|
||||
### Possible solutions
|
||||
|
||||
### Alternatives considered
|
||||
|
||||
### Risks, downsides, and/or tradeoffs
|
||||
|
||||
### Open Questions
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Detailed Design
|
||||
description: |
|
||||
🛑 **Just looking for feedback on an idea? Leave this section blank.**
|
||||
|
||||
Otherwise, explain the exact steps required to implement this change.
|
||||
Include specific details that would help someone implement this feature.
|
||||
- type: checkboxes
|
||||
attributes:
|
||||
label: Help make it happen!
|
||||
description: 'Tip: RFCs with contributing authors are much more likely to get done!'
|
||||
options:
|
||||
- label: I am willing to submit a PR to implement this change.
|
||||
- label: I am willing to submit a PR to implement this change, but would need some guidance.
|
||||
- label: I am not willing to submit a PR to implement this change.
|
||||
validations:
|
||||
required: true
|
7
.github/ISSUE_TEMPLATE/---03-documentation.md
vendored
Normal file
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
name: "\U0001F4D8 Documentation"
|
||||
about: Report a bug or suggest improvement for https://docs.astro.build
|
||||
title: "\U0001F4D8 DOC: "
|
||||
labels: ''
|
||||
assignees: ''
|
||||
---
|
6
.github/ISSUE_TEMPLATE/config.yml
vendored
|
@ -1,11 +1,5 @@
|
|||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: 📘 Documentation
|
||||
url: https://github.com/withastro/docs
|
||||
about: File an issue or make an improvement to the docs website.
|
||||
- name: 💡 Ideas for New Features, Improvements and RFCs
|
||||
url: https://github.com/withastro/roadmap/discussions
|
||||
about: Propose and discuss future improvements to Astro
|
||||
- name: 👾 Chat
|
||||
url: https://astro.build/chat
|
||||
about: Our Discord server is active, come join us!
|
||||
|
|
11
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
@ -2,8 +2,7 @@
|
|||
|
||||
- What does this change?
|
||||
- Be short and concise. Bullet points can help!
|
||||
- Before/after screenshots can help as well.
|
||||
- Don't forget a changeset! `pnpm exec changeset`
|
||||
- Before/after screenshots can be helpful as well.
|
||||
|
||||
## Testing
|
||||
|
||||
|
@ -12,9 +11,5 @@
|
|||
|
||||
## Docs
|
||||
|
||||
<!-- Could this affect a user’s behavior? We probably need to update docs! -->
|
||||
<!-- If docs will be needed or you’re not sure, uncomment the next line: -->
|
||||
<!-- /cc @withastro/maintainers-docs for feedback! -->
|
||||
|
||||
<!-- DON'T DELETE THIS SECTION! If no docs added, explain why.-->
|
||||
<!-- https://github.com/withastro/docs -->
|
||||
<!-- Was public documentation updated? -->
|
||||
<!-- DON'T DELETE THIS SECTION! If no docs added, explain why (e.g. "bug fix only") -->
|
||||
|
|
BIN
.github/assets/banner.png
vendored
Before Width: | Height: | Size: 2.1 MiB |
1
.github/assets/deepgram-dark.svg
vendored
Before Width: | Height: | Size: 8.8 KiB |
1
.github/assets/deepgram.svg
vendored
Before Width: | Height: | Size: 8.8 KiB |
1
.github/assets/divriots-dark.svg
vendored
Before Width: | Height: | Size: 20 KiB |
1
.github/assets/divriots.svg
vendored
Before Width: | Height: | Size: 20 KiB |
1
.github/assets/monogram-dark.svg
vendored
|
@ -1 +0,0 @@
|
|||
<svg fill="none" height="40" viewBox="0 0 240 40" width="240" xmlns="http://www.w3.org/2000/svg"><g fill="#fff"><path clip-rule="evenodd" d="m31 40-4-10.6-4 10.6h-2l5-13.2-4-10.5-9 23.7h-2l10-26.4-4.5-11.8-14.5 38.2h-2l15.2-40h2.6l4.2 11 4.2-11h2.6l3.7 9.7 3.7-9.7h2.6l4.2 11 4.2-11h2.6l15.2 40h-2l-14.5-38.2-4.5 11.8 10 26.4h-2l-9-23.7-4 10.5 5 13.2h-2l-4-10.6-4 10.6zm1.5-25-4.5 11.7 4.5 11.9 4.5-11.8zm-5-13.2-4.5 11.8 4 10.6 4.5-11.9zm10 0-4 10.5 4.5 11.9 4-10.6z" fill-rule="evenodd"/><path d="m97.7259 17.956v11.044h2.7061v-15.4h-2.8821l-4.686 7.282-4.686-7.282h-2.882v15.4h2.662v-11l4.818 7.216h.088z"/><path d="m121.687 21.278c0-1.0853-.198-2.112-.594-3.08s-.946-1.8113-1.65-2.53-1.547-1.2833-2.53-1.694c-.982-.4253-2.068-.638-3.256-.638s-2.273.2127-3.256.638c-.982.4253-1.833 1.0047-2.552 1.738-.718.7187-1.276 1.562-1.672 2.53s-.594 1.9947-.594 3.08.198 2.112.594 3.08.946 1.8113 1.65 2.53 1.548 1.2907 2.53 1.716c.983.4107 2.068.616 3.256.616s2.274-.2127 3.256-.638c.983-.4253 1.834-.9973 2.552-1.716.719-.7333 1.276-1.584 1.672-2.552s.594-1.9947.594-3.08zm-2.838.044c0 .748-.132 1.4593-.396 2.134-.249.66-.601 1.2393-1.056 1.738-.454.484-1.004.8727-1.65 1.166-.63.2787-1.327.418-2.09.418-.762 0-1.466-.1467-2.112-.44-.645-.2933-1.202-.6893-1.672-1.188-.454-.4987-.814-1.078-1.078-1.738-.249-.6747-.374-1.386-.374-2.134s.125-1.452.374-2.112c.264-.6747.624-1.254 1.078-1.738.455-.4987.998-.8873 1.628-1.166.646-.2933 1.35-.44 2.112-.44.763 0 1.467.1467 2.112.44.646.2933 1.196.6893 1.65 1.188.47.4987.829 1.0853 1.078 1.76.264.66.396 1.364.396 2.112z"/><path d="m137.585 24.248-8.25-10.648h-2.508v15.4h2.662v-10.956l8.492 10.956h2.266v-15.4h-2.662z"/><path d="m161.5 21.278c0-1.0853-.198-2.112-.594-3.08s-.946-1.8113-1.65-2.53-1.548-1.2833-2.53-1.694c-.983-.4253-2.068-.638-3.256-.638s-2.274.2127-3.256.638c-.983.4253-1.834 1.0047-2.552 1.738-.719.7187-1.276 1.562-1.672 2.53s-.594 1.9947-.594 3.08.198 2.112.594 3.08.946 1.8113 1.65 2.53 1.547 1.2907 2.53 1.716c.982.4107 2.068.616 3.256.616s2.273-.2127 3.256-.638c.982-.4253 1.833-.9973 2.552-1.716.718-.7333 1.276-1.584 1.672-2.552s.594-1.9947.594-3.08zm-2.838.044c0 .748-.132 1.4593-.396 2.134-.25.66-.602 1.2393-1.056 1.738-.455.484-1.005.8727-1.65 1.166-.631.2787-1.328.418-2.09.418-.763 0-1.467-.1467-2.112-.44-.646-.2933-1.203-.6893-1.672-1.188-.455-.4987-.814-1.078-1.078-1.738-.25-.6747-.374-1.386-.374-2.134s.124-1.452.374-2.112c.264-.6747.623-1.254 1.078-1.738.454-.4987.997-.8873 1.628-1.166.645-.2933 1.349-.44 2.112-.44.762 0 1.466.1467 2.112.44.645.2933 1.195.6893 1.65 1.188.469.4987.828 1.0853 1.078 1.76.264.66.396 1.364.396 2.112z"/><path d="m180.367 26.866v-6.468h-6.556v2.354h3.938v2.882c-.469.352-1.027.638-1.672.858-.631.2053-1.313.308-2.046.308-.792 0-1.511-.1393-2.156-.418-.631-.2787-1.181-.66-1.65-1.144-.455-.4987-.807-1.0853-1.056-1.76s-.374-1.408-.374-2.2c0-.748.125-1.452.374-2.112.264-.66.616-1.2393 1.056-1.738.455-.4987.983-.8873 1.584-1.166.616-.2933 1.276-.44 1.98-.44.484 0 .924.044 1.32.132.411.0733.785.1833 1.122.33.337.132.66.3007.968.506s.609.4327.902.682l1.716-2.046c-.396-.3373-.807-.6307-1.232-.88-.411-.264-.851-.484-1.32-.66s-.983-.308-1.54-.396c-.543-.1027-1.151-.154-1.826-.154-1.159 0-2.229.2127-3.212.638-.968.4253-1.804 1.0047-2.508 1.738-.704.7187-1.254 1.562-1.65 2.53-.381.968-.572 1.9947-.572 3.08 0 1.1293.191 2.178.572 3.146s.917 1.8113 1.606 2.53c.704.704 1.547 1.2613 2.53 1.672.983.396 2.075.594 3.278.594.675 0 1.32-.066 1.936-.198.616-.1173 1.188-.286 1.716-.506.543-.22 1.041-.4767 1.496-.77.469-.2933.895-.6013 1.276-.924z"/><path d="m198.829 29-4.158-5.83c.543-.1467 1.034-.352 1.474-.616.455-.2787.843-.6087 1.166-.99.323-.396.572-.8433.748-1.342.191-.5133.286-1.0927.286-1.738 0-.748-.132-1.4227-.396-2.024-.264-.616-.645-1.1293-1.144-1.54-.484-.4253-1.085-.748-1.804-.968-.704-.2347-1.496-.352-2.376-.352h-6.864v15.4h2.706v-5.368h3.388l3.784 5.368zm-3.234-10.362c0 .792-.286 1.4227-.858 1.892s-1.342.704-2.31.704h-3.96v-5.17h3.938c1.012 0 1.797.22 2.354.66.557.4253.836 1.0633.836 1.914z"/><path d="m211.934 13.49h-2.508l-6.776 15.51h2.772l1.584-3.718h7.282l1.562 3.718h2.86zm1.364 9.394h-5.302l2.64-6.16z"/><path d="m236.31 17.956v11.044h2.706v-15.4h-2.882l-4.686 7.282-4.686-7.282h-2.882v15.4h2.662v-11l4.818 7.216h.088z"/></g></svg>
|
Before Width: | Height: | Size: 4.2 KiB |
1
.github/assets/monogram.svg
vendored
|
@ -1 +0,0 @@
|
|||
<svg fill="none" height="40" viewBox="0 0 240 40" width="240" xmlns="http://www.w3.org/2000/svg"><g fill="#000"><path clip-rule="evenodd" d="m31 40-4-10.6-4 10.6h-2l5-13.2-4-10.5-9 23.7h-2l10-26.4-4.5-11.8-14.5 38.2h-2l15.2-40h2.6l4.2 11 4.2-11h2.6l3.7 9.7 3.7-9.7h2.6l4.2 11 4.2-11h2.6l15.2 40h-2l-14.5-38.2-4.5 11.8 10 26.4h-2l-9-23.7-4 10.5 5 13.2h-2l-4-10.6-4 10.6zm1.5-25-4.5 11.7 4.5 11.9 4.5-11.8zm-5-13.2-4.5 11.8 4 10.6 4.5-11.9zm10 0-4 10.5 4.5 11.9 4-10.6z" fill-rule="evenodd"/><path d="m97.7259 17.956v11.044h2.7061v-15.4h-2.8821l-4.686 7.282-4.686-7.282h-2.882v15.4h2.662v-11l4.818 7.216h.088z"/><path d="m121.687 21.278c0-1.0853-.198-2.112-.594-3.08s-.946-1.8113-1.65-2.53-1.547-1.2833-2.53-1.694c-.982-.4253-2.068-.638-3.256-.638s-2.273.2127-3.256.638c-.982.4253-1.833 1.0047-2.552 1.738-.718.7187-1.276 1.562-1.672 2.53s-.594 1.9947-.594 3.08.198 2.112.594 3.08.946 1.8113 1.65 2.53 1.548 1.2907 2.53 1.716c.983.4107 2.068.616 3.256.616s2.274-.2127 3.256-.638c.983-.4253 1.834-.9973 2.552-1.716.719-.7333 1.276-1.584 1.672-2.552s.594-1.9947.594-3.08zm-2.838.044c0 .748-.132 1.4593-.396 2.134-.249.66-.601 1.2393-1.056 1.738-.454.484-1.004.8727-1.65 1.166-.63.2787-1.327.418-2.09.418-.762 0-1.466-.1467-2.112-.44-.645-.2933-1.202-.6893-1.672-1.188-.454-.4987-.814-1.078-1.078-1.738-.249-.6747-.374-1.386-.374-2.134s.125-1.452.374-2.112c.264-.6747.624-1.254 1.078-1.738.455-.4987.998-.8873 1.628-1.166.646-.2933 1.35-.44 2.112-.44.763 0 1.467.1467 2.112.44.646.2933 1.196.6893 1.65 1.188.47.4987.829 1.0853 1.078 1.76.264.66.396 1.364.396 2.112z"/><path d="m137.585 24.248-8.25-10.648h-2.508v15.4h2.662v-10.956l8.492 10.956h2.266v-15.4h-2.662z"/><path d="m161.5 21.278c0-1.0853-.198-2.112-.594-3.08s-.946-1.8113-1.65-2.53-1.548-1.2833-2.53-1.694c-.983-.4253-2.068-.638-3.256-.638s-2.274.2127-3.256.638c-.983.4253-1.834 1.0047-2.552 1.738-.719.7187-1.276 1.562-1.672 2.53s-.594 1.9947-.594 3.08.198 2.112.594 3.08.946 1.8113 1.65 2.53 1.547 1.2907 2.53 1.716c.982.4107 2.068.616 3.256.616s2.273-.2127 3.256-.638c.982-.4253 1.833-.9973 2.552-1.716.718-.7333 1.276-1.584 1.672-2.552s.594-1.9947.594-3.08zm-2.838.044c0 .748-.132 1.4593-.396 2.134-.25.66-.602 1.2393-1.056 1.738-.455.484-1.005.8727-1.65 1.166-.631.2787-1.328.418-2.09.418-.763 0-1.467-.1467-2.112-.44-.646-.2933-1.203-.6893-1.672-1.188-.455-.4987-.814-1.078-1.078-1.738-.25-.6747-.374-1.386-.374-2.134s.124-1.452.374-2.112c.264-.6747.623-1.254 1.078-1.738.454-.4987.997-.8873 1.628-1.166.645-.2933 1.349-.44 2.112-.44.762 0 1.466.1467 2.112.44.645.2933 1.195.6893 1.65 1.188.469.4987.828 1.0853 1.078 1.76.264.66.396 1.364.396 2.112z"/><path d="m180.367 26.866v-6.468h-6.556v2.354h3.938v2.882c-.469.352-1.027.638-1.672.858-.631.2053-1.313.308-2.046.308-.792 0-1.511-.1393-2.156-.418-.631-.2787-1.181-.66-1.65-1.144-.455-.4987-.807-1.0853-1.056-1.76s-.374-1.408-.374-2.2c0-.748.125-1.452.374-2.112.264-.66.616-1.2393 1.056-1.738.455-.4987.983-.8873 1.584-1.166.616-.2933 1.276-.44 1.98-.44.484 0 .924.044 1.32.132.411.0733.785.1833 1.122.33.337.132.66.3007.968.506s.609.4327.902.682l1.716-2.046c-.396-.3373-.807-.6307-1.232-.88-.411-.264-.851-.484-1.32-.66s-.983-.308-1.54-.396c-.543-.1027-1.151-.154-1.826-.154-1.159 0-2.229.2127-3.212.638-.968.4253-1.804 1.0047-2.508 1.738-.704.7187-1.254 1.562-1.65 2.53-.381.968-.572 1.9947-.572 3.08 0 1.1293.191 2.178.572 3.146s.917 1.8113 1.606 2.53c.704.704 1.547 1.2613 2.53 1.672.983.396 2.075.594 3.278.594.675 0 1.32-.066 1.936-.198.616-.1173 1.188-.286 1.716-.506.543-.22 1.041-.4767 1.496-.77.469-.2933.895-.6013 1.276-.924z"/><path d="m198.829 29-4.158-5.83c.543-.1467 1.034-.352 1.474-.616.455-.2787.843-.6087 1.166-.99.323-.396.572-.8433.748-1.342.191-.5133.286-1.0927.286-1.738 0-.748-.132-1.4227-.396-2.024-.264-.616-.645-1.1293-1.144-1.54-.484-.4253-1.085-.748-1.804-.968-.704-.2347-1.496-.352-2.376-.352h-6.864v15.4h2.706v-5.368h3.388l3.784 5.368zm-3.234-10.362c0 .792-.286 1.4227-.858 1.892s-1.342.704-2.31.704h-3.96v-5.17h3.938c1.012 0 1.797.22 2.354.66.557.4253.836 1.0633.836 1.914z"/><path d="m211.934 13.49h-2.508l-6.776 15.51h2.772l1.584-3.718h7.282l1.562 3.718h2.86zm1.364 9.394h-5.302l2.64-6.16z"/><path d="m236.31 17.956v11.044h2.706v-15.4h-2.882l-4.686 7.282-4.686-7.282h-2.882v15.4h2.662v-11l4.818 7.216h.088z"/></g></svg>
|
Before Width: | Height: | Size: 4.2 KiB |
1
.github/assets/netlify-dark.svg
vendored
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 147 40" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><radialGradient id="a" cx="-779.0521" cy="1839.7205" gradientTransform="matrix(0 38.301 44.1228 0 -81154.2578 29839.2441)" gradientUnits="userSpaceOnUse" r="1.0011"><stop offset="0" stop-color="#20c6b7"/><stop offset="1" stop-color="#4d9abf"/></radialGradient><path clip-rule="evenodd" d="m53.37 12.98.12 2.2c1.4-1.7 3.24-2.55 5.53-2.55 3.95 0 5.96 2.27 6.03 6.8v12.57h-4.26v-12.32c0-1.21-.26-2.1-.78-2.68s-1.37-.87-2.55-.87c-1.72 0-3 .78-3.84 2.34v13.53h-4.26v-19.02zm24.38 19.37c-2.7 0-4.89-.85-6.57-2.56-1.68-1.7-2.52-3.98-2.52-6.81v-.53c0-1.9.36-3.59 1.1-5.09.73-1.49 1.76-2.66 3.08-3.49s2.79-1.25 4.42-1.25c2.58 0 4.58.83 5.99 2.48s2.11 3.99 2.11 7.01v1.72h-12.4c.13 1.57.65 2.81 1.57 3.73s2.07 1.37 3.46 1.37c1.95 0 3.54-.79 4.77-2.37l2.3 2.2c-.76 1.14-1.77 2.02-3.04 2.65s-2.69.94-4.27.94zm-.51-16.29c-1.17 0-2.11.41-2.83 1.23s-1.18 1.96-1.38 3.43h8.12v-.32c-.09-1.43-.47-2.51-1.14-3.24-.67-.74-1.59-1.1-2.77-1.1zm16.76-7.7v4.62h3.35v3.16h-3.35v10.62c0 .73.14 1.25.43 1.57s.8.48 1.54.48c.5 0 1-.06 1.49-.18v3.31c-.97.27-1.9.4-2.81.4-3.27 0-4.91-1.81-4.91-5.43v-10.77h-3.12v-3.16h3.12v-4.63zm11.14 23.64h-4.26v-27h4.26zm9.17 0h-4.26v-19.02h4.26zm-4.52-23.96c0-.65.21-1.2.62-1.63.42-.43 1.01-.65 1.78-.65s1.37.22 1.79.65.63.98.63 1.64c0 .64-.21 1.18-.63 1.61s-1.02.64-1.79.64-1.36-.21-1.78-.64c-.41-.44-.62-.98-.62-1.62zm10.66 23.96v-15.86h-2.89v-3.16h2.89v-1.74c0-2.11.58-3.74 1.75-4.89s2.81-1.72 4.91-1.72c.75 0 1.54.11 2.39.32l-.1 3.34c-.54-.1-1.08-.15-1.63-.14-2.04 0-3.05 1.05-3.05 3.15v1.69h3.86v3.16h-3.86v15.85zm17.87-6.12 3.86-12.9h4.54l-7.54 21.9c-1.16 3.2-3.12 4.8-5.89 4.8-.62 0-1.3-.11-2.05-.32v-3.31l.81.05c1.07 0 1.88-.2 2.43-.59.54-.39.97-1.05 1.29-1.98l.61-1.64-6.66-18.93h4.6z" fill="#fff" fill-rule="evenodd"/><path d="m27.89 14.14-.01-.01c-.01 0-.02-.01-.02-.01-.02-.02-.03-.06-.03-.09l.77-4.73 3.62 3.63-3.77 1.6c-.01 0-.02.01-.03.01h-.02s-.01-.01-.02-.02c-.14-.16-.31-.29-.49-.38zm5.26-.29 3.88 3.88c.81.81 1.21 1.21 1.35 1.67.02.07.04.14.05.21l-9.26-3.92s-.01 0-.01-.01c-.04-.02-.08-.03-.08-.07s.04-.06.08-.07l.01-.01zm5.12 7c-.2.38-.59.77-1.25 1.43l-4.37 4.37-5.65-1.18-.03-.01c-.05-.01-.1-.02-.1-.06-.04-.47-.28-.9-.66-1.19-.02-.02-.02-.06-.01-.09v-.01l1.06-6.53v-.02c.01-.05.01-.11.06-.11.46-.06.88-.3 1.16-.67.01-.01.01-.02.03-.03.03-.01.07 0 .1.01zm-6.62 6.8-7.19 7.19 1.23-7.56v-.01c0-.01 0-.02.01-.03.01-.02.04-.03.06-.04h.01c.27-.11.51-.29.69-.52.02-.03.05-.06.09-.06h.03zm-8.71 8.71-.81.81-8.95-12.94s-.01-.01-.01-.01c-.01-.02-.03-.04-.03-.06s.01-.03.02-.04l.01-.01c.03-.04.05-.08.07-.12l.02-.03c.01-.02.03-.05.05-.06s.05-.01.07 0l9.92 2.05c.03 0 .05.02.08.03.01.01.02.03.02.04.14.53.52.97 1.03 1.17.03.01.02.05 0 .08-.01.01-.01.03-.01.05-.12.74-1.19 7.27-1.48 9.04zm-1.69 1.69c-.6.59-.95.9-1.35 1.03-.39.12-.81.12-1.21 0-.47-.15-.87-.55-1.67-1.36l-8.99-8.99 2.35-3.64c.01-.02.02-.03.04-.05s.06-.01.09 0c.54.16 1.12.13 1.64-.08.03-.01.05-.02.07 0l.03.03zm-14.09-10.19-2.06-2.06 4.07-1.74c.01 0 .02-.01.03-.01.03 0 .05.03.07.07.04.06.08.12.13.18l.01.02c.01.02 0 .03-.01.05zm-2.98-2.97-2.61-2.61c-.44-.44-.77-.77-.99-1.04l7.94 1.65h.03c.05.01.1.02.1.06 0 .05-.06.07-.11.09l-.02.01zm-4.05-5c.01-.17.04-.33.09-.5.15-.47.55-.87 1.36-1.67l3.34-3.34c1.54 2.23 3.08 4.46 4.63 6.69.03.04.06.08.03.11-.15.16-.29.34-.4.53-.01.02-.03.05-.05.06-.01.01-.03 0-.04 0zm5.68-6.4 4.49-4.49c.42.19 1.96.83 3.33 1.41 1.04.44 1.99.84 2.29.97.03.01.06.02.07.05.01.02 0 .04 0 .06-.14.66.05 1.35.52 1.83.03.03 0 .07-.03.11l-.01.02-4.56 7.06c-.01.02-.02.04-.04.05s-.06.01-.09 0c-.18-.05-.36-.07-.54-.07-.16 0-.34.03-.52.06-.02 0-.04.01-.05 0-.02-.01-.03-.03-.05-.05zm5.4-5.4 5.81-5.81c.81-.81 1.21-1.21 1.67-1.36.39-.12.81-.12 1.21 0 .47.15.87.55 1.67 1.36l1.26 1.26-4.14 6.4c-.01.02-.02.03-.04.05s-.06.01-.09 0c-.66-.2-1.38-.06-1.92.37-.03.03-.07.01-.1 0-.53-.24-4.73-2.01-5.33-2.27zm12.5-3.67 3.82 3.82-.92 5.7v.02c0 .01 0 .03-.01.04-.01.02-.03.02-.05.03-.2.06-.38.15-.55.27-.01.01-.01.01-.02.02s-.02.02-.04.02c-.01 0-.03 0-.04-.01l-5.82-2.47-.01-.01c-.04-.02-.08-.03-.08-.07-.03-.32-.14-.64-.31-.91-.03-.05-.06-.09-.03-.14zm-3.93 8.6 5.45 2.31c.03.01.06.03.08.06.01.02.01.04 0 .06-.02.08-.03.17-.03.26v.15c0 .04-.04.05-.08.07h-.01c-.86.37-12.13 5.17-12.15 5.17s-.03 0-.05-.02c-.03-.03 0-.07.03-.11 0-.01.01-.01.01-.02l4.48-6.94.01-.01c.03-.04.06-.09.1-.09l.05.01c.1.01.19.03.28.03.68 0 1.31-.33 1.69-.9.01-.02.02-.03.03-.04.04-.01.08 0 .11.01zm-6.25 9.19 12.28-5.24s.02 0 .03.02c.07.07.12.11.18.15l.03.02c.02.01.05.03.05.06v.02l-1.05 6.46v.03c-.01.05-.01.11-.06.11-.57.04-1.08.36-1.37.85v.01c-.01.02-.03.05-.05.06s-.05.01-.07 0l-9.79-2.02c-.02-.02-.16-.53-.18-.53z" fill="url(#a)"/></svg>
|
Before Width: | Height: | Size: 4.6 KiB |
BIN
.github/assets/qoddi-dark.png
vendored
Before Width: | Height: | Size: 2 KiB |
BIN
.github/assets/qoddi.png
vendored
Before Width: | Height: | Size: 3.1 KiB |
1
.github/assets/sentry-dark.svg
vendored
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 360.27 79.35" xmlns="http://www.w3.org/2000/svg"><g fill="#fff"><path d="m52.16 4.07c-2.4-3.98-7.57-5.26-11.55-2.86-1.17.71-2.16 1.69-2.86 2.86l-11.86 20.31c18.43 9.2 30.6 27.48 31.98 48.04h-8.32c-1.38-17.62-11.98-33.19-27.86-40.94l-10.97 18.97c8.92 4 15.18 12.26 16.63 21.93h-19.12c-.75-.05-1.32-.71-1.27-1.46.01-.19.07-.37.15-.54l5.3-9.01c-1.79-1.5-3.85-2.66-6.05-3.42l-5.24 9.01c-2.28 3.9-.96 8.91 2.95 11.19.03.02.07.04.1.06 1.24.7 2.64 1.07 4.07 1.08h26.18c.98-12.21-4.49-24.04-14.42-31.2l4.16-7.21c12.54 8.61 19.6 23.22 18.56 38.4h22.18c1.05-23-10.21-44.83-29.57-57.3l8.41-14.41c.39-.65 1.23-.87 1.89-.49.96.52 36.57 62.65 37.23 63.37.37.66.13 1.49-.53 1.86-.21.12-.45.18-.7.17h-8.58c.11 2.29.11 4.58 0 6.86h8.61c4.57.03 8.29-3.65 8.32-8.22 0-.03 0-.06 0-.09 0-1.44-.38-2.86-1.12-4.11z"/><path d="m223.91 50.96-26.59-34.34h-6.63v46.04h6.72v-35.29l27.35 35.28h5.87v-46.04h-6.72zm-66.98-8.54h23.84v-5.98h-23.86v-13.86h26.9v-5.98h-33.75v46.05h34.09v-5.98h-27.24zm-28.03-5.84c-9.28-2.23-11.87-4-11.87-8.29 0-3.86 3.41-6.47 8.49-6.47 4.63.14 9.09 1.75 12.74 4.59l3.6-5.1c-4.62-3.62-10.35-5.53-16.22-5.41-9.12 0-15.48 5.41-15.48 13.1 0 8.29 5.41 11.15 15.24 13.55 8.76 2.02 11.44 3.89 11.44 8.09s-3.6 6.79-9.17 6.79c-5.54-.03-10.88-2.12-14.95-5.87l-4.05 4.85c5.22 4.49 11.89 6.95 18.77 6.94 9.87 0 16.22-5.32 16.22-13.53-.06-6.95-4.17-10.68-14.76-13.24zm223.62-19.97-13.86 21.62-13.76-21.62h-8.04l18.18 27.84v18.22h6.92v-18.43l18.31-27.62zm-116.45 6.24h15.08v39.82h6.92v-39.82h15.08v-6.23h-37.06zm69.08 21.84c6.95-1.93 10.81-6.79 10.81-13.75 0-8.85-6.47-14.41-16.9-14.41h-20.47v46.11h6.85v-16.55h11.62l11.68 16.58h8l-12.61-17.69zm-19.73-4.51v-17.48h12.92c6.74 0 10.59 3.19 10.59 8.72s-4.13 8.76-10.52 8.76z"/></g></svg>
|
Before Width: | Height: | Size: 1.7 KiB |
1
.github/assets/shipshape-dark.svg
vendored
Before Width: | Height: | Size: 8.3 KiB |
1
.github/assets/shipshape.svg
vendored
Before Width: | Height: | Size: 8.3 KiB |
1
.github/assets/stackup-dark.svg
vendored
Before Width: | Height: | Size: 6.4 KiB |
1
.github/assets/stackup.svg
vendored
Before Width: | Height: | Size: 6.4 KiB |
1
.github/assets/storyblok-dark.svg
vendored
Before Width: | Height: | Size: 7.9 KiB |
1
.github/assets/storyblok.svg
vendored
Before Width: | Height: | Size: 7.9 KiB |
1
.github/assets/vercel-dark.svg
vendored
|
@ -1 +0,0 @@
|
|||
<svg fill="#fff" viewBox="0 0 284 65" xmlns="http://www.w3.org/2000/svg"><path d="m37.59.25 36.95 64h-73.9z"/><path d="m129.97 5.25-27.71 48-27.71-48h10.39l17.32 30 17.32-30z"/><path d="m188.88 17.25v9.69c-1-.29-2.06-.49-3.2-.49-5.81 0-10 4-10 10v14.8h-9v-34h9v9.2c0-5.08 5.91-9.2 13.2-9.2z"/><path d="m200.88 34.25c0 6 3.92 10 10 10 4.12 0 7.21-1.87 8.8-4.92l7.68 4.43c-3.18 5.3-9.14 8.49-16.48 8.49-11.05 0-19-7.2-19-18s7.96-18 19-18c7.34 0 13.29 3.19 16.48 8.49l-7.68 4.43c-1.59-3.05-4.68-4.92-8.8-4.92-6.07 0-10 4-10 10z"/><path d="m274.36 5.25h9v46h-9z"/><path d="m268.36 34.24c0-10.79-7.96-17.99-19-17.99s-19 7.2-19 18 8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5zm-28.45-3.49c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5z"/><path d="m141.68 16.25c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.46 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5z"/></svg>
|
Before Width: | Height: | Size: 1.1 KiB |
2
.github/assets/vercel.svg
vendored
|
@ -1 +1 @@
|
|||
<svg viewBox="0 0 284 65" xmlns="http://www.w3.org/2000/svg"><path d="m37.59.25 36.95 64h-73.9z"/><path d="m129.97 5.25-27.71 48-27.71-48h10.39l17.32 30 17.32-30z"/><path d="m188.88 17.25v9.69c-1-.29-2.06-.49-3.2-.49-5.81 0-10 4-10 10v14.8h-9v-34h9v9.2c0-5.08 5.91-9.2 13.2-9.2z"/><path d="m200.88 34.25c0 6 3.92 10 10 10 4.12 0 7.21-1.87 8.8-4.92l7.68 4.43c-3.18 5.3-9.14 8.49-16.48 8.49-11.05 0-19-7.2-19-18s7.96-18 19-18c7.34 0 13.29 3.19 16.48 8.49l-7.68 4.43c-1.59-3.05-4.68-4.92-8.8-4.92-6.07 0-10 4-10 10z"/><path d="m274.36 5.25h9v46h-9z"/><path d="m268.36 34.24c0-10.79-7.96-17.99-19-17.99s-19 7.2-19 18 8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5zm-28.45-3.49c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5z"/><path d="m141.68 16.25c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.46 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5z"/></svg>
|
||||
<svg viewBox="0 0 284 65" xmlns="http://www.w3.org/2000/svg"><path d="m37.59.25 36.95 64h-73.9z"/><path d="m129.97 5.25-27.71 48-27.71-48h10.39l17.32 30 17.32-30z"/><path d="m188.88 17.25v9.69c-1-.29-2.06-.49-3.2-.49-5.81 0-10 4-10 10v14.8h-9v-34h9v9.2c0-5.08 5.91-9.2 13.2-9.2z"/><path d="m200.88 34.25c0 6 3.92 10 10 10 4.12 0 7.21-1.87 8.8-4.92l7.68 4.43c-3.18 5.3-9.14 8.49-16.48 8.49-11.05 0-19-7.2-19-18s7.96-18 19-18c7.34 0 13.29 3.19 16.48 8.49l-7.68 4.43c-1.59-3.05-4.68-4.92-8.8-4.92-6.07 0-10 4-10 10z"/><path d="m274.36 5.25h9v46h-9z"/><path d="m268.36 34.24c0-10.79-7.96-17.99-19-17.99-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5zm-28.45-3.49c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5z"/><path d="m141.68 16.25c-11.04 0-19 7.2-19 18s8.96 18 20 18c6.67 0 12.55-2.64 16.19-7.09l-7.65-4.42c-2.02 2.21-5.09 3.5-8.54 3.5-4.79 0-8.86-2.5-10.37-6.5h28.02c.22-1.12.35-2.28.35-3.5 0-10.79-7.96-17.99-19-17.99zm-9.46 14.5c1.25-3.99 4.67-6.5 9.45-6.5 4.79 0 8.21 2.51 9.45 6.5z"/></svg>
|
||||
|
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
37
.github/labeler.yml
vendored
|
@ -1,37 +0,0 @@
|
|||
# See https://github.com/actions/labeler
|
||||
|
||||
'pkg: example':
|
||||
- examples/**/*
|
||||
|
||||
'🚨 action':
|
||||
- .github/workflows/**
|
||||
|
||||
'pkg: astro':
|
||||
- packages/astro/**
|
||||
|
||||
'pkg: create-astro':
|
||||
- packages/create-astro/**
|
||||
|
||||
'feat: markdown':
|
||||
- packages/markdown/**
|
||||
|
||||
'pkg: integration':
|
||||
- packages/integrations/**
|
||||
|
||||
'pkg: lit':
|
||||
- packages/integrations/lit/**
|
||||
|
||||
'pkg: preact':
|
||||
- packages/integrations/preact/**
|
||||
|
||||
'pkg: react':
|
||||
- packages/integrations/react/**
|
||||
|
||||
'pkg: solid':
|
||||
- packages/integrations/solid/**
|
||||
|
||||
'pkg: svelte':
|
||||
- packages/integrations/svelte/**
|
||||
|
||||
'pkg: vue':
|
||||
- packages/integrations/vue/**
|
85
.github/scripts/bundle-size.mjs
vendored
|
@ -1,85 +0,0 @@
|
|||
import { build } from 'esbuild';
|
||||
import { existsSync } from 'node:fs';
|
||||
|
||||
const CLIENT_RUNTIME_PATH = 'packages/astro/src/runtime/client/';
|
||||
|
||||
function formatBytes(bytes, decimals = 2) {
|
||||
if (bytes === 0) return '0 B';
|
||||
|
||||
const k = 1024;
|
||||
const dm = decimals < 0 ? 0 : decimals;
|
||||
const sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
||||
|
||||
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
||||
|
||||
return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
|
||||
}
|
||||
|
||||
export default async function checkBundleSize({ github, context }) {
|
||||
const PR_NUM = context.payload.pull_request.number;
|
||||
const SHA = context.payload.pull_request.head.sha;
|
||||
|
||||
const { data: files } = await github.rest.pulls.listFiles({
|
||||
...context.repo,
|
||||
pull_number: PR_NUM,
|
||||
});
|
||||
const clientRuntimeFiles = files.filter((file) => {
|
||||
return file.filename.startsWith(CLIENT_RUNTIME_PATH) && file.status !== 'removed'
|
||||
});
|
||||
if (clientRuntimeFiles.length === 0) return;
|
||||
|
||||
const table = [
|
||||
'| File | Old Size | New Size | Change |',
|
||||
'| ---- | -------- | -------- | ------ |',
|
||||
];
|
||||
const output = await bundle(clientRuntimeFiles);
|
||||
|
||||
for (let [filename, { oldSize, newSize, sourceFile }] of Object.entries(output)) {
|
||||
filename = ['idle', 'load', 'media', 'only', 'visible'].includes(filename) ? `client:${filename}` : filename;
|
||||
const prefix = (newSize - oldSize) === 0 ? '' : (newSize - oldSize) > 0 ? '+ ' : '- ';
|
||||
const change = `${prefix}${formatBytes(newSize - oldSize)}`;
|
||||
table.push(`| [\`${filename}\`](https://github.com/${context.repo.owner}/${context.repo.repo}/tree/${context.payload.pull_request.head.ref}/${sourceFile}) | ${formatBytes(oldSize)} | ${formatBytes(newSize)} | ${change} |`);
|
||||
}
|
||||
|
||||
const { data: comments } = await github.rest.issues.listComments({
|
||||
...context.repo,
|
||||
issue_number: PR_NUM
|
||||
})
|
||||
const comment = comments.find(comment => comment.user.login === 'github-actions[bot]' && comment.body.includes('Bundle Size Check'));
|
||||
const method = comment ? 'updateComment' : 'createComment';
|
||||
const payload = comment ? { comment_id: comment.id } : { issue_number: PR_NUM };
|
||||
await github.rest.issues[method]({
|
||||
...context.repo,
|
||||
...payload,
|
||||
body: `### ⚖️ Bundle Size Check
|
||||
|
||||
Latest commit: ${SHA}
|
||||
|
||||
${table.join('\n')}`,
|
||||
});
|
||||
}
|
||||
|
||||
async function bundle(files) {
|
||||
|
||||
const { metafile } = await build({
|
||||
entryPoints: [...files.map(({ filename }) => filename), ...files.map(({ filename }) => `main/${filename}`).filter(f => existsSync(f))],
|
||||
bundle: true,
|
||||
minify: true,
|
||||
sourcemap: false,
|
||||
target: ['es2018'],
|
||||
outdir: 'out',
|
||||
metafile: true,
|
||||
})
|
||||
|
||||
return Object.entries(metafile.outputs).reduce((acc, [filename, info]) => {
|
||||
filename = filename.slice('out/'.length);
|
||||
if (filename.startsWith('main/')) {
|
||||
filename = filename.slice('main/'.length).replace(CLIENT_RUNTIME_PATH, '').replace('.js', '');
|
||||
const oldSize = info.bytes;
|
||||
return Object.assign(acc, { [filename]: Object.assign(acc[filename] ?? { oldSize: 0, newSize: 0 }, { oldSize }) });
|
||||
}
|
||||
filename = filename.replace(CLIENT_RUNTIME_PATH, '').replace('.js', '');
|
||||
const newSize = info.bytes;
|
||||
return Object.assign(acc, { [filename]: Object.assign(acc[filename] ?? { oldSize: 0, newSize: 0 }, { newSize, sourceFile: Object.keys(info.inputs).find(src => src.endsWith('.ts')) }) });
|
||||
}, {});
|
||||
}
|
105
.github/workflows/benchmark.yml
vendored
|
@ -1,105 +0,0 @@
|
|||
name: Benchmark
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
||||
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
|
||||
FORCE_COLOR: true
|
||||
|
||||
jobs:
|
||||
benchmark:
|
||||
if: ${{ github.repository_owner == 'withastro' && github.event.issue.pull_request && startsWith(github.event.comment.body, '!bench') }}
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
outputs:
|
||||
PR-BENCH: ${{ steps.benchmark-pr.outputs.BENCH_RESULT }}
|
||||
MAIN-BENCH: ${{ steps.benchmark-main.outputs.BENCH_RESULT }}
|
||||
steps:
|
||||
# https://github.com/actions/checkout/issues/331#issuecomment-1438220926
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
persist-credentials: false
|
||||
ref: refs/pull/${{ github.event.issue.number }}/head
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
cache: "pnpm"
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Build Packages
|
||||
run: pnpm run build
|
||||
|
||||
- name: Get bench command
|
||||
id: bench-command
|
||||
env:
|
||||
# protects from untrusted user input and command injection
|
||||
COMMENT: ${{ github.event.comment.body }}
|
||||
run: |
|
||||
benchcmd=$(echo "$COMMENT" | grep '!bench' | awk -F ' ' '{print $2}')
|
||||
echo "bench=$benchcmd" >> $GITHUB_OUTPUT
|
||||
shell: bash
|
||||
|
||||
- name: Run benchmark
|
||||
id: benchmark-pr
|
||||
run: |
|
||||
result=$(pnpm run --silent benchmark ${{ steps.bench-command.outputs.bench }})
|
||||
processed=$(node ./benchmark/ci-helper.js "$result")
|
||||
echo "BENCH_RESULT<<BENCHEOF" >> $GITHUB_OUTPUT
|
||||
echo "### PR Benchmark" >> $GITHUB_OUTPUT
|
||||
echo "$processed" >> $GITHUB_OUTPUT
|
||||
echo "BENCHEOF" >> $GITHUB_OUTPUT
|
||||
shell: bash
|
||||
|
||||
# main benchmark
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
persist-credentials: false
|
||||
ref: "main"
|
||||
|
||||
- name: Install
|
||||
run: |
|
||||
pnpm install
|
||||
|
||||
- name: Build Packages
|
||||
run: pnpm run build
|
||||
|
||||
- name: Run benchmark
|
||||
id: benchmark-main
|
||||
run: |
|
||||
result=$(pnpm run --silent benchmark ${{ steps.bench-command.outputs.bench }})
|
||||
processed=$(node ./benchmark/ci-helper.js "$result")
|
||||
echo "BENCH_RESULT<<BENCHEOF" >> $GITHUB_OUTPUT
|
||||
echo "### Main Benchmark" >> $GITHUB_OUTPUT
|
||||
echo "$processed" >> $GITHUB_OUTPUT
|
||||
echo "BENCHEOF" >> $GITHUB_OUTPUT
|
||||
shell: bash
|
||||
|
||||
output-benchmark:
|
||||
if: ${{ github.repository_owner == 'withastro' && github.event.issue.pull_request && startsWith(github.event.comment.body, '!bench') }}
|
||||
needs: [benchmark]
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: Comment PR
|
||||
uses: peter-evans/create-or-update-comment@v2
|
||||
continue-on-error: true
|
||||
with:
|
||||
issue-number: ${{ github.event.issue.number }}
|
||||
body: |
|
||||
${{ needs.benchmark.outputs.PR-BENCH }}
|
||||
|
||||
${{ needs.benchmark.outputs.MAIN-BENCH }}
|
||||
edit-mode: replace
|
88
.github/workflows/check-merge.yml
vendored
|
@ -1,88 +0,0 @@
|
|||
name: Check mergeability
|
||||
|
||||
on: pull_request
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
checks: write
|
||||
statuses: write
|
||||
|
||||
jobs:
|
||||
check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check if there is already a block on this PR
|
||||
id: blocked
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
issue_number: ${{ github.event.number }}
|
||||
with:
|
||||
script: |
|
||||
const { data: reviews } = await github.rest.pulls.listReviews({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
pull_number: process.env.issue_number,
|
||||
});
|
||||
|
||||
for (const review of reviews) {
|
||||
if (review.user.login === 'github-actions[bot]' && review.state === 'CHANGES_REQUESTED') {
|
||||
return 'true'
|
||||
}
|
||||
}
|
||||
return 'false'
|
||||
result-encoding: string
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
if: steps.blocked.outputs.result != 'true'
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Get changed files in the .changeset folder
|
||||
id: changed-files
|
||||
uses: tj-actions/changed-files@v35
|
||||
if: steps.blocked.outputs.result != 'true'
|
||||
with:
|
||||
files: |
|
||||
.changeset/**/*.md
|
||||
|
||||
- name: Check if any changesets contain minor changes
|
||||
id: minor
|
||||
if: steps.blocked.outputs.result != 'true'
|
||||
run: |
|
||||
echo "Checking for changesets marked as minor"
|
||||
echo '::set-output name=found::false'
|
||||
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
|
||||
if grep -q "'astro': minor" "$file"; then
|
||||
echo '::set-output name=found::true'
|
||||
echo "$file has a minor release tag"
|
||||
fi
|
||||
done
|
||||
|
||||
- name: Add label
|
||||
uses: actions/github-script@v6
|
||||
if: steps.minor.outputs.found == 'true'
|
||||
env:
|
||||
issue_number: ${{ github.event.number }}
|
||||
with:
|
||||
script: |
|
||||
github.rest.issues.addLabels({
|
||||
issue_number: process.env.issue_number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
labels: ['semver: minor']
|
||||
});
|
||||
|
||||
- name: Change PR Status
|
||||
uses: actions/github-script@v6
|
||||
if: steps.minor.outputs.found == 'true'
|
||||
env:
|
||||
issue_number: ${{ github.event.number }}
|
||||
with:
|
||||
script: |
|
||||
github.rest.pulls.createReview({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
pull_number: process.env.issue_number,
|
||||
event: 'REQUEST_CHANGES',
|
||||
body: 'This PR is blocked because it contains a `minor` changeset. A reviewer will merge this at the next release if approved.'
|
||||
});
|
50
.github/workflows/check.yml
vendored
|
@ -1,50 +0,0 @@
|
|||
name: Examples astro check
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
merge_group:
|
||||
pull_request:
|
||||
paths:
|
||||
- "examples/**"
|
||||
- ".github/workflows/check.yml"
|
||||
- "scripts/smoke/check.js"
|
||||
- "packages/astro/src/@types/astro.ts"
|
||||
|
||||
env:
|
||||
ASTRO_TELEMETRY_DISABLED: true
|
||||
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
||||
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
|
||||
FORCE_COLOR: true
|
||||
|
||||
jobs:
|
||||
check:
|
||||
name: astro check
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 7
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18
|
||||
cache: "pnpm"
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Build
|
||||
run: pnpm run build
|
||||
|
||||
- name: Status
|
||||
run: git status
|
||||
|
||||
- name: astro check
|
||||
run: pnpm run test:check-examples
|
281
.github/workflows/ci.yml
vendored
|
@ -1,250 +1,107 @@
|
|||
name: CI
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
merge_group:
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- ".vscode/**"
|
||||
- "**/*.md"
|
||||
- ".github/ISSUE_TEMPLATE/**"
|
||||
|
||||
# Automatically cancel older in-progress jobs on the same branch
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request_target' && github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
env:
|
||||
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
||||
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
|
||||
FORCE_COLOR: true
|
||||
ASTRO_TELEMETRY_DISABLED: true
|
||||
# 7 GiB by default on GitHub, setting to 6 GiB
|
||||
# https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources
|
||||
NODE_OPTIONS: --max-old-space-size=6144
|
||||
- '.vscode/**'
|
||||
- 'docs/**'
|
||||
- 'examples/**'
|
||||
- 'www/**'
|
||||
|
||||
jobs:
|
||||
# Build primes out Turbo build cache and pnpm cache
|
||||
build:
|
||||
name: "Build: ${{ matrix.os }}"
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 3
|
||||
strategy:
|
||||
matrix:
|
||||
OS: [ubuntu-latest, windows-latest]
|
||||
NODE_VERSION: [18]
|
||||
fail-fast: true
|
||||
os: [ubuntu-latest]
|
||||
node_version: [12, 14, 16]
|
||||
# TODO: uncomment this (Vite has trouble resolving imports on Windows)
|
||||
# include:
|
||||
# - os: windows-latest
|
||||
# node_version: 14
|
||||
fail-fast: false
|
||||
env:
|
||||
LANG: en-us
|
||||
name: 'Test: node-${{ matrix.node_version }}, ${{ matrix.os }}'
|
||||
steps:
|
||||
# Disable crlf so all OS can share the same Turbo cache
|
||||
# https://github.com/actions/checkout/issues/135
|
||||
- name: Disable git crlf
|
||||
run: git config --global core.autocrlf false
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
|
||||
- name: Setup node@${{ matrix.NODE_VERSION }}
|
||||
uses: actions/setup-node@v3
|
||||
- name: Set node version to ${{ matrix.node_version }}
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ matrix.NODE_VERSION }}
|
||||
cache: "pnpm"
|
||||
node-version: ${{ matrix.node_version }}
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Debug
|
||||
run: yarn versions
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
run: yarn install --frozen-lockfile --ignore-engines
|
||||
|
||||
# Only build in ubuntu as windows can share the build cache.
|
||||
# Also only build in core repo as forks don't have access to the Turbo cache.
|
||||
- name: Build Packages
|
||||
if: ${{ matrix.os == 'ubuntu-latest' && github.repository_owner == 'withastro' }}
|
||||
run: pnpm run build
|
||||
- name: Build Astro
|
||||
run: yarn build:all
|
||||
|
||||
- name: Test
|
||||
run: yarn test
|
||||
|
||||
lint:
|
||||
name: Lint
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
needs: build
|
||||
name: 'Lint: node-14, ubuntu-latest'
|
||||
steps:
|
||||
- name: Disable git crlf
|
||||
run: git config --global core.autocrlf false
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v3
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
node-version: 18
|
||||
cache: "pnpm"
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set node version to 14
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 14
|
||||
cache: 'yarn'
|
||||
|
||||
- name: Debug
|
||||
run: yarn versions
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
run: yarn install --frozen-lockfile --ignore-engines
|
||||
|
||||
- name: Build Packages
|
||||
run: pnpm run build
|
||||
- name: Build
|
||||
run: yarn build:all
|
||||
|
||||
- name: Lint
|
||||
run: pnpm run lint
|
||||
run: yarn lint
|
||||
|
||||
- name: Format Check
|
||||
run: pnpm run format --check
|
||||
# NOTE: temporarily disabled until `next` branch can build docs again
|
||||
# smoke:
|
||||
# runs-on: ubuntu-latest
|
||||
# name: 'Smoke: node-14, ubuntu-latest'
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# with:
|
||||
# fetch-depth: 0
|
||||
|
||||
test:
|
||||
name: "Test: ${{ matrix.os }} (node@${{ matrix.NODE_VERSION }})"
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 25
|
||||
needs: build
|
||||
strategy:
|
||||
matrix:
|
||||
OS: [ubuntu-latest]
|
||||
NODE_VERSION: [18, 20.5.1]
|
||||
include:
|
||||
- os: macos-latest
|
||||
NODE_VERSION: 18
|
||||
- os: windows-latest
|
||||
NODE_VERSION: 18.17.1
|
||||
fail-fast: false
|
||||
env:
|
||||
NODE_VERSION: ${{ matrix.NODE_VERSION }}
|
||||
steps:
|
||||
- name: Disable git crlf
|
||||
run: git config --global core.autocrlf false
|
||||
# - name: Set node version to 14
|
||||
# uses: actions/setup-node@v2
|
||||
# with:
|
||||
# node-version: 14
|
||||
# cache: 'yarn'
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
# - name: Debug
|
||||
# run: yarn versions
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
# - name: Install dependencies
|
||||
# run: yarn install --frozen-lockfile --ignore-engines
|
||||
|
||||
- name: Setup node@${{ matrix.NODE_VERSION }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.NODE_VERSION }}
|
||||
cache: "pnpm"
|
||||
# - name: Build
|
||||
# run: yarn build:all
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
# - name: "Smoke Test: Build 'docs'"
|
||||
# run: yarn build
|
||||
# working-directory: ./docs
|
||||
|
||||
- name: Build Packages
|
||||
run: pnpm run build
|
||||
|
||||
- name: Test
|
||||
run: pnpm run test
|
||||
|
||||
e2e:
|
||||
name: "Test (E2E): ${{ matrix.os }} (node@${{ matrix.NODE_VERSION }})"
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 25
|
||||
needs: build
|
||||
strategy:
|
||||
matrix:
|
||||
OS: [ubuntu-latest, windows-latest]
|
||||
NODE_VERSION: [18.17.1]
|
||||
fail-fast: false
|
||||
env:
|
||||
NODE_VERSION: ${{ matrix.NODE_VERSION }}
|
||||
steps:
|
||||
- name: Disable git crlf
|
||||
run: git config --global core.autocrlf false
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
|
||||
- name: Setup node@${{ matrix.NODE_VERSION }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.NODE_VERSION }}
|
||||
cache: "pnpm"
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Build Packages
|
||||
run: pnpm run build
|
||||
|
||||
- name: Test
|
||||
run: pnpm run test:e2e
|
||||
|
||||
smoke:
|
||||
name: "Test (Smoke): ${{ matrix.os }} (node@${{ matrix.NODE_VERSION }})"
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 25
|
||||
needs: build
|
||||
strategy:
|
||||
matrix:
|
||||
OS: [ubuntu-latest, windows-latest]
|
||||
NODE_VERSION: [18]
|
||||
env:
|
||||
NODE_VERSION: ${{ matrix.NODE_VERSION }}
|
||||
steps:
|
||||
- name: Disable git crlf
|
||||
run: git config --global core.autocrlf false
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
|
||||
- name: Setup node@${{ matrix.NODE_VERSION }}
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: ${{ matrix.NODE_VERSION }}
|
||||
cache: "pnpm"
|
||||
|
||||
- name: Checkout docs
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
repository: withastro/docs
|
||||
path: smoke/docs
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --no-frozen-lockfile
|
||||
|
||||
# Reset lockfile changes so that Turbo can reuse the old build cache
|
||||
- name: Reset lockfile changes
|
||||
run: git reset --hard
|
||||
|
||||
- name: Build Packages
|
||||
run: pnpm run build
|
||||
|
||||
- name: Remove docs translations except for English and Korean
|
||||
run: find smoke/docs/src/content/docs ! -name 'en' ! -name 'ko' -type d -mindepth 1 -maxdepth 1 -exec rm -rf {} +
|
||||
|
||||
- name: Check if docs changed
|
||||
id: changes
|
||||
uses: dorny/paths-filter@v2
|
||||
with:
|
||||
filters: |
|
||||
docs:
|
||||
- 'packages/integrations/*/README.md'
|
||||
- 'packages/astro/src/@types/astro.ts'
|
||||
- 'packages/astro/src/core/errors/errors-data.ts'
|
||||
|
||||
- name: Build autogenerated docs pages from current astro branch
|
||||
if: ${{ steps.changes.outputs.docs == 'true' }}
|
||||
run: cd smoke/docs && pnpm docgen && pnpm docgen:errors && pnpm docgen:integrations
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
SOURCE_REPO: ${{ github.event.pull_request.head.repo.full_name || github.event.repository.full_name }}
|
||||
SOURCE_BRANCH: ${{ github.head_ref || github.ref_name }}
|
||||
|
||||
- name: Test
|
||||
run: pnpm run test:smoke
|
||||
env:
|
||||
SKIP_OG: true
|
||||
PUBLIC_TWO_LANG: true
|
||||
# - name: "Smoke Test: Build 'www'"
|
||||
# run: yarn build
|
||||
# working-directory: ./www
|
||||
|
|
44
.github/workflows/cleanup-cache.yml
vendored
|
@ -1,44 +0,0 @@
|
|||
name: Cleanup cache
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 11 * * *"
|
||||
pull_request:
|
||||
types:
|
||||
- closed
|
||||
|
||||
jobs:
|
||||
cleanup:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Cleanup caches older than 5 days
|
||||
if: github.event_name == 'schedule'
|
||||
uses: MyAlbum/purge-cache@v2
|
||||
with:
|
||||
max-age: 432000
|
||||
|
||||
# https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#force-deleting-cache-entries
|
||||
- name: Cleanup on PR close
|
||||
if: github.event_name == 'pull_request'
|
||||
run: |
|
||||
gh extension install actions/gh-actions-cache
|
||||
|
||||
REPO=${{ github.repository }}
|
||||
BRANCH="refs/pull/${{ github.event.pull_request.number }}/merge"
|
||||
|
||||
echo "Fetching list of cache key"
|
||||
cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH -L 100 | cut -f 1 )
|
||||
|
||||
## Setting this to not fail the workflow while deleting cache keys.
|
||||
set +e
|
||||
echo "Deleting caches..."
|
||||
for cacheKey in $cacheKeysForPR
|
||||
do
|
||||
gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm
|
||||
done
|
||||
echo "Done"
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
24
.github/workflows/congratsbot.yml
vendored
Normal file
|
@ -0,0 +1,24 @@
|
|||
name: "Discord:congratsbot"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
congrats:
|
||||
name: "discord:congratsbot"
|
||||
if: github.repository == 'snowpackjs/astro'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- id: setup
|
||||
run: |
|
||||
TRIMMED=$(echo "${{ github.event.commits[0].message }}" | sed '1!d;q')
|
||||
echo "::set-output name=COMMIT_MSG::${TRIMMED}"
|
||||
- name: Send a Discord notification when a PR is merged
|
||||
env:
|
||||
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_CONGRATS }}
|
||||
# DISCORD_AVATAR: ${{ github.event.pull_request.user.avatar_url }}
|
||||
uses: Ilshidur/action-discord@0.3.2
|
||||
with:
|
||||
args: '**Sweet!** <${{ github.event.commits[0].author.name }}> just merged ["\"${{ steps.setup.outputs.COMMIT_MSG }}\""](<https://github.com/snowpackjs/astro/commits/main>) ```${{ github.event.commits[0].message }}```'
|
31
.github/workflows/format.yml
vendored
|
@ -1,15 +1,30 @@
|
|||
name: Format
|
||||
name: 'Format Code'
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
env:
|
||||
node_version: 14
|
||||
|
||||
jobs:
|
||||
prettier:
|
||||
if: github.repository_owner == 'withastro'
|
||||
uses: withastro/automation/.github/workflows/format.yml@main
|
||||
with:
|
||||
command: "format:ci"
|
||||
secrets: inherit
|
||||
format:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
ref: ${{ github.head_ref }}
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: ${{ env.node_version }}
|
||||
- run: yarn --frozen-lockfile --ignore-engines
|
||||
env:
|
||||
CI: true
|
||||
- run: yarn lerna run build --scope @astrojs/parser
|
||||
- run: yarn format
|
||||
- name: Commit changes
|
||||
uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
commit_message: '[ci] yarn format'
|
||||
branch: ${{ github.head_ref }}
|
||||
|
|
30
.github/workflows/issue-labeled.yml
vendored
|
@ -1,30 +0,0 @@
|
|||
name: Issue Labeled
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [labeled]
|
||||
|
||||
jobs:
|
||||
reply-labeled:
|
||||
if: github.repository == 'withastro/astro'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: remove triage
|
||||
if: contains(github.event.label.description, '(priority)') && contains(github.event.issue.labels.*.name, 'needs triage')
|
||||
uses: actions-cool/issues-helper@v3
|
||||
with:
|
||||
actions: "remove-labels"
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-number: ${{ github.event.issue.number }}
|
||||
labels: "needs triage"
|
||||
|
||||
- name: needs repro
|
||||
if: github.event.label.name == 'needs repro'
|
||||
uses: actions-cool/issues-helper@v3
|
||||
with:
|
||||
actions: "create-comment, remove-labels"
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
issue-number: ${{ github.event.issue.number }}
|
||||
body: |
|
||||
Hello @${{ github.event.issue.user.login }}. Please provide a [minimal reproduction](https://stackoverflow.com/help/minimal-reproducible-example) using a GitHub repository or [StackBlitz](https://astro.new). Issues marked with `needs repro` will be closed if they have no activity within 3 days.
|
||||
labels: "needs triage"
|
18
.github/workflows/issue-needs-repro.yml
vendored
|
@ -1,18 +0,0 @@
|
|||
name: Close Issues (needs repro)
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
jobs:
|
||||
close-issues:
|
||||
if: github.repository == 'withastro/astro'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: needs repro
|
||||
uses: actions-cool/issues-helper@v3
|
||||
with:
|
||||
actions: "close-issues"
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
labels: "needs repro"
|
||||
inactive-day: 3
|
23
.github/workflows/issue-opened.yml
vendored
|
@ -1,23 +0,0 @@
|
|||
name: Label issues
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- reopened
|
||||
- opened
|
||||
|
||||
jobs:
|
||||
label_issues:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'withastro/astro'
|
||||
permissions:
|
||||
issues: write
|
||||
steps:
|
||||
- uses: actions/github-script@v6
|
||||
with:
|
||||
script: |
|
||||
github.rest.issues.addLabels({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
labels: ["needs triage"]
|
||||
})
|
36
.github/workflows/issue.yml
vendored
Normal file
|
@ -0,0 +1,36 @@
|
|||
name: Auto Assign Issues to Project
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
jobs:
|
||||
auto_assign_issues:
|
||||
runs-on: ubuntu-latest
|
||||
name: Auto-assign new issues to projects
|
||||
steps:
|
||||
- run: echo "${{github.event.issue.title}}"
|
||||
|
||||
- name: Assign Bugs to the Bug Tracker
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: github.event.action == 'opened' && startsWith(github.event.issue.title, '🐛 BUG:')
|
||||
with:
|
||||
project: 'https://github.com/snowpackjs/astro/projects/2'
|
||||
column_name: 'Needs Triage'
|
||||
|
||||
- name: Assign RFCs to the RFC Tracker
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: github.event.action == 'opened' && startsWith(github.event.issue.title, '💡 RFC:')
|
||||
with:
|
||||
project: 'https://github.com/snowpackjs/astro/projects/3'
|
||||
column_name: 'Discussing'
|
||||
|
||||
- name: Assign RFCs to the Docs Tracker
|
||||
uses: srggrs/assign-one-project-github-action@1.2.1
|
||||
if: github.event.action == 'opened' && startsWith(github.event.issue.title, '📘 DOC:')
|
||||
with:
|
||||
project: 'https://github.com/snowpackjs/astro/projects/5'
|
||||
column_name: 'TODO'
|
16
.github/workflows/label.yml
vendored
|
@ -1,16 +0,0 @@
|
|||
# Automatically labels PRs based on the configuration file
|
||||
# you are probably looking for 👉 `.github/labeler.yml`
|
||||
name: Label PRs
|
||||
|
||||
on:
|
||||
- pull_request_target
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository_owner == 'withastro'
|
||||
steps:
|
||||
- uses: actions/labeler@v4
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
sync-labels: true
|
77
.github/workflows/main.yml
vendored
|
@ -1,77 +0,0 @@
|
|||
name: Main Checks
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
# Automatically cancel in-progress actions on the same branch
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
congrats:
|
||||
name: congratsbot
|
||||
if: ${{ github.repository_owner == 'withastro' && github.event.head_commit.message != '[ci] format' }}
|
||||
uses: withastro/automation/.github/workflows/congratsbot.yml@main
|
||||
with:
|
||||
EMOJIS: '🎉,🎊,🧑🚀,🥳,🙌,🚀,👏,<:houston_golden:1068575433647456447>,<:astrocoin:894990669515489301>,<:astro_pride:1130501345326157854>'
|
||||
secrets:
|
||||
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_CONGRATS }}
|
||||
|
||||
check_for_update:
|
||||
name: Check for Updates
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
run_job: ${{ steps.check_files.outputs.run_job }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18
|
||||
cache: "pnpm"
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Check Modified
|
||||
run: pnpm exec changeset status --output ./status.json
|
||||
|
||||
- name: Check Output
|
||||
id: check_files
|
||||
run: |
|
||||
output=`echo $(cat status.json)`
|
||||
if [[ $output = '{ "changesets": [], "releases": [] }' ]]
|
||||
then
|
||||
echo 'No changeset found'
|
||||
echo "::set-output name=run_job::true"
|
||||
else
|
||||
echo 'changes found, push to latest skipped'
|
||||
echo "::set-output name=run_job::false"
|
||||
fi
|
||||
|
||||
update:
|
||||
name: Update the latest branch
|
||||
needs: check_for_update
|
||||
if: needs.check_for_update.outputs.run_job == 'true'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Push
|
||||
uses: ad-m/github-push-action@master
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: latest
|
13
.github/workflows/nightly.yml
vendored
|
@ -1,13 +0,0 @@
|
|||
name: Nightly
|
||||
|
||||
on:
|
||||
schedule:
|
||||
# Run every Monday at 12:00 UTC
|
||||
- cron: "0 12 * * 1"
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
lockfile:
|
||||
if: github.repository_owner == 'withastro'
|
||||
uses: withastro/automation/.github/workflows/lockfile.yml@main
|
||||
secrets: inherit
|
83
.github/workflows/release.yml
vendored
|
@ -1,73 +1,52 @@
|
|||
name: Release
|
||||
name: Changelog
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- "1-legacy"
|
||||
- "2-legacy"
|
||||
- next
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
env:
|
||||
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
||||
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
|
||||
FORCE_COLOR: true
|
||||
|
||||
jobs:
|
||||
changelog:
|
||||
name: Changelog PR or Release
|
||||
if: ${{ github.repository_owner == 'withastro' }}
|
||||
release:
|
||||
name: Changelog
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
id-token: write
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v3
|
||||
- name: Check out branch
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
node-version: 18
|
||||
cache: "pnpm"
|
||||
fetch-depth: 0 # This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits
|
||||
|
||||
- name: Set up Node.js 14.x
|
||||
uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 14.x
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Build Packages
|
||||
run: pnpm run build
|
||||
|
||||
- name: Create Release Pull Request or Publish
|
||||
id: changesets
|
||||
uses: changesets/action@v1
|
||||
with:
|
||||
# Note: pnpm install after versioning is necessary to refresh lockfile
|
||||
version: pnpm run version
|
||||
publish: pnpm exec changeset publish
|
||||
commit: "[ci] release"
|
||||
title: "[ci] release"
|
||||
run: yarn --frozen-lockfile --ignore-engines
|
||||
env:
|
||||
# Needs access to push to main
|
||||
GITHUB_TOKEN: ${{ secrets.FREDKBOT_GITHUB_TOKEN }}
|
||||
# Needs access to publish to npm
|
||||
CI: true
|
||||
|
||||
- name: Create Release Pull Request or Publish to npm
|
||||
id: changesets
|
||||
uses: changesets/action@master
|
||||
with:
|
||||
# This expects you to have a script called release which does a build for your packages and calls changeset publish
|
||||
publish: yarn release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
|
||||
- name: Generate Notification
|
||||
id: notification
|
||||
if: steps.changesets.outputs.published == 'true'
|
||||
run: message=$(node scripts/notify/index.js '${{ steps.changesets.outputs.publishedPackages }}') && echo ::set-output name=message::${message//$'\n'/'%0A'}
|
||||
|
||||
- name: Discord Notification
|
||||
- name: Send a Discord notification if a publish happens
|
||||
if: steps.changesets.outputs.published == 'true'
|
||||
id: discord-notification
|
||||
env:
|
||||
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
|
||||
uses: Ilshidur/action-discord@0.3.2
|
||||
with:
|
||||
args: ${{ steps.notification.outputs.message }}
|
||||
args: 'A new release just went out! [Release notes →](<https://github.com/snowpackjs/astro/releases/>)'
|
||||
|
||||
- name: push main branch to latest branch
|
||||
if: steps.changesets.outputs.published == 'true'
|
||||
id: git-push-latest
|
||||
# Note: this will fail if "latest" and "main" have different commit history,
|
||||
# which is a good thing! Also, don't push if in pre-release mode.
|
||||
run: '(test -f .changeset/pre.json && echo "prerelease: skip pushing to latest branch.") || git push origin main:latest'
|
||||
|
|
51
.github/workflows/scripts.yml
vendored
|
@ -1,51 +0,0 @@
|
|||
name: Scripts
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
branches:
|
||||
- "main"
|
||||
paths:
|
||||
- "packages/astro/src/runtime/client/**/*"
|
||||
|
||||
# Automatically cancel in-progress actions on the same branch
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request_target' && github.head_ref || github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
jobs:
|
||||
bundle:
|
||||
name: Bundle Size
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Checkout Main into tmp
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
ref: main
|
||||
path: main
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18
|
||||
cache: "pnpm"
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Check Bundle Size
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |
|
||||
const { default: script } = await import('${{ github.workspace }}/.github/scripts/bundle-size.mjs')
|
||||
await script({ github, context })
|
109
.github/workflows/snapshot-release.yml
vendored
|
@ -1,109 +0,0 @@
|
|||
name: Create a Snapshot Release
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash
|
||||
|
||||
env:
|
||||
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
||||
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
|
||||
FORCE_COLOR: true
|
||||
|
||||
jobs:
|
||||
snapshot-release:
|
||||
name: Create a snapshot release of a pull request
|
||||
if: ${{ github.repository_owner == 'withastro' && github.event.issue.pull_request && startsWith(github.event.comment.body, '!preview') }}
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
issues: write
|
||||
pull-requests: write
|
||||
steps:
|
||||
- name: "Check if user has admin access (only admins can publish snapshot releases)."
|
||||
uses: "lannonbr/repo-permission-check-action@2.0.0"
|
||||
with:
|
||||
permission: "admin"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Extract the snapshot name from comment body
|
||||
id: getSnapshotName
|
||||
uses: actions/github-script@v6
|
||||
with:
|
||||
script: |
|
||||
const splitComment = context.payload.comment.body.split(' ');
|
||||
splitComment.length !== 2 && (github.rest.issues.createComment({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
body: 'Invalid comment format. Expected: "!preview <one-word-snapshot-name>"',
|
||||
}) || core.setFailed('Invalid comment format. Expected: "!preview <one-word-snapshot-name>"'));
|
||||
return splitComment[1].trim();
|
||||
result-encoding: string
|
||||
|
||||
- name: resolve pr refs
|
||||
id: refs
|
||||
uses: eficode/resolve-pr-refs@main
|
||||
with:
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ steps.refs.outputs.head_ref }}
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18
|
||||
registry-url: "https://registry.npmjs.org"
|
||||
cache: "pnpm"
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Build Packages
|
||||
run: pnpm run build
|
||||
|
||||
- name: Bump Package Versions
|
||||
id: changesets
|
||||
run: |
|
||||
pnpm exec changeset version --snapshot ${{ steps.getSnapshotName.outputs.result }} > changesets.output.txt 2>&1
|
||||
echo ::set-output name=result::`cat changesets.output.txt`
|
||||
env:
|
||||
# Needs access to run the script
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Publish Release
|
||||
id: publish
|
||||
run: |
|
||||
pnpm run release --tag next--${{ steps.getSnapshotName.outputs.result }} > publish.output.txt 2>&1
|
||||
echo "Release complete"
|
||||
cat publish.output.txt
|
||||
echo ::set-output name=result::`cat publish.output.txt`
|
||||
env:
|
||||
# Needs access to publish to npm
|
||||
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||
|
||||
- name: Pull Request Notification
|
||||
uses: actions/github-script@v6
|
||||
env:
|
||||
MESSAGE: ${{ steps.publish.outputs.result }}
|
||||
with:
|
||||
script: |
|
||||
console.log(process.env.MESSAGE);
|
||||
github.rest.issues.createComment({
|
||||
issue_number: context.issue.number,
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
body: '```\n' + process.env.MESSAGE + '\n```',
|
||||
})
|
30
.github/workflows/stat.yml
vendored
Normal file
|
@ -0,0 +1,30 @@
|
|||
name: 'Collect Stats'
|
||||
|
||||
on:
|
||||
schedule:
|
||||
# * is a special character in YAML so you have to quote this string
|
||||
- cron: '0 12 * * *'
|
||||
|
||||
env:
|
||||
node_version: 14
|
||||
|
||||
jobs:
|
||||
stat:
|
||||
if: github.repository == 'snowpackjs/astro'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# Check out code using git
|
||||
- uses: actions/checkout@v2
|
||||
# Install Node 14
|
||||
- uses: actions/setup-node@v1
|
||||
with:
|
||||
version: 14
|
||||
- run: yarn install --frozen-lockfile --ignore-engines --ignore-scripts
|
||||
- run: node scripts/stats/index.js
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Commit changes
|
||||
uses: stefanzweifel/git-auto-commit-action@v4
|
||||
with:
|
||||
commit_message: '[ci] collect stats'
|
||||
branch: ${{ github.head_ref }}
|
51
.github/workflows/test-hosts.yml
vendored
|
@ -1,51 +0,0 @@
|
|||
name: Hosted tests
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * 0'
|
||||
|
||||
env:
|
||||
ASTRO_TELEMETRY_DISABLED: true
|
||||
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
|
||||
TURBO_TEAM: ${{ secrets.TURBO_TEAM }}
|
||||
VERCEL_ORG_ID: ${{ secrets.VERCEL_TEST_ORG_ID }}
|
||||
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_TEST_PROJECT_ID }}
|
||||
VERCEL_TOKEN: ${{ secrets.VERCEL_TEST_TOKEN }}
|
||||
FORCE_COLOR: true
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: Run tests
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Setup PNPM
|
||||
uses: pnpm/action-setup@v2
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18
|
||||
cache: "pnpm"
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: Build Astro
|
||||
run: pnpm turbo build --filter astro --filter @astrojs/vercel
|
||||
|
||||
- name: Build test project
|
||||
working-directory: ./packages/integrations/vercel/test/hosted/hosted-astro-project
|
||||
run:
|
||||
pnpm run build
|
||||
|
||||
- name: Deploy to Vercel
|
||||
working-directory: ./packages/integrations/vercel/test/hosted/hosted-astro-project
|
||||
run:
|
||||
pnpm dlx vercel --prod --prebuilt
|
||||
|
||||
- name: Test
|
||||
run:
|
||||
pnpm run test:e2e:hosts
|
54
.github/workflows/updatelatest.yml
vendored
Normal file
|
@ -0,0 +1,54 @@
|
|||
name: 'Update Latest from main'
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "main"
|
||||
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
jobs:
|
||||
update:
|
||||
name: check for updates in .changeset
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
run_job: ${{ steps.check_files.outputs.run_job }}
|
||||
steps:
|
||||
- name: checkout git branch
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Install all dependencies
|
||||
run: yarn
|
||||
|
||||
- name: check modified files
|
||||
run: npx changeset status --output ./status.json
|
||||
|
||||
- name: check output
|
||||
id: check_files
|
||||
run: |
|
||||
output=`echo $(cat status.json)`
|
||||
if [[ $output = '{ "changesets": [], "releases": [] }' ]]
|
||||
then
|
||||
echo 'No changeset found'
|
||||
echo "::set-output name=run_job::true"
|
||||
else
|
||||
echo 'changes found, push to latest skipped'
|
||||
echo "::set-output name=run_job::false"
|
||||
fi
|
||||
|
||||
|
||||
update_latest_branch:
|
||||
name: Update the latest branch
|
||||
needs: update
|
||||
if: needs.update.outputs.run_job == 'true'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Push
|
||||
uses: ad-m/github-push-action@master
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: latest
|
25
.gitignore
vendored
|
@ -3,35 +3,14 @@ dist/
|
|||
*.tsbuildinfo
|
||||
.DS_Store
|
||||
.vercel
|
||||
.netlify
|
||||
_site/
|
||||
scripts/smoke/*-main/
|
||||
scripts/memory/project/src/pages/
|
||||
benchmark/projects/
|
||||
benchmark/results/
|
||||
*.log
|
||||
package-lock.json
|
||||
.turbo/
|
||||
.eslintcache
|
||||
.pnpm-store
|
||||
|
||||
# ignore top-level vscode settings
|
||||
/.vscode/settings.json
|
||||
# .vscode files other than at top-level
|
||||
**/.vscode
|
||||
|
||||
# do not commit .env files or any files that end with `.env`
|
||||
*.env
|
||||
|
||||
packages/astro/src/**/*.prebuilt.ts
|
||||
!packages/astro/vendor/vite/dist
|
||||
packages/integrations/**/.netlify/
|
||||
|
||||
# exclude IntelliJ/WebStorm stuff
|
||||
.idea
|
||||
|
||||
# ignore content collection generated files
|
||||
packages/**/test/**/fixtures/**/.astro/
|
||||
packages/**/test/**/fixtures/**/env.d.ts
|
||||
packages/**/e2e/**/fixtures/**/.astro/
|
||||
packages/**/e2e/**/fixtures/**/env.d.ts
|
||||
examples/**/.astro/
|
||||
examples/**/env.d.ts
|
||||
|
|
18
.gitpod.yml
|
@ -1,23 +1,15 @@
|
|||
---
|
||||
# Commands to start on workspace startup
|
||||
tasks:
|
||||
- before: |
|
||||
# Get latest pnpm version, in case the custom docker image was not updated
|
||||
# Until this issue gets resolved - https://github.com/gitpod-io/gitpod/issues/12551
|
||||
curl -fsSL https://get.pnpm.io/install.sh | SHELL=`which bash` bash -
|
||||
init: |
|
||||
pnpm install
|
||||
pnpm run build
|
||||
command: |
|
||||
.gitpod/gitpod-setup.sh
|
||||
- init: yarn install
|
||||
command: yarn build
|
||||
vscode:
|
||||
extensions:
|
||||
- astro-build.astro-vscode
|
||||
# TODO Once astro is on [vsx](https://open-vsx.org/), we should be able to specify it as an extension as well!
|
||||
# https://www.gitpod.io/docs/vscode-extensions
|
||||
- https://marketplace.visualstudio.com/_apis/public/gallery/publishers/astro-build/vsextensions/astro-vscode/0.7.13/vspackage
|
||||
- esbenp.prettier-vscode
|
||||
- dbaeumer.vscode-eslint
|
||||
ports:
|
||||
- port: 4321
|
||||
onOpen: open-preview
|
||||
github:
|
||||
prebuilds:
|
||||
# enable for the master/default branch (defaults to true)
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# Convert context URL to an array
|
||||
mapfile -t CONTEXT_URL_ITEMS < <(echo "$GITPOD_WORKSPACE_CONTEXT_URL" | tr '/' '\n')
|
||||
|
||||
# Install latest pnpm
|
||||
curl -fsSL https://get.pnpm.io/install.sh | SHELL=`which bash` bash -
|
||||
|
||||
# Check if Gitpod started from a specific example directory in the repository
|
||||
if [ "${CONTEXT_URL_ITEMS[7]}" = "examples" ]; then
|
||||
EXAMPLE_PROJECT=${CONTEXT_URL_ITEMS[8]}
|
||||
# Check it Gitpod started with $ASTRO_NEW environment variable
|
||||
elif [ -n "$ASTRO_NEW" ]; then
|
||||
EXAMPLE_PROJECT="$ASTRO_NEW"
|
||||
# Otherwise, set the default example project - 'starter'
|
||||
else
|
||||
EXAMPLE_PROJECT="starter"
|
||||
fi
|
||||
|
||||
# Wait for VSCode to be ready (port 23000)
|
||||
gp ports await 23000 > /dev/null 2>&1
|
||||
|
||||
echo "Loading example project: $EXAMPLE_PROJECT"
|
||||
|
||||
# Go to the requested example project
|
||||
cd "$GITPOD_REPO_ROOT"/examples/"$EXAMPLE_PROJECT" || exit
|
||||
# Open the main page in VSCode
|
||||
code src/pages/index.astro
|
||||
# Start Astro
|
||||
pnpm start
|
14
.npmrc
|
@ -1,14 +0,0 @@
|
|||
# Important! Never install `astro` even when new version is in registry
|
||||
prefer-workspace-packages=true
|
||||
link-workspace-packages=true
|
||||
save-workspace-protocol=false # This prevents the examples to have the `workspace:` prefix
|
||||
auto-install-peers=false
|
||||
|
||||
# `github-slugger` is used by `vite-plugin-markdown-legacy`.
|
||||
# Temporarily hoist this until we remove the feature.
|
||||
public-hoist-pattern[]=github-slugger
|
||||
# Vite's esbuild optimizer has trouble optimizing `@astrojs/lit/client-shim.js`
|
||||
# which imports this dependency.
|
||||
public-hoist-pattern[]=@webcomponents/template-shadowroot
|
||||
# There's a lit dependency duplication somewhere causing multiple Lit versions error.
|
||||
public-hoist-pattern[]=*lit*
|
2
.nvmrc
|
@ -1 +1 @@
|
|||
18.14.1
|
||||
14.16.1
|
||||
|
|
|
@ -1,18 +1,7 @@
|
|||
# Benchmark artifacts
|
||||
benchmark/projects/
|
||||
benchmark/results/
|
||||
|
||||
# Deep Directories
|
||||
**/dist
|
||||
**/smoke
|
||||
**/node_modules
|
||||
**/fixtures
|
||||
**/vendor
|
||||
**/.vercel
|
||||
|
||||
# Directories
|
||||
.github
|
||||
.changeset
|
||||
|
||||
# Files
|
||||
pnpm-lock.yaml
|
||||
README.md
|
||||
|
|