Commit graph

4399 commits

Author SHA1 Message Date
Tony Sullivan
fad3867adb
Adding an optional image service based on Squoosh (#4738)
* WIP: adding a service built on @squoosh/lib

* WIP: investigating memory leaks in Squoosh

* WIP: vendoring Squoosh to work with our build

* chore: a bit of cleanup and a small perf gain

* removing a few unused deps

* fix: removing temp .only() in sharp test

* hooking up the last build steps to copy over .wasm files

* removing the duplicated lib/*.wasm files

* defaulting to Sharp for the initial @next release

* make sure pnpm always runs the postbuild script

* removing a few node dependencies

* refactor: move the copy .wasm build step out of the SSR bundle

* linter fixes

* fixing lock file

* chore: add TEMP changeset

* fix built wasm location for SSG builds

* Revert "defaulting to Sharp for the initial @next release"

This reverts commit 1a8d4f7f60.

* removing sharp dependency

* Revert "fix built wasm location for SSG builds"

This reverts commit 446b80bb53.

* chore: update lockfile

* fixing up image tests for the wasm loader

* updating the README for squoosh

* parallel wasm builds

* refactor: a bit of house keeping

* perf: allow a thread for each output encoding format

* fix: dev broke with the shift to wasm workers

* adds a new `astro:build:generated` hook for SSG builds

* fix: typo + calling cleanup methods in wasm codecs

* adding @astrojs/webapi for the TransformStream polyfill

* Revert "adding @astrojs/webapi for the TransformStream polyfill"

This reverts commit 39e5b845a5.

* perf: using sharp for most of the CI tests

* chore: update lockfile

* removing hard-coded squoosh imports

* fix: adding sharp to rollup externals

* test: using dev for the squoosh tests

* fix: updating the build output dir for wasm filles in SSG builds

* updating the changeset with migration details

* Revert "adds a new `astro:build:generated` hook for SSG builds"

This reverts commit 59b5fec7be.

* nit: adding comments for the wasm file copy

* chore: fix eslint warning
2022-09-22 19:48:14 +00:00
Bjorn Lu
6a1a17dd28
Add CSS @import test (#4454)
* Add css hmr test

* Allow HMR in e2e tests

* Add changeset

* Actually fix test

* Fix lint

* Skip windows for now
2022-09-22 15:06:49 -04:00
matthewp
5e568e4a14 [ci] format 2022-09-22 19:05:57 +00:00
Happydev
08dae16161
feat(vite-plugin-markdown): support importing markdown files from outside root project (#4780)
* feat: support importing markdown from outside root project

This change adds support for importing markdown located outside the root of directory of a project

* refactor how the "jsx-runtime" module path is retrieved

* refactor: split type imports and function import

Pattern I've seen repeated a lot in the repo

* fix: chaotic marge conflict mistake

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2022-09-22 15:04:03 -04:00
Tobias
9fb03b2e99
examples rss: add mdx file ending (#4710)
This follows the same pattern used in https://github.com/withastro/astro/blob/main/examples/blog/src/pages/blog.astro#L8. Without adding `mdx` here, only some blog posts will be part of the rss.xml file.
2022-09-22 14:53:07 -04:00
matthewp
d2853ebe66 [ci] format 2022-09-22 18:50:12 +00:00
Zicklag
5e4c5252bd
Http proxy for fetch (#4676)
* Add HTTP Proxy Support to `fetch` Polyfill

Use `global-agent` to support HTTP_PROXY, HTTPS_PROXY, and NO_PROXY
environment variables.

* Add Changeset For HTTP Proxy Support in `fetch`
2022-09-22 14:47:06 -04:00
matthewp
6ce8ae261f [ci] format 2022-09-22 18:39:14 +00:00
Michael Rienstra
7481ffda02
create-astro: always create tsconfig.json (#4810)
* `create-astro`: always create `tsconfig.json`

Currently, we only make sure `tsconfig.json` exists when `strict` or `strictest` is selected. Both `default` & `optout` are intended to correspond to `base` -- and will do so for all [23 official templates](https://github.com/withastro/astro/tree/main/examples), but not necessarily for third-party templates.

The [example command for installing a third-party template](https://github.com/withastro/astro/blob/a800bf7/packages/create-astro/README.md?plain=1#L31-L35) is (rather conveniently for the sake of this PR!) an example of a template without a `tsconfig.json` file, and installing it with the `default` ("Relaxed") Typescript option results in no `tsconfig.json` file, rather than a `tsconfig.json` file containing `{ "extends": "astro/tsconfigs/base" }` as would be expected.

This PR addresses this scenario. 

It also explicitly sets the `tsconfig.json` file to `{ "extends": "astro/tsconfigs/base" }` when `default` (which I renamed to `base`, still presented to the user as "Relaxed") or `optout` is selected (`optout` has always printed a warning about the importance of `tsconfig.json` & `src/env.d.ts` but otherwise behaved identically to `default`). This is necessary in two scenarios:

1. When the `tsconfig.json` file was created by this script.
2. When it either didn't already include `"extends"`, or it extended a different config by default. For example, some third-party templates might default to `strict`, in which case I'm guessing we'd want to respect the user's choice and change that to `base`.

* update `del` 6.1.1 --> 7.0.0

* test: prevent excess writes
(without this it triggers many times)

* test: create-astro typescript prompt

* changeset

* fix: recursive `mkdirSync`

* test: longer timeout for `windows-latest` OS
(see if this fixes failing tests)

* better glob path creation, don't hardcode `/`

* test: longer timeout for windows-latest OS
(since I'm about to trigger another CI run by pushing a commit, might as well try this too)

* create-astro test: show last CLI output on timeout

* drop variable timeout
Typescript tests are slower than directory tests, but they are all usually less than 5000 ms. Less complexity, easier to maintain.

* DRY new error output

* Update lockfile

* Sync lockfile with main

* Update lockfile

Co-authored-by: Princesseuh <princssdev@gmail.com>
2022-09-22 14:37:01 -04:00
Ben Holmes
e5f71142eb
docs: add MDXLayoutProps to README (#4700)
* docs: add MDXLayoutProps to README

* chore: changeset

* nit: remove "if you understand this diff"

* nit: AdD tYpE sAfEtY

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>

* Update packages/integrations/mdx/README.md

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2022-09-22 14:35:37 -04:00
梁峰宁
17dbc67018
Fix slashes for paths containing non-ASCII characters on Windows. (#4712)
* Fix slashes for paths containing non-ASCII characters on Windows.

* Add non-ASCII path test

* Fix slashes in pnpm-lock.yaml
2022-09-22 14:33:28 -04:00
Erika
e9eb4d1f3d
Fix ESLint not working in CI (#4837)
* Update ESLint extensions

* Use fredkbot

* Only use fredkbot for the commit

* Disable autofix

* Fix lint error
2022-09-22 11:37:41 -04:00
Fred K. Bot
47d4165603
[ci] release (#4833)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-09-22 11:04:45 -04:00
Fred K. Bot
49c6eb8b8a
[ci] update lockfile (#4839)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2022-09-22 10:55:39 -04:00
Matthew Phillips
25a5b9a89a
Revert preact signals support (#4843)
* Revert "Update preact example to match @astrojs/preact ranges (#4840)"

This reverts commit d650a1161a.

* Revert "[ci] format"

This reverts commit e3c78c5b16.

* Revert "Support shared signals in Preact islands (#4763)"

This reverts commit 5e46be5468.
2022-09-22 10:32:42 -04:00
Matthew Phillips
d650a1161a
Update preact example to match @astrojs/preact ranges (#4840) 2022-09-22 08:37:38 -04:00
Michael Rienstra
b0efb83252
docs: integrations: yarn & pnpm (#4836) 2022-09-22 08:16:02 -03:00
Brett Jankord
2c2bbc5158
Update blog post date text color to meet contrast-ratio guidelines (#4821) 2022-09-22 15:18:09 +08:00
matthewp
778dce8c05 [ci] format 2022-09-21 23:09:40 +00:00
Matthew Phillips
73f215df76
Allow passing fetch() Response to set:html (#4832)
* ALlow passing fetch() Response to set:html

* Only check for Symbol.iterator on objects

* oops

* Fix no-streaming case

* Remove old comment
2022-09-21 19:07:00 -04:00
matthewp
b4c5c8ef57 [ci] format 2022-09-21 19:56:15 +00:00
董雨航
29b29e6a8a
Fix: Invalid hook call when user use export jsx function (#4831)
* update vite-jsx-plugin for export

* update vite-jsx-plugin for export

* update changeset level

Co-authored-by: Yuhang <dong_yu_hang@126.com>
2022-09-21 15:53:58 -04:00
matthewp
e3c78c5b16 [ci] format 2022-09-21 19:23:58 +00:00
Matthew Phillips
5e46be5468
Support shared signals in Preact islands (#4763)
* Support signals in Preact islands

* Add a changeset

* Only add signals if we need them

* Refactor signal logic into its own module

* Keep track of the signals used
2022-09-21 15:21:21 -04:00
Erika
baae1b3fd1
Update astro check to latest version of the language server (#4754)
* Update to latest version of the language server

* Add changeset
2022-09-21 15:15:04 -03:00
Bjorn Lu
a0619f0869
Refactor server url logs (#4509)
* Refactor server url logs

* Fix test

* Fix build
2022-09-21 13:25:16 -04:00
Tony Sullivan
b0cc939961
Adds a new "astro:build:generated" hook for SSG builds (#4775)
* Revert "Revert "Adds a new "astro:build:generated" hook for SSG builds (#4772)" (#4774)"

This reverts commit 13a4b0d488.

* fix: updating for latest merge with main
2022-09-21 17:13:36 +00:00
matthewp
bcc52540a5 [ci] format 2022-09-21 16:23:49 +00:00
aggre
a961aa3c2f
Supports Uint8Array/Uint16Array/Uint32Array for serialize props (#4669)
* supports Uint8Array/Uint16Array/Uint32Array

* update astro-island to supports the added types

* run changeset

* apply format

* pass metadata through

* using Array type

* write test cases for serializing Uint8Array/Uint16Array/Uint32Array

* fix the broken test cases

* add type assertion for psychological safety

* this changes is minor change

* feat: serialize UintArrays directly

* Update index.ts

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2022-09-21 12:19:30 -04:00
Fred K. Bot
f366967cbc
[ci] update lockfile (#4786)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-09-21 11:44:57 -04:00
Fred K. Bot
5684a016bb
[ci] release (#4823)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-09-20 16:55:48 -04:00
tony-sull
b2c9059ed8 [ci] format 2022-09-20 20:28:39 +00:00
Oussama Bennaci
ea37de86e4
[@astrojs/image] flatten background only if alpha channel isn't supported (#4800)
* Use sharp flatten only when format doesnt support alpha

* Allow rgba for background prop

* Add changeset

* Adjust doc

* Fix tests
2022-09-20 20:25:45 +00:00
Fred K. Bot
a76b0aa27c
[ci] release (#4822)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-09-20 16:05:13 -04:00
matthewp
0f4f514fd9 [ci] format 2022-09-20 19:34:51 +00:00
Matthew Phillips
9bfbd63f05
Fixes processing of images in Netlify functions (#4820) 2022-09-20 15:33:01 -04:00
Fred K. Bot
a08b178cdb
[ci] release (#4811)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-09-20 15:15:54 -04:00
matthewp
abfe73f5dc [ci] format 2022-09-20 17:15:15 +00:00
Matthew Phillips
518e8f7e25
Allow passing promises to set:html (#4819)
* Allow passing promises to set:html

* Adding a changeset
2022-09-20 13:13:21 -04:00
matthewp
666d98e3ec [ci] format 2022-09-20 16:39:24 +00:00
Daniel
ce0b92ba73
update cloudflare esbuild config (fixing solid ssr) (#4815)
* fixing esbuild platform setting, to enable solid build

* added changeset

* changed change to major

Co-authored-by: AirBorne04 <daniel@floatingpixels.com>
2022-09-20 12:36:58 -04:00
Mohammed Elhaouari
a49bc2f02e
Fix extra slash when adding integrations that ends with /astro (#4817)
* fix toIdent util

* add changesets
2022-09-20 12:36:40 -04:00
matthewp
91568bb055 [ci] format 2022-09-20 13:40:04 +00:00
Matthew Phillips
8d059faaed
Prevent errors in React components from crashing the dev server (#4816)
* Prevent errors in React components from crashing the dev server

* Add a changeset

* Fix test when running in the build
2022-09-20 09:38:17 -04:00
matthewp
57ea549e11 [ci] format 2022-09-20 12:34:55 +00:00
Enteleform
f53d97d56b
[chore] replaces hard-coded minify values with vite.build.minify (#4803)
* [chore] replaces hard-coded `minify` values with `vite.build.minify`

* [style] changes ternary to not-equals

Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>

* [chore] removes `minify` in favor of user config & Vite defaults

Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
2022-09-20 08:32:58 -04:00
matthewp
4d1b1b583b [ci] format 2022-09-20 12:32:27 +00:00
HiDeoo
c84d85ba4d
Add support for running create-astro in cloned empty git repository (#4805) 2022-09-20 08:30:13 -04:00
Elian ☕️
f2b515d0b4
Add Deno example (#4641)
* Add Deno example

* update lockfile

* update README

* update README
2022-09-20 08:29:33 -04:00
Bjorn Lu
be9eaa0692
Allow override vite.build.target (#4813) 2022-09-20 08:12:13 -04:00