Compare commits
1 commit
main
...
feat/astro
Author | SHA1 | Date | |
---|---|---|---|
|
1e0b670e28 |
5
.changeset/afraid-crabs-heal.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fix for the static build when project contains a space
|
10
.changeset/afraid-moles-hunt.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
'@astrojs/renderer-lit': minor
|
||||||
|
'@astrojs/renderer-preact': minor
|
||||||
|
'@astrojs/renderer-react': minor
|
||||||
|
'@astrojs/renderer-solid': minor
|
||||||
|
'@astrojs/renderer-svelte': minor
|
||||||
|
'@astrojs/renderer-vue': minor
|
||||||
|
---
|
||||||
|
|
||||||
|
Upgrade renderer dependencies for `vite@2.8.x`
|
5
.changeset/angry-apricots-invite.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fixes HMR of CSS that is imported from astro, when using the static build flag
|
5
.changeset/brown-dancers-perform.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fix for CSS superset support and HMR in the static build
|
5
.changeset/calm-suns-give.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fix an issue rendering content within HTMLElement
|
8
.changeset/chatty-spies-wink.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
'astro': minor
|
||||||
|
---
|
||||||
|
|
||||||
|
Add support for the `set:html` and `set:text` directives.
|
||||||
|
|
||||||
|
With the introduction of these directives, unescaped HTML content in expressions is now deprecated. Please migrate to `set:html` in order to continue injecting unescaped HTML in future versions of Astro—you can use `<Fragment set:html={content}>` to avoid a wrapper element. `set:text` allows you to opt-in to escaping now, but it will soon become the default.
|
||||||
|
|
|
@ -1,12 +1,10 @@
|
||||||
{
|
{
|
||||||
"$schema": "https://unpkg.com/@changesets/config@1.7.0/schema.json",
|
"$schema": "https://unpkg.com/@changesets/config@1.6.0/schema.json",
|
||||||
"changelog": ["@changesets/changelog-github", { "repo": "withastro/astro" }],
|
"changelog": ["@changesets/changelog-github", { "repo": "withastro/astro" }],
|
||||||
"commit": false,
|
"commit": false,
|
||||||
"linked": [],
|
"linked": [["astro", "@astrojs/parser"]],
|
||||||
"access": "public",
|
"access": "public",
|
||||||
"baseBranch": "main",
|
"baseBranch": "main",
|
||||||
"updateInternalDependencies": "patch",
|
"updateInternalDependencies": "patch",
|
||||||
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
|
"ignore": ["@example/*"]
|
||||||
"onlyUpdatePeerDependentsWhenOutOfRange": true
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
5
.changeset/curly-wasps-sin.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'@astrojs/markdown-remark': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Now you can use local plugins by passing a function instead of an `import`
|
7
.changeset/empty-snails-allow.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
'astro': minor
|
||||||
|
---
|
||||||
|
|
||||||
|
Refactor dev server to use vite server internally.
|
||||||
|
|
||||||
|
This should be an invisible change, and no breaking changes are expected from this change. However, it is a big enough refactor that some unexpected changes may occur. If you've experienced a regression in the dev server, it is most likely a bug!
|
|
@ -1,5 +0,0 @@
|
||||||
---
|
|
||||||
'astro': patch
|
|
||||||
---
|
|
||||||
|
|
||||||
Fixed an issue where the transitions router did not work within framework components.
|
|
5
.changeset/four-mirrors-wonder.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fixes HMR of .astro modules in astro@next
|
7
.changeset/fresh-moose-compare.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fixes build slowness on large apps
|
||||||
|
|
||||||
|
This fixes slowness on large apps, particularly during the static build. Fix is to prevent the Vite dev server plugin from being run during build, as it is not needed.
|
5
.changeset/gold-kangaroos-notice.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fixes pageUrlFormat: 'file' in the static build
|
5
.changeset/grumpy-chefs-judge.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fix issue where hostname was not passed to dev server
|
7
.changeset/loud-seals-camp.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
'astro': minor
|
||||||
|
---
|
||||||
|
|
||||||
|
Upgrade `vite` to `2.8.x`, unvendoring `vite` and bringing Astro's dependencies up-to-date.
|
||||||
|
|
||||||
|
This is a low-level change that you shouldn't have to worry about too much, but it should fix many, many issues with CJS/ESM interoperability. It also allows Astro to stay up-to-date with the `vite` ecosystem. If you run into any unexpected problems, please let us know by opening an issue.
|
5
.changeset/many-oranges-retire.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Improve debug logs
|
5
.changeset/mighty-lamps-drive.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Bug fix for `define:vars` with the --experimental-static-build flag
|
6
.changeset/nasty-lions-exist.md
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
'@astrojs/markdown-remark': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Added the ability to use custom themes and langs with Shiki (`<Code />` and `@astrojs/markdown-remark`)
|
7
.changeset/old-parents-obey.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Respect subpath URL paths in the fetchContent url property.
|
||||||
|
|
||||||
|
This fixes an issue where fetchContent() URL property did not include the buildOptions.site path in it.
|
73
.changeset/pre.json
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
{
|
||||||
|
"mode": "pre",
|
||||||
|
"tag": "next",
|
||||||
|
"initialVersions": {
|
||||||
|
"@example/blog": "0.0.1",
|
||||||
|
"@example/blog-multiple-authors": "0.0.1",
|
||||||
|
"@example/component": "0.0.1",
|
||||||
|
"@example/my-component-demo": "0.0.1",
|
||||||
|
"@example/my-component": "0.0.1",
|
||||||
|
"@example/docs": "0.0.1",
|
||||||
|
"@example/fast-build": "0.0.1",
|
||||||
|
"@example/framework-alpine": "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/portfolio-svelte": "0.0.1",
|
||||||
|
"@example/starter": "0.0.1",
|
||||||
|
"@example/subpath": "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",
|
||||||
|
"@example/with-vite-plugin-pwa": "0.0.1",
|
||||||
|
"astro": "0.22.20",
|
||||||
|
"@astrojs/parser": "0.22.0",
|
||||||
|
"@astrojs/prism": "0.4.0",
|
||||||
|
"@astrojs/astro-test-builtins-dep": "0.1.0",
|
||||||
|
"@astrojs/test-custom-element-renderer": "0.1.0",
|
||||||
|
"@astrojs/test-static-build-pkg": "0.0.2",
|
||||||
|
"create-astro": "0.7.1",
|
||||||
|
"@astrojs/markdown-remark": "0.6.0",
|
||||||
|
"@astrojs/renderer-lit": "0.3.1",
|
||||||
|
"@astrojs/renderer-preact": "0.4.0",
|
||||||
|
"@astrojs/renderer-react": "0.4.1",
|
||||||
|
"@astrojs/renderer-solid": "0.3.1",
|
||||||
|
"@astrojs/renderer-svelte": "0.3.1",
|
||||||
|
"@astrojs/renderer-vue": "0.3.0",
|
||||||
|
"astro-scripts": "0.0.1",
|
||||||
|
"@example/with-markdown-shiki": "0.0.1"
|
||||||
|
},
|
||||||
|
"changesets": [
|
||||||
|
"afraid-crabs-heal",
|
||||||
|
"afraid-moles-hunt",
|
||||||
|
"angry-apricots-invite",
|
||||||
|
"brown-dancers-perform",
|
||||||
|
"calm-suns-give",
|
||||||
|
"chatty-spies-wink",
|
||||||
|
"curly-wasps-sin",
|
||||||
|
"empty-snails-allow",
|
||||||
|
"four-mirrors-wonder",
|
||||||
|
"fresh-moose-compare",
|
||||||
|
"gold-kangaroos-notice",
|
||||||
|
"grumpy-chefs-judge",
|
||||||
|
"loud-seals-camp",
|
||||||
|
"many-oranges-retire",
|
||||||
|
"mighty-lamps-drive",
|
||||||
|
"nasty-lions-exist",
|
||||||
|
"old-parents-obey",
|
||||||
|
"rotten-planets-love",
|
||||||
|
"serious-glasses-taste",
|
||||||
|
"shaggy-shoes-leave",
|
||||||
|
"shy-brooms-tell",
|
||||||
|
"six-ants-hunt",
|
||||||
|
"soft-mayflies-warn",
|
||||||
|
"tiny-owls-dress"
|
||||||
|
]
|
||||||
|
}
|
5
.changeset/rotten-planets-love.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'@astrojs/markdown-remark': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Add Shiki as an alternative to Prism
|
5
.changeset/serious-glasses-taste.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'@astrojs/markdown-remark': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Added `wrap` to Shiki config
|
7
.changeset/shaggy-shoes-leave.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
'astro': minor
|
||||||
|
---
|
||||||
|
|
||||||
|
Standardize trailing subpath behavior in config.
|
||||||
|
|
||||||
|
Most users are not aware of the subtle differences between `/foo` and `/foo/`. Internally, we have to handle both which means that we are constantly worrying about the format of the URL, needing to add/remove trailing slashes when we go to work with this property, etc. This change transforms all `site` values to use a trailing slash internally, which should help reduce bugs for both users and maintainers.
|
7
.changeset/shy-brooms-tell.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fix rendering of HTML boolean attributes like `open` and `async`.
|
||||||
|
|
||||||
|
Fix rendering of HTML and SVG enumerated attributes like `contenteditable` and `spellcheck`.
|
5
.changeset/six-ants-hunt.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'@astrojs/markdown-remark': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fixed curly braces inside Shiki codeblocks
|
5
.changeset/soft-mayflies-warn.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fixes bug with astro/components not loading in the next release
|
5
.changeset/tiny-owls-dress.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
'astro': patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Bumped Shiki version
|
|
@ -1,5 +0,0 @@
|
||||||
---
|
|
||||||
'@astrojs/cloudflare': patch
|
|
||||||
---
|
|
||||||
|
|
||||||
fixes `AdvancedRuntime` & `DirectoryRuntime` types to work woth Cloudflare caches
|
|
|
@ -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"]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,9 +1,8 @@
|
||||||
**/*.d.ts
|
**/*.js
|
||||||
packages/**/*.min.js
|
**/*.ts
|
||||||
packages/**/dist/**/*
|
!packages/astro/**/*.js
|
||||||
packages/**/fixtures/**/*
|
!packages/astro/**/*.ts
|
||||||
|
packages/astro/test/**/*.js
|
||||||
packages/astro/vendor/vite/**/*
|
packages/astro/vendor/vite/**/*
|
||||||
examples/**/*
|
|
||||||
scripts/**/*
|
|
||||||
.github
|
.github
|
||||||
.changeset
|
.changeset
|
||||||
|
|
101
.eslintrc.cjs
|
@ -1,98 +1,21 @@
|
||||||
const { builtinModules } = require('module');
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
extends: [
|
|
||||||
'plugin:@typescript-eslint/recommended-type-checked',
|
|
||||||
'plugin:@typescript-eslint/stylistic-type-checked',
|
|
||||||
'prettier',
|
|
||||||
],
|
|
||||||
parser: '@typescript-eslint/parser',
|
parser: '@typescript-eslint/parser',
|
||||||
parserOptions: {
|
extends: ['plugin:@typescript-eslint/recommended', 'prettier'],
|
||||||
project: ['./packages/*/tsconfig.json', './tsconfig.eslint.json'],
|
plugins: ['@typescript-eslint', 'prettier'],
|
||||||
tsconfigRootDir: __dirname,
|
|
||||||
},
|
|
||||||
plugins: ['@typescript-eslint', 'prettier', 'no-only-tests'],
|
|
||||||
rules: {
|
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/ban-ts-comment': 'off',
|
||||||
'@typescript-eslint/class-literal-property-style': 'off',
|
'@typescript-eslint/camelcase': 'off',
|
||||||
'@typescript-eslint/consistent-indexed-object-style': 'off',
|
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
||||||
'@typescript-eslint/consistent-type-definitions': 'off',
|
|
||||||
'@typescript-eslint/dot-notation': 'off',
|
|
||||||
'@typescript-eslint/no-base-to-string': 'off',
|
|
||||||
'@typescript-eslint/no-empty-function': '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',
|
'@typescript-eslint/no-explicit-any': 'off',
|
||||||
|
'@typescript-eslint/no-non-null-assertion': 'off',
|
||||||
// These rules enabled by the preset configs don't work well for us
|
|
||||||
'@typescript-eslint/await-thenable': 'off',
|
|
||||||
'prefer-const': 'off',
|
|
||||||
},
|
|
||||||
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',
|
'@typescript-eslint/no-unused-vars': 'off',
|
||||||
'no-console': 'off',
|
'@typescript-eslint/no-use-before-define': 'off',
|
||||||
|
'@typescript-eslint/no-var-requires': 'off',
|
||||||
|
'@typescript-eslint/no-this-alias': 'off',
|
||||||
|
'no-console': 'warn',
|
||||||
|
'no-shadow': 'error',
|
||||||
|
'prefer-const': 'off',
|
||||||
|
// 'require-jsdoc': 'error', // re-enable this to enforce JSDoc for all functions
|
||||||
},
|
},
|
||||||
},
|
|
||||||
],
|
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,2 @@
|
||||||
# Switch to tabs (Use Accessible Indentation #2253)
|
# Switch to tabs (Use Accessible Indentation #2253)
|
||||||
6ddd7678ffb6598ae6e263706813cb5e94535f02
|
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
|
* @snowpackjs/maintainers
|
||||||
packages/astro/src/@types/astro.ts @withastro/maintainers-docs
|
|
||||||
packages/astro/src/core/errors/errors-data.ts @withastro/maintainers-docs
|
|
||||||
|
|
42
.github/ISSUE_TEMPLATE/---01-bug-report.yml
vendored
|
@ -1,5 +1,6 @@
|
||||||
name: "\U0001F41B Bug Report"
|
name: "\U0001F41B Bug Report"
|
||||||
description: Report an issue or possible bug
|
description: Report an issue or possible bug
|
||||||
|
title: "\U0001F41B BUG:"
|
||||||
labels: []
|
labels: []
|
||||||
assignees: []
|
assignees: []
|
||||||
body:
|
body:
|
||||||
|
@ -10,46 +11,35 @@ body:
|
||||||
Thank you for taking the time to file a bug report! Please fill out this form as completely as possible.
|
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 the **latest version of Astro** and all plugins.
|
||||||
✅ I am using a version of Node that Astro supports (`>=18.14.1`)
|
✅ I am using a version of Node that supports ESM (`v14.15.0+`, or `v16.0.0+`)
|
||||||
- type: textarea
|
- type: input
|
||||||
id: astro-info
|
|
||||||
attributes:
|
attributes:
|
||||||
label: Astro Info
|
label: What version of `astro` are you using?
|
||||||
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.
|
placeholder: 0.0.0
|
||||||
render: block
|
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
- type: input
|
- type: input
|
||||||
id: browser
|
|
||||||
attributes:
|
attributes:
|
||||||
label: If this issue only occurs in one browser, which browser is a problem?
|
label: What package manager are you using?
|
||||||
placeholder: Chrome, Firefox, Safari
|
placeholder: npm, yarn, pnpm
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
attributes:
|
||||||
|
label: What operating system are you using?
|
||||||
|
placeholder: Mac, Windows, Linux
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
- type: textarea
|
- type: textarea
|
||||||
id: bug-description
|
|
||||||
attributes:
|
attributes:
|
||||||
label: Describe the Bug
|
label: Describe the Bug
|
||||||
description: A clear and concise description of what the bug is.
|
description: A clear and concise description of what the bug is.
|
||||||
validations:
|
validations:
|
||||||
required: true
|
required: true
|
||||||
- type: textarea
|
|
||||||
id: bug-expectation
|
|
||||||
attributes:
|
|
||||||
label: What's the expected result?
|
|
||||||
description: Describe what you expect to happen.
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
- type: input
|
- type: input
|
||||||
id: bug-reproduction
|
|
||||||
attributes:
|
attributes:
|
||||||
label: Link to Minimal Reproducible Example
|
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)'
|
description: 'Please use the following link to create a reproduction: https://astro.new'
|
||||||
placeholder: 'https://stackblitz.com/abcd1234'
|
placeholder: 'https://stackblitz.com/abcd1234'
|
||||||
validations:
|
validations:
|
||||||
required: true
|
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
|
|
||||||
|
|
2
.github/ISSUE_TEMPLATE/config.yml
vendored
|
@ -4,7 +4,7 @@ contact_links:
|
||||||
url: https://github.com/withastro/docs
|
url: https://github.com/withastro/docs
|
||||||
about: File an issue or make an improvement to the docs website.
|
about: File an issue or make an improvement to the docs website.
|
||||||
- name: 💡 Ideas for New Features, Improvements and RFCs
|
- name: 💡 Ideas for New Features, Improvements and RFCs
|
||||||
url: https://github.com/withastro/roadmap/discussions
|
url: https://github.com/withastro/rfcs/discussions
|
||||||
about: Propose and discuss future improvements to Astro
|
about: Propose and discuss future improvements to Astro
|
||||||
- name: 👾 Chat
|
- name: 👾 Chat
|
||||||
url: https://astro.build/chat
|
url: https://astro.build/chat
|
||||||
|
|
12
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
@ -2,8 +2,7 @@
|
||||||
|
|
||||||
- What does this change?
|
- What does this change?
|
||||||
- Be short and concise. Bullet points can help!
|
- Be short and concise. Bullet points can help!
|
||||||
- Before/after screenshots can help as well.
|
- Before/after screenshots can be helpful as well.
|
||||||
- Don't forget a changeset! `pnpm exec changeset`
|
|
||||||
|
|
||||||
## Testing
|
## Testing
|
||||||
|
|
||||||
|
@ -12,9 +11,6 @@
|
||||||
|
|
||||||
## Docs
|
## Docs
|
||||||
|
|
||||||
<!-- Could this affect a user’s behavior? We probably need to update docs! -->
|
<!-- Did you make a user-facing change? You probably need to update docs! -->
|
||||||
<!-- If docs will be needed or you’re not sure, uncomment the next line: -->
|
<!-- Add a link to your docs PR here. If no docs added, explain why (e.g. "bug fix only") -->
|
||||||
<!-- /cc @withastro/maintainers-docs for feedback! -->
|
<!-- Link: https://github.com/withastro/docs -->
|
||||||
|
|
||||||
<!-- DON'T DELETE THIS SECTION! If no docs added, explain why.-->
|
|
||||||
<!-- https://github.com/withastro/docs -->
|
|
||||||
|
|
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/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 |
2
.github/assets/netlify-dark.svg
vendored
|
@ -1 +1 @@
|
||||||
<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>
|
<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="#ffffff" 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 After 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 |
2
.github/assets/stackup-dark.svg
vendored
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 8.9 KiB |
2
.github/assets/stackup.svg
vendored
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 8.9 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 |
2
.github/assets/vercel-dark.svg
vendored
|
@ -1 +1 @@
|
||||||
<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>
|
<svg fill="#ffffff" 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 |
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 |
11
.github/extract-artifacts.sh
vendored
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
cd artifacts
|
||||||
|
mkdir -p ../tmp/packages
|
||||||
|
mv * ../tmp/packages
|
||||||
|
cd ../tmp
|
||||||
|
tar -cvzpf artifacts.tar.gz *
|
||||||
|
mv artifacts.tar.gz ../artifacts.tar.gz
|
||||||
|
cd ..
|
||||||
|
tar -xvzpf artifacts.tar.gz
|
||||||
|
rm -rf artifacts
|
||||||
|
rm -rf tmp
|
||||||
|
rm -f artifacts.tar.gz
|
39
.github/labeler.yml
vendored
|
@ -1,37 +1,40 @@
|
||||||
# See https://github.com/actions/labeler
|
# See https://github.com/actions/labeler
|
||||||
|
|
||||||
'pkg: example':
|
example:
|
||||||
- examples/**/*
|
- examples/**/*
|
||||||
|
|
||||||
'🚨 action':
|
'🚨 action':
|
||||||
- .github/workflows/**
|
- .github/workflows/**
|
||||||
|
|
||||||
'pkg: astro':
|
test:
|
||||||
|
- packages/**/*.test.js
|
||||||
|
|
||||||
|
core:
|
||||||
- packages/astro/**
|
- packages/astro/**
|
||||||
|
|
||||||
'pkg: create-astro':
|
create-astro:
|
||||||
- packages/create-astro/**
|
- packages/create-astro/**
|
||||||
|
|
||||||
'feat: markdown':
|
markdown:
|
||||||
- packages/markdown/**
|
- packages/markdown/**
|
||||||
|
|
||||||
'pkg: integration':
|
renderer:
|
||||||
- packages/integrations/**
|
- packages/renderers/**
|
||||||
|
|
||||||
'pkg: lit':
|
framework-lit:
|
||||||
- packages/integrations/lit/**
|
- packages/renderers/renderer-lit/**
|
||||||
|
|
||||||
'pkg: preact':
|
framework-preact:
|
||||||
- packages/integrations/preact/**
|
- packages/renderers/renderer-preact/**
|
||||||
|
|
||||||
'pkg: react':
|
framework-react:
|
||||||
- packages/integrations/react/**
|
- packages/renderers/renderer-react/**
|
||||||
|
|
||||||
'pkg: solid':
|
framework-solid:
|
||||||
- packages/integrations/solid/**
|
- packages/renderers/renderer-solid/**
|
||||||
|
|
||||||
'pkg: svelte':
|
framework-svelte:
|
||||||
- packages/integrations/svelte/**
|
- packages/renderers/renderer-svelte/**
|
||||||
|
|
||||||
'pkg: vue':
|
framework-vue:
|
||||||
- packages/integrations/vue/**
|
- packages/renderers/renderer-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
|
|
461
.github/workflows/ci.yml
vendored
|
@ -1,250 +1,277 @@
|
||||||
name: CI
|
name: CI
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
merge_group:
|
|
||||||
pull_request:
|
pull_request:
|
||||||
paths-ignore:
|
paths-ignore:
|
||||||
- ".vscode/**"
|
- '.vscode/**'
|
||||||
- "**/*.md"
|
- 'examples/**'
|
||||||
- ".github/ISSUE_TEMPLATE/**"
|
|
||||||
|
|
||||||
# Automatically cancel older in-progress jobs on the same branch
|
# Automatically cancel in-progress actions on the same branch
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request_target' && github.head_ref || github.ref }}
|
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request_target' && github.head_ref || github.ref }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
|
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
shell: bash
|
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
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
# Build primes out Turbo build cache and pnpm cache
|
# Lint can run in parallel with Build.
|
||||||
build:
|
# We also run `yarn install` with the `--prefer-offline` flag to speed things up.
|
||||||
name: "Build: ${{ matrix.os }}"
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
timeout-minutes: 3
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
OS: [ubuntu-latest, windows-latest]
|
|
||||||
NODE_VERSION: [18]
|
|
||||||
fail-fast: true
|
|
||||||
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
|
|
||||||
|
|
||||||
- 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
|
|
||||||
|
|
||||||
# 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
|
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
name: Lint
|
name: Lint
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 5
|
|
||||||
needs: build
|
|
||||||
steps:
|
steps:
|
||||||
- name: Disable git crlf
|
- name: Check out repository
|
||||||
run: git config --global core.autocrlf false
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Setup PNPM
|
|
||||||
uses: pnpm/action-setup@v2
|
|
||||||
|
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v2
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 16
|
||||||
cache: "pnpm"
|
cache: 'yarn'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install NPM Dependencies
|
||||||
run: pnpm install
|
run: yarn install --prefer-offline --frozen-lockfile --ignore-engines --registry https://registry.npmjs.org --network-timeout 300000
|
||||||
|
env:
|
||||||
|
CI: true
|
||||||
|
|
||||||
- name: Build Packages
|
- name: Status
|
||||||
run: pnpm run build
|
run: git status
|
||||||
|
|
||||||
|
# Lint autofix cannot run on forks, so just skip those! See https://github.com/wearerequired/lint-action/issues/13
|
||||||
|
- name: Lint (External)
|
||||||
|
if: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.repo.owner.login != github.repository_owner }}
|
||||||
|
run: yarn lint
|
||||||
|
|
||||||
|
# Otherwise, run lint autofixer
|
||||||
- name: Lint
|
- name: Lint
|
||||||
run: pnpm run lint
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.owner.login == github.repository_owner }}
|
||||||
|
uses: wearerequired/lint-action@v1.10.0
|
||||||
- name: Format Check
|
|
||||||
run: pnpm run format --check
|
|
||||||
|
|
||||||
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: 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:
|
|
||||||
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:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
SOURCE_REPO: ${{ github.event.pull_request.head.repo.full_name || github.event.repository.full_name }}
|
with:
|
||||||
SOURCE_BRANCH: ${{ github.head_ref || github.ref_name }}
|
eslint: true
|
||||||
|
eslint_args: --ignore-pattern test --ignore-pattern vendor
|
||||||
|
eslint_dir: packages/astro
|
||||||
|
eslint_extensions: ts
|
||||||
|
prettier: false
|
||||||
|
auto_fix: true
|
||||||
|
git_name: github-actions[bot]
|
||||||
|
git_email: github-actions[bot]@users.noreply.github.com
|
||||||
|
commit_message: 'chore(lint): ${linter} fix'
|
||||||
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
neutral_check_on_warning: true
|
||||||
|
|
||||||
|
# Build installs all devDependencies and runs our full build pipeline.
|
||||||
|
# We upload all `dist/` artifacts to GitHub, which can be shared by all dependent jobs.
|
||||||
|
build:
|
||||||
|
name: Build Packages
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
cache: 'yarn'
|
||||||
|
|
||||||
|
- name: Cache Node Modules
|
||||||
|
id: cache-node
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: "**/node_modules"
|
||||||
|
key: cache-node_modules-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-${{ github.run_id }}
|
||||||
|
restore-keys: |
|
||||||
|
cache-node_modules-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-${{ github.run_id }}
|
||||||
|
cache-node_modules-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-
|
||||||
|
|
||||||
|
- name: Install NPM Dependencies
|
||||||
|
run: yarn install --prefer-offline --frozen-lockfile --ignore-engines --registry https://registry.npmjs.org --network-timeout 300000
|
||||||
|
env:
|
||||||
|
CI: true
|
||||||
|
|
||||||
|
- name: Build Packages
|
||||||
|
run: yarn build --force
|
||||||
|
|
||||||
|
- name: Upload Package Artifacts
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: artifacts
|
||||||
|
path: packages/**/dist/**
|
||||||
|
if-no-files-found: error
|
||||||
|
|
||||||
|
# Test depends on Build's output, which allows us to skip any build process!
|
||||||
|
# We also run `yarn install` with the `--prefer-offline` flag to speed things up.
|
||||||
|
test:
|
||||||
|
name: 'Test: ${{ matrix.os }} (node@${{ matrix.node_version }})'
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest]
|
||||||
|
node_version: [14, 16]
|
||||||
|
include:
|
||||||
|
- os: windows-latest
|
||||||
|
node_version: 16
|
||||||
|
- os: macos-latest
|
||||||
|
node_version: 16
|
||||||
|
fail-fast: false
|
||||||
|
needs:
|
||||||
|
- build
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Setup node@${{ matrix.node_version }}
|
||||||
|
uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node_version }}
|
||||||
|
cache: 'yarn'
|
||||||
|
|
||||||
|
- name: Download Build Artifacts
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
|
||||||
|
- name: Extract Artifacts
|
||||||
|
run: ./.github/extract-artifacts.sh
|
||||||
|
|
||||||
|
- name: Cache Node Modules
|
||||||
|
id: cache-node
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: "**/node_modules"
|
||||||
|
key: cache-node_modules-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-${{ github.run_id }}
|
||||||
|
restore-keys: |
|
||||||
|
cache-node_modules-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-${{ github.run_id }}
|
||||||
|
cache-node_modules-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-
|
||||||
|
|
||||||
|
- name: Install NPM Dependencies
|
||||||
|
run: yarn install --prefer-offline --frozen-lockfile --ignore-engines --registry https://registry.npmjs.org --network-timeout 300000
|
||||||
|
env:
|
||||||
|
CI: true
|
||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: pnpm run test:smoke
|
if: ${{ matrix.os != 'windows-latest' }}
|
||||||
|
run: yarn test
|
||||||
|
|
||||||
|
# Turbo seems to make the tests hang on Windows, just run them directly
|
||||||
|
- name: Test (Windows)
|
||||||
|
if: ${{ matrix.os == 'windows-latest' }}
|
||||||
|
run: yarn workspace astro run test
|
||||||
|
|
||||||
|
smoke:
|
||||||
|
name: 'Test (Smoke) ${{ matrix.os }}'
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [windows-latest, ubuntu-latest]
|
||||||
|
needs:
|
||||||
|
- build
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: 14
|
||||||
|
cache: 'yarn'
|
||||||
|
|
||||||
|
- name: Download Build Artifacts
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
|
||||||
|
- name: Extract Artifacts
|
||||||
|
run: ./.github/extract-artifacts.sh
|
||||||
|
|
||||||
|
- name: Cache Node Modules
|
||||||
|
id: cache-node
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: "**/node_modules"
|
||||||
|
key: cache-node_modules-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-${{ github.run_id }}
|
||||||
|
restore-keys: |
|
||||||
|
cache-node_modules-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-${{ github.run_id }}
|
||||||
|
cache-node_modules-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-
|
||||||
|
|
||||||
|
- name: Install NPM Dependencies
|
||||||
|
run: yarn install --prefer-offline --frozen-lockfile --ignore-engines --registry https://registry.npmjs.org --network-timeout 300000
|
||||||
env:
|
env:
|
||||||
SKIP_OG: true
|
CI: true
|
||||||
PUBLIC_TWO_LANG: true
|
|
||||||
|
- name: Test
|
||||||
|
if: ${{ matrix.os != 'windows-latest' }}
|
||||||
|
run: yarn run build:examples --concurrency=1
|
||||||
|
|
||||||
|
# Turbo seems to fail on Windows, so run a custom script directly.
|
||||||
|
- name: Test (Windows)
|
||||||
|
if: ${{ matrix.os == 'windows-latest' }}
|
||||||
|
run: node ./scripts/smoke/index.js
|
||||||
|
|
||||||
|
|
||||||
|
# Changelog can only run _after_ build.
|
||||||
|
# We download all `dist/` artifacts from GitHub to skip the build process.
|
||||||
|
changelog:
|
||||||
|
name: Changelog PR or Release
|
||||||
|
if: ${{ github.ref_name == 'main' && github.repository_owner == 'withastro' }}
|
||||||
|
needs: [build]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name: Setup Node
|
||||||
|
uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
cache: 'yarn'
|
||||||
|
|
||||||
|
- name: Download Build Artifacts
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
|
||||||
|
- name: Extract Artifacts
|
||||||
|
run: ./.github/extract-artifacts.sh
|
||||||
|
|
||||||
|
- name: Cache Node Modules
|
||||||
|
id: cache-node
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: "**/node_modules"
|
||||||
|
key: cache-node_modules-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-${{ github.run_id }}
|
||||||
|
restore-keys: |
|
||||||
|
cache-node_modules-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-${{ github.run_id }}
|
||||||
|
cache-node_modules-${{ runner.os }}-${{ hashFiles('**/yarn.lock') }}-
|
||||||
|
|
||||||
|
- name: Install NPM Dependencies
|
||||||
|
run: yarn install --prefer-offline --frozen-lockfile --ignore-engines --registry https://registry.npmjs.org --network-timeout 300000
|
||||||
|
env:
|
||||||
|
CI: true
|
||||||
|
|
||||||
|
- name: Create Release Pull Request or Publish
|
||||||
|
id: changesets
|
||||||
|
uses: changesets/action@v1
|
||||||
|
with:
|
||||||
|
publish: yarn changeset publish
|
||||||
|
commit: '[ci] release'
|
||||||
|
title: '[ci] 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
|
||||||
|
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 }}
|
||||||
|
|
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 }}
|
|
30
.github/workflows/format.yml
vendored
|
@ -1,15 +1,31 @@
|
||||||
name: Format
|
name: 'Format Code'
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
prettier:
|
format:
|
||||||
if: github.repository_owner == 'withastro'
|
runs-on: ubuntu-latest
|
||||||
uses: withastro/automation/.github/workflows/format.yml@main
|
steps:
|
||||||
|
- name: Check out code using Git
|
||||||
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
command: "format:ci"
|
ref: ${{ github.head_ref }}
|
||||||
secrets: inherit
|
- name: Set Node version to 16
|
||||||
|
uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
cache: 'yarn'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn --frozen-lockfile --ignore-engines
|
||||||
|
env:
|
||||||
|
CI: true
|
||||||
|
- name: Format code
|
||||||
|
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/withastro/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/withastro/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/withastro/astro/projects/5'
|
||||||
|
column_name: 'TODO'
|
2
.github/workflows/label.yml
vendored
|
@ -10,7 +10,7 @@ jobs:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: github.repository_owner == 'withastro'
|
if: github.repository_owner == 'withastro'
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/labeler@v4
|
- uses: actions/labeler@v3
|
||||||
with:
|
with:
|
||||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
sync-labels: true
|
sync-labels: true
|
||||||
|
|
41
.github/workflows/main.yml
vendored
|
@ -1,7 +1,6 @@
|
||||||
name: Main Checks
|
name: Main Checks
|
||||||
|
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
@ -17,12 +16,20 @@ concurrency:
|
||||||
jobs:
|
jobs:
|
||||||
congrats:
|
congrats:
|
||||||
name: congratsbot
|
name: congratsbot
|
||||||
if: ${{ github.repository_owner == 'withastro' && github.event.head_commit.message != '[ci] format' }}
|
if: ${{ github.repository_owner == 'withastro' }}
|
||||||
uses: withastro/automation/.github/workflows/congratsbot.yml@main
|
runs-on: ubuntu-latest
|
||||||
with:
|
steps:
|
||||||
EMOJIS: '🎉,🎊,🧑🚀,🥳,🙌,🚀,👏,<:houston_golden:1068575433647456447>,<:astrocoin:894990669515489301>,<:astro_pride:1130501345326157854>'
|
- id: setup
|
||||||
secrets:
|
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_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK_CONGRATS }}
|
||||||
|
# DISCORD_AVATAR: ${{ github.event.pull_request.user.avatar_url }}
|
||||||
|
uses: Ilshidur/action-discord@0.3.2
|
||||||
|
with:
|
||||||
|
args: "**Merged!** ${{ github.event.commits[0].author.name }}: [`${{ steps.setup.outputs.COMMIT_MSG }}`](<https://github.com/withastro/astro/commits/main>)"
|
||||||
|
|
||||||
check_for_update:
|
check_for_update:
|
||||||
name: Check for Updates
|
name: Check for Updates
|
||||||
|
@ -30,22 +37,22 @@ jobs:
|
||||||
outputs:
|
outputs:
|
||||||
run_job: ${{ steps.check_files.outputs.run_job }}
|
run_job: ${{ steps.check_files.outputs.run_job }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Setup PNPM
|
|
||||||
uses: pnpm/action-setup@v2
|
|
||||||
|
|
||||||
- name: Setup Node
|
- name: Setup Node
|
||||||
uses: actions/setup-node@v3
|
uses: actions/setup-node@v2
|
||||||
with:
|
with:
|
||||||
node-version: 18
|
node-version: 16
|
||||||
cache: "pnpm"
|
cache: 'yarn'
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install NPM Dependencies
|
||||||
run: pnpm install
|
if: steps.cache-npm.outputs.cache-hit != 'true'
|
||||||
|
run: yarn install --prefer-offline --frozen-lockfile --ignore-engines --registry https://registry.npmjs.org --network-timeout 300000
|
||||||
|
env:
|
||||||
|
CI: true
|
||||||
|
|
||||||
- name: Check Modified
|
- name: Check Modified
|
||||||
run: pnpm exec changeset status --output ./status.json
|
run: yarn changeset status --output ./status.json
|
||||||
|
|
||||||
- name: Check Output
|
- name: Check Output
|
||||||
id: check_files
|
id: check_files
|
||||||
|
@ -66,7 +73,7 @@ jobs:
|
||||||
if: needs.check_for_update.outputs.run_job == 'true'
|
if: needs.check_for_update.outputs.run_job == 'true'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
|
|
67
.github/workflows/nightly.yml
vendored
|
@ -1,13 +1,70 @@
|
||||||
name: Nightly
|
name: 'Nightly'
|
||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
# Run every Monday at 12:00 UTC
|
# * is a special character in YAML so you have to quote this string
|
||||||
- cron: "0 12 * * 1"
|
- cron: '0 12 * * *'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
stat:
|
||||||
|
if: github.repository_owner == 'withastro'
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check out code using Git
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
- name: Set Node version to 16
|
||||||
|
uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
cache: 'yarn'
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn install --frozen-lockfile --ignore-engines --ignore-scripts
|
||||||
|
- name: Collect stats
|
||||||
|
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 }}
|
||||||
|
|
||||||
lockfile:
|
lockfile:
|
||||||
if: github.repository_owner == 'withastro'
|
if: github.repository_owner == 'withastro'
|
||||||
uses: withastro/automation/.github/workflows/lockfile.yml@main
|
runs-on: ubuntu-latest
|
||||||
secrets: inherit
|
steps:
|
||||||
|
|
||||||
|
- name: Check out code using Git
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Set Node version to 16
|
||||||
|
uses: actions/setup-node@v2
|
||||||
|
with:
|
||||||
|
node-version: 16
|
||||||
|
cache: 'yarn'
|
||||||
|
|
||||||
|
- name: Clear lockfile
|
||||||
|
run: rm -rf yarn.lock node_modules
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: yarn install --ignore-engines --ignore-scripts
|
||||||
|
|
||||||
|
- name: Create Pull Request
|
||||||
|
id: createpr
|
||||||
|
uses: peter-evans/create-pull-request@v3
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.NIGHTLY_PERSONAL_GITHUB_TOKEN }}
|
||||||
|
commit-message: '[ci] update lockfile'
|
||||||
|
title: '[ci] update lockfile'
|
||||||
|
body: >
|
||||||
|
This PR is auto-generated by a nightly GitHub action.
|
||||||
|
It should automatically be merged if tests pass.
|
||||||
|
|
||||||
|
- name: Mark Pull Request for Auto-Merge
|
||||||
|
if: steps.createpr.outputs.pull-request-operation == 'created'
|
||||||
|
uses: peter-evans/enable-pull-request-automerge@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.NIGHTLY_PERSONAL_GITHUB_TOKEN }}
|
||||||
|
pull-request-number: ${{ steps.createpr.outputs.pull-request-number }}
|
||||||
|
merge-method: squash
|
||||||
|
|
73
.github/workflows/release.yml
vendored
|
@ -1,73 +0,0 @@
|
||||||
name: Release
|
|
||||||
|
|
||||||
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' }}
|
|
||||||
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
|
|
||||||
with:
|
|
||||||
node-version: 18
|
|
||||||
cache: "pnpm"
|
|
||||||
|
|
||||||
- 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"
|
|
||||||
env:
|
|
||||||
# Needs access to push to main
|
|
||||||
GITHUB_TOKEN: ${{ secrets.FREDKBOT_GITHUB_TOKEN }}
|
|
||||||
# Needs access to publish to npm
|
|
||||||
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
|
|
||||||
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 }}
|
|
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 })
|
|