Commit graph

624 commits

Author SHA1 Message Date
Tony Sullivan
ff56f083bc
Adding E2E tests for client hydration and HMR (#3374)
* adding Tailwind E2E tests with Playwright

* package.json updates

* adding e2e tests to CI workflow

* using e2e for dev tests, mocha for build tests

* refactor: sharing test-utils helpers

* chore: update lockfile

* Adding contributing docs

* Revert "refactor: sharing test-utils helpers"

This reverts commit 48496f43bc99eab30747baf6e83041ba4932e786.

* refactor: simpler solution to resolving e2e test fixtures

* chore: updating lockfile

* refactor: cleaning up how URLs are resolved in e2e tests

* install playwright deps in CI

* ensure playwright deps are installed during CI

* adding a basic HMR test for tailwind styles

* using @e2e for playwright test packages

* adding react hydration and HMR tests

* adding hydration and HMR tests  for preact

* adding svelte hydration and HMR tests

* adding solid-js hydration and HMR tests

* adding solid hydration and HMR tests

* adding vue hydration and HMR tests

* adding client:media tests

* fixing Lit hydration and HMR tests

* fixing up the Vue e2e tests

* fixing up svelte tests

* chore: test cleanup

* chore: cleaning up test element IDs

* chore: updating lock file

* chore: update lockfile after merge

* TEMP: disabling React e2e tests

* Revert "TEMP: disabling React e2e tests"

This reverts commit ed1bad9cbc.

* updating to use the new editFiles helper

* chore: updating lock file

* updating lock file

* updating lockfile

* TEMP: watching for console logs

* TEMP: testing typescript tests

* updating test:e2e scripts for config file

* seems like it didn't find the config file?

* use a fresh dev server for each test

* removing Lit tests for now

* Revert "removing Lit tests for now"

This reverts commit 4970a8093e.

* updating test config for CI

* WIP: disabling HMR tests to track down why they're unreliable

* TEMP: logging to debug HMR test

* afterEach isn't a global in Playwright

* fix: the test's file reset helper was using a URL not filepath

* one last try, why is the HMR test hanging at cleanup?

* resetting files after tailwind HMR test

* create the onNextChange watcher before editFile is called

* moving the file changed sync into editFile()

* code refactor + Astro Component HMR test

* chore: lint fixes

* adding a test suite for the framework-multiple example app
2022-05-23 16:56:45 +00:00
tony-sull
d296eb63eb [ci] format 2022-05-20 20:08:13 +00:00
Tony Sullivan
d372d29ef8
Fix: Only trim /1 from the canonical URL for paginate() routes (#3393)
* only trim /1 from canonical URLs for paginate() routes

* chore: fixing eslint warning

* chore: add changeset

* typo: copy paste error

* adding a test validation error message

* verifying canonical for all three test routes

* TEMP: extra test logging to track down the failure

* TEMP: additional test logging to see what the failing CLI messages are

* TEMP: digging deeper, it's getting stuck on port 3000 is taken

* TEMP: why is it breaking when LOCAL isn't logged?

* TEMP: still digging, strange how consistent this failure is

* finally found it - the new test wasn't closing the dev server...
2022-05-20 20:07:30 +00:00
tony-sull
1f148dbcfd [ci] format 2022-05-20 19:59:55 +00:00
Tony Sullivan
6373508458
Enforcing routing priority during production builds (#3407)
* WIP: have a few test failures to track down

* WIP: still a few failures to fix

* WIP: fixes the issue of dynamic routes stepping on static routes

* Resolve route priority before building routes for `getStaticPaths()`

* chore: adding comments explaining why this filter is needed

* chore: adding changeset

* got too fancy with the test suite, these routes weren't valid

* simplifying the test cases

* TEMP: is this test breaking my CI run?

* Revert "TEMP: is this test breaking my CI run?"

This reverts commit 291af2a1b6f075ebfc74002886e43110731b3e1b.

* slots-preact didn't list @astrojs/preact as a dep

* reverting copy/paste error
2022-05-20 19:58:59 +00:00
Ben Holmes
fb5572bebd
Fix: components in imported markdown (#3398)
* test: add with-components to astro-markdown fixture

* fix: markdown pathname with /@fs prefix

* feat: add loadMetadata helper for md

* feat: fix components in Astro.glob results!

* fix: md import path

* Revert "feat: add loadMetadata helper for md"

This reverts commit 76cf96f4be3d0e19589f84025c0131352d0b6cc8.

* fix: add back $$loadMetadata helper

* feat: add second comp framework to md test

* chore: core/render/dev lint

* chore: changeset

* fix: short circuit if mod doesn't have metadata

* fix: skip mod graph preloading in dev

* refactor: make md metadata check recursive

* refactor: extract metadata helper to util

* fix: remove unecessary mod graph query

* fix: move md import flag to util for deno bundling issue

* fix: remove 'dev' mode from test utils build

* feat: add global hashset for seen metadata

* refactor: flip Promise.all to for await for perf!

* Revert bc I was wrong! "refactor: flip Promise.all to for await for perf!"

This reverts commit da8a6873f5.
2022-05-20 15:03:21 -04:00
Fred K. Schott
195f3f7eb7
[ci] update lockfile (#3414)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-05-20 12:02:10 -05:00
Nate Moore
b26d48d275
Defer head injection until renderPage (#3408)
* fix(#3195, #3197): only perform head injection for renderPage

* chore: add changeset
2022-05-19 15:21:48 -05:00
Matthew Phillips
a35c89d2ac Fix react spectrum test lockfile issue 2022-05-19 13:27:08 -04:00
matthewp
435518845f [ci] format 2022-05-19 17:12:59 +00:00
Matthew Phillips
4007aebc6a
Provide a good error message when loading react spectrum (#3406)
* Provide a good error message when loading react spectrum

* Adds a changeset
2022-05-19 13:12:04 -04:00
Nate Moore
d34859d750
Expose file and url for Astro files (#3385)
* feat: update test

* feat: return `file` and `url` for astro files

* chore: add changeset

* fix: use private names $$file and $$url

* test: update markdown test

* chore: update fileId logic to strip query params
2022-05-19 10:49:14 -05:00
Fred K. Schott
a7480452b1
[ci] update lockfile (#3404)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-05-19 10:22:27 -05:00
matthewp
e118b8a91d [ci] format 2022-05-19 12:39:11 +00:00
Matthew Phillips
0c9f770e8a
Include server CSS in the manifest assets (#3402)
* Include server CSS in the manifest assets

* Adds a changeset
2022-05-19 08:38:27 -04:00
tony-sull
f1d7d543b0 [ci] format 2022-05-18 20:10:07 +00:00
Tony Sullivan
0d3c673dd9
Fix: Support .html requests in dev (#3401)
* WIP: this regex should handle .html as well

* much simpler!  Just fix the req.url, don't touch the manifest

* only handle .html requests when config.build.format === 'file'

* chore: add changeset
2022-05-18 20:09:23 +00:00
Matthew Phillips
2939be5f2d
Allow overriding build vite config options (#3392)
* Allow overriding build vite config options

* Adds a changeset

* Test svelte

* Move plugins down

* Assign after for the client too

* Spread output options on manually

* Remove .only
2022-05-18 15:11:40 -04:00
bholmesdev
54aba7231d [ci] format 2022-05-18 15:46:22 +00:00
Nate Moore
cf8015eaa2
fix: locale handling for logger (#3391)
* fix(#3309): use system default locale

* fix(#3309): use system default locale in create-astro

* test: add locale regression tests

* test: add i18n regression test
2022-05-18 10:45:09 -05:00
Matthew Phillips
6cec1b8ef2
Re-enable error recovery test (#3396)
* Re-enable error recovery test

* Doing some debugging

* Remove extra debugging

* longer wait

* make it wait even longer just to check

* Wait a very long time

* await the change, and then a little bit

* Give a longer timeout for the error recovery test

* OK, make it *very* long

* Run error tests separately

* Get rid of wait
2022-05-18 11:20:06 -04:00
Nate Moore
1297c10480
Fix tests: remove it.only (#3394)
* test: remove it.only

* test: skip failure until #3376 is revisited
2022-05-18 08:27:52 -04:00
Tony Sullivan
d8e5dfb977
Matching custom 404 pages using the manifest's route patterns (#3390)
* matching custom 404 pages using the manifest's route patterns

* windows: still need to use the relative paths for 404 matching
2022-05-17 21:27:06 +00:00
matthewp
42251f3eb4 [ci] format 2022-05-17 15:46:01 +00:00
Matthew Phillips
4d00473dbd
Error recovery test and more (#3388)
* Add test to verify errors are recovered from

* Fix nested style components not be added in dev on initial load

* Adds a changeset
2022-05-17 11:43:49 -04:00
matthewp
3ceff25959 [ci] format 2022-05-16 18:45:15 +00:00
Matthew Phillips
0259d7658b
Fix for loading markdown pages with spaces in the name (#3379)
* Fix for loading markdown pages with spaces in the name

* Adds a changeset
2022-05-16 14:44:15 -04:00
Fred K. Schott
9dd16bace5
[ci] update lockfile (#3363)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-05-16 13:33:16 -05:00
Matthew Phillips
b1230152ff
Support alias use with hydration scripts (#3376)
* Support alias use with hydration scripts

* Adds a changeset

* Updated lockfile
2022-05-16 11:37:51 -04:00
tony-sull
4f413ad771 [ci] format 2022-05-15 21:48:18 +00:00
Tony Sullivan
2b622b5e0f
Adding E2E testing with Playwright (#3349)
* adding Tailwind E2E tests with Playwright

* package.json updates

* adding e2e tests to CI workflow

* using e2e for dev tests, mocha for build tests

* refactor: sharing test-utils helpers

* chore: update lockfile

* Adding contributing docs

* Revert "refactor: sharing test-utils helpers"

This reverts commit 48496f43bc99eab30747baf6e83041ba4932e786.

* refactor: simpler solution to resolving e2e test fixtures

* chore: updating lockfile

* refactor: cleaning up how URLs are resolved in e2e tests

* install playwright deps in CI

* trying pnpm playwright install to fix version mismatch
2022-05-15 21:47:28 +00:00
Fred K. Schott
7cd4b1bc12
[ci] update lockfile (#3287)
* [ci] update lockfile

* chore: fix lockfile

* fix: pin turbo

Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
Co-authored-by: Nate Moore <nate@skypack.dev>
2022-05-12 11:42:34 -05:00
matthewp
13e697fb80 [ci] format 2022-05-12 16:05:06 +00:00
Tony Sullivan
b463ddb3ce
Resolve components by module ID during compilation (#3300)
* WIP: adding test coverage

* test fixes

* moving the shared lib up a directory to reproduce the bug

* fix: transform with the module ID instead of parsing the filepath

* adding the shared lib to the workspaces list

* fix: client-only assets now get the full URL from vite

* why is this needed for windows?

* WIP: using /@fs to handle windows filepaths

* fix: remove /@fs from hoisted script imports

* nit: removing unused imports

* fix: strip off the path root when mapping client:only styles

* had to reverse the `/@fs` handling to work on windows and unix

* chore: adding comments to explain the fix

* chore: adding changeset
2022-05-12 10:04:01 -06:00
Matthew Phillips
ccea6a0a1a
HMR hoisted scripts (#3336)
* HMR hoisted scripts

* Add to the dep graph

* Remove example change

* Adds changeset

* Fix markdown test
2022-05-11 09:23:11 -06:00
tony-sull
0913afb255 [ci] format 2022-05-10 21:06:25 +00:00
Tony Sullivan
e22f7364ce
Fixes custom 404 pages in astro dev (#3331)
* Fixing pathname matching for custom 404 pages

* fixes custom 404 routes in dev

* refactor: removing node path dependency

* refactor: using core's path utils
2022-05-10 21:05:30 +00:00
[object Object]
2864d09ad4
Fix tailwind integration in markdown files (#3305)
* Fix tailwind integration in markdown files

* 3 character PR -> 9 character PR
2022-05-06 13:01:04 -04:00
Tony Sullivan
19e1686b87
Allowing Vite to handle base config for deploying to subpaths (#3178)
* Revert "Improvements to build and dev when building for subpaths (#3156)"

This reverts commit 637919c8b6.

* letting Vite handle base paths

* test updates to expect Astro.request.url to no longer include subpaths

* bringing back the fix for including subpaths in injects scripts and styles

* fixing the static-build test to handle subpaths for injected CSS

* fixing asset import URLs when using base subpaths

* chore: fixing typo in the comments

* Astro needs to manage base in dev to maintain Astro.request.url

* fix: reverting dev routing tests to expect existing behavior

* reverting Astro global test to verify existing behavior

* chore: adding changeset

* test: update static-build tests to verify the subpath is used in asset imports
2022-05-05 22:39:16 +00:00
Matthew Phillips
61e1a267a8
Implement the Astro.response RFC (#3289)
* Implement the Astro.response RFC

* Adds a changeset

* Mark Astro.response.headers as readonly
2022-05-05 12:21:53 -04:00
matthewp
e087f27a9b [ci] format 2022-05-04 18:56:21 +00:00
Matthew Phillips
6643a3931d
Conform to API route signature (#3272)
* Conform to API route signature

* Rename to API route

* Update ssr test

* Update packages/astro/test/fixtures/ssr-dynamic/src/pages/api/products/[id].js

Co-authored-by: Ben Holmes <hey@bholmes.dev>

* Adds a changeset

* Make PR review changes

Co-authored-by: Ben Holmes <hey@bholmes.dev>
2022-05-04 14:55:37 -04:00
Matthew Phillips
8f8f05c1b9
Revert "Consolidate inline hydration scripts into one (#3244)" (#3275)
* Revert "Consolidate inline hydration scripts into one (#3244)"

This reverts commit 48a35e6042.

* Fix types

* Adds changeset
2022-05-03 15:18:17 -04:00
Matthew Phillips
f76038ac7d
Telemetry (#3256)
* feat: add @astrojs/telemetry

* feat: add telemetry events, add queueing system

* feat(telemetry): record CLI events

* chore: add note

* feat: support generic TELEMETRY_DISABLED env var

* Fix test script

* shim telemetry in tests

* Shim telemetry in other commands

* Stub telemetry in the memory leak test

* Disable telemetry in smoke tests

* Adds a changeset

* Run the formatter

* few updates

* Include config keys

* Add shallow viteKeys array:
:

* Add vite keys and tests

Co-authored-by: Nate Moore <nate@skypack.dev>
2022-05-03 09:07:28 -04:00
Matthew Phillips
48a35e6042
Consolidate inline hydration scripts into one (#3244)
* Consolidate inline hydration scripts into one

* Adds changeset

* Update custom element test

* Provide a better name for tracking if we have added a hydration script
2022-05-03 09:07:16 -04:00
Juan Martín Seery
de123b28b3
refactor(markdown): removed rehype-slug in favor of our own implementation (#3234)
* Moved types arround

* Removed `rehype-slug` in favor of our own implementation

* Changeset

* Removed rehype-slug from examples

* Remove rehype-slug from tests

* Updated reference

* rehypeCollectHeaders is a function again

* Reverted rehype-slug removes

* Re-added rehype-slug to reference
2022-04-29 21:07:09 -03:00
tony-sull
527a3634d4 [ci] format 2022-04-29 21:16:50 +00:00
Tony Sullivan
d25dc4c448
Fixes variable definitions in <style define:vars> (#3241)
* adding SSRResult.styles back to the rendered head

* adding test for define:vars in static build

* chore: adding changeset
2022-04-29 21:15:56 +00:00
Juan Martín Seery
3d6e382b58
fix: replaced deprecated String.substr with String.slice (#3224) 2022-04-27 15:43:43 -03:00
Juan Martín Seery
41c70ae503
chore: remove deprecation message when using cheerio's default export (#3225) 2022-04-27 15:43:31 -03:00
Juan Martín Seery
1a86e77c37
fix(markdown): file.url fixes (#3198)
* fix(markdown): file.url fixes

* Added tests

* Changed the default of `base` from `./` to `/`

* Make the url work with subpath

* Changeset

* Forgot to change this comparison
2022-04-25 13:38:46 -03:00
Tony Sullivan
ce9a61e9fc
Support custom svelte compiler options in @astrojs/svelte (#3181)
* updating svelte integration to allow custom user config

* test: adding a test to verify that svelte options are piped through the integration

* updating the README with docs on overridding svelte options

* chore: adding changeset

* fix: copy/paste bug in test validation

* removing temporary debug scripts
2022-04-22 17:59:20 +00:00
matthewp
c4203ce0fc [ci] format 2022-04-21 18:03:47 +00:00
Tony Sullivan
637919c8b6
Improvements to build and dev when building for subpaths (#3156)
* `astro build` should include the `base` provided in astro config

* test: updating build test to expect the base path in links/scripts

* ignore the default "base" value when building links/scripts

* fix: handling config that provides a base but no site

* fix: config.site was being ignored since it's a URL not a string

* hack: handle base path in dev for /public assets

* fix: dev redirect needs to ignore base default of ./

* fix: extra safety checks for the base path redirect

* refactor: simplifying it to remove the regex

* one last safety check - only redirect GET and use a 302 status

* fix: lost the leading slash when redirecting

* nit: adding comments to the test explaining how base is verified

* Remove extra console.log

* Adds a changeset

Co-authored-by: unknown <matthew@skypack.dev>
2022-04-21 14:03:05 -04:00
Matthew Phillips
ae9ac5cbdc
Fixes using React.lazy and Suspense (#3160)
* Revert "Revert "Fixes using React.lazy and Suspense""

This reverts commit e621c2f7d3.

* Adds a changeset

* Fix ts errors

* Remove netlify metadata folder
2022-04-21 12:10:06 -04:00
Matthew Phillips
e85b16e2b3
Make 'lit' always be bundled in SSR (#3164)
* Make 'lit' always be bundled in SSR

* Adds a changeset
2022-04-21 11:12:21 -04:00
Matthew Phillips
e621c2f7d3 Revert "Fixes using React.lazy and Suspense"
This reverts commit 700d4f9649.
2022-04-20 17:17:36 -04:00
unknown
700d4f9649 Fixes using React.lazy and Suspense 2022-04-20 17:17:11 -04:00
Matthew Phillips
12f6b60998
Add test to verify Lit works in SSR (#3158) 2022-04-20 14:16:04 -04:00
Fred K. Schott
00b8343844
[ci] update lockfile (#3153)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-04-20 09:42:31 -04:00
bholmesdev
d538c9237d [ci] format 2022-04-19 20:38:02 +00:00
Ben Holmes
9ba1f4f825
Fix: markdown JSX expression inconsistencies (#3152)
* fix: remove micromark-extension-mdx-expression to unbreak JSX expressions

* chore: changeset

* deps: update lockfile

* tests: jsx expressions in markdown
2022-04-19 16:37:11 -04:00
bholmesdev
cfa11eecbf [ci] format 2022-04-19 17:53:03 +00:00
Ben Holmes
0247b54270
Refactor: remove all legacy build logic from codebase (#3141)
* refactor: remove legacy build flag

* refactor: remove legacy style maps

* chore: changeset

* refactor: nuke vite-plugin-build-html

* deps: remove parse5

* tests: restore user provided doctype support!

* deps: remove @web/parse5-utils

* deps: change srcset-parse to dev dep

* chore: remove unused utils

* refactor: remove unused style mapping

* unrelated fix: add .test to astro-markdown-css

* refactor: remove unused astro-style with test update

* chore: remove unused buildTime var
2022-04-19 13:52:15 -04:00
Tony Sullivan
44e294c9cb
Support custom vue compiler options in @astrojs/vue (#3143)
* adds support for passing options to @vitejs/plugin-vue

* updating vue integration README with options details

* adding a tests for custom vue compiler options

* chore: adding changeset
2022-04-19 16:31:32 +00:00
FredKSchott
0682832a54 [ci] format 2022-04-19 05:37:33 +00:00
Fred K. Schott
ef198ff835
handle diff symbols in shiki (#3108)
* handle diff symbols in shiki

* Create violet-cups-glow.md
2022-04-18 22:36:42 -07:00
bholmesdev
efa6f7d662 [ci] format 2022-04-18 19:45:37 +00:00
Ben Holmes
44bacd2011
Fix: component styles within imported markdown files (#3116)
* fix: replace markdown path prefix with suffix flag

* fix: avoid non-encoded colons for flag

* fix: remove needless ?

* fix: dev server load order

* fix: production build crawl dynamic imports

* fix: remove  unused virtual_module_id const

* fix: remove unsafe "!" on getmodbyid

* fix: remove needless @id path check

* fix: add list of SSR-able file extensions

* docs: virtual_mod_id change

* fix: support id prefix on resolved ids

* fix: switch to ?mdImport flag to resolve glob imports

* tests: imported md styles for dev and build

* chore: changeset
2022-04-18 15:44:42 -04:00
natemoo-re
abcee7c957 [ci] format 2022-04-15 19:16:54 +00:00
Tony Sullivan
e0f838ca39
Fix/numeric path params (#3087)
* adding support for numeric params in getStaticPaths()

* chore: adding changeset

* ignore undefined params in type validation
2022-04-15 14:16:11 -05:00
matthewp
0f071a9723 [ci] format 2022-04-14 16:20:04 +00:00
Matthew Phillips
1687009f31
Add client:only CSS to their pages (#3113)
* Add client:only CSS to their pages

* Adds a changeset

* Use viteID for windows
2022-04-14 12:19:03 -04:00
matthewp
c6551289ee [ci] format 2022-04-14 13:52:56 +00:00
Matthew Phillips
4ac0d5d4e7
Support the Markdown component in SSR (#3036)
* Support the Markdown component in SSR

* Adds a changeset

* Support runtime markdown in Node.js

* Remove option from test adapter
2022-04-14 09:51:53 -04:00
tony-sull
1c8524505e [ci] format 2022-04-13 15:05:59 +00:00
Tony Sullivan
254a8f3749
Fixing bug that could lose Tailwind's default presets (#3099)
* fixing bug that could lose Tailwind's default presets

* updating integration README

* chore: adding changeset

* test: fixing the tailwind tests
2022-04-13 15:05:00 +00:00
matthewp
16e0ada70f [ci] format 2022-04-13 12:45:17 +00:00
Matthew Phillips
5acf77dd22
Re-enable custom element test and fix "undefined" child (#3095)
* Re-enable custom element test and fix "undefined" child

* Remove outdated comment

* Adds a changeset
2022-04-13 08:44:22 -04:00
Fred K. Schott
81e210e03c
fix build base bug (#3068)
* fix ssr url search params bug

* fix build base bug

* safer slash removal
2022-04-12 19:54:07 -07:00
FredKSchott
11766acec9 [ci] format 2022-04-11 22:58:13 +00:00
Fred K. Schott
5b3464a803
fix ssr url search params bug (#3066) 2022-04-11 15:57:18 -07:00
Juan Martín Seery
3d96315545
chore: updated turborepo (#3039)
* chore: updated turborepo

* Revert changes to turbo.json

* Simplified test command

* tests should run serially

Co-authored-by: Fred K. Schott <fkschott@gmail.com>
2022-04-11 15:55:28 -07:00
Fred K. Schott
771127ea29
remove unused renderers (#3063) 2022-04-11 11:19:41 -07:00
Fred K. Schott
77c0be5b26
update lockfile (#3059) 2022-04-10 19:12:30 -07:00
Fred K. Schott
47f20a189f update test names containing spaces 2022-04-10 18:26:52 -07:00
FredKSchott
0c8b2193b2 [ci] format 2022-04-11 01:24:06 +00:00
Steve Lee
7b0fbd731e
Fix SSR static build public file copying. fixes #3016 (#3037)
* Fix SSR static build public file copying

* chore: update lockfile

* remove dirname and use URL constructor

* Cleanup test and actually test what it says it tests

Co-authored-by: Nate Moore <nate@skypack.dev>
2022-04-10 18:23:17 -07:00
Matthew Phillips
4b0f27d9ff
Fixes adding set-cookie headers multiple times (#3026)
* Fixes adding set-cookie headers multiple times

* Adds a changeset
2022-04-07 15:18:08 -04:00
matthewp
c3b083f286 [ci] format 2022-04-07 19:17:47 +00:00
Matthew Phillips
7e9d82d75e
Warn when trying to access headers in SSG mode (#3021)
* Warn when trying to access headers in SSG mode

* Adds a changeset

* Warn when accessing headers at all + a test
2022-04-07 15:17:05 -04:00
tony-sull
42e0e0fa5c [ci] format 2022-04-07 18:27:20 +00:00
Tony Sullivan
c773dcde31
Exclude any ?raw or ?url css imports when adding asset links (#3020)
* exclude any ?raw css imports when adding css asset links

* ?url imports should be ignored as well

* chore: adding changeset
2022-04-07 18:26:26 +00:00
natemoo-re
aa8fb4af51 [ci] format 2022-04-06 21:38:53 +00:00
Nate Moore
25cc9218f8
fix(#2987): relative config handling with --config flag (#3001)
* fix(#2987): relative config handling with `--config` flag

* test: fix tests

* fix: improve config test for failure case

* fix: test on windows?

* fix: test on windows?
2022-04-06 16:37:49 -05:00
Matthew Phillips
68e1e2dd31
Fixes dynamic API routes in SSR (#3006)
* Fixes dynamic API routes in SSR

* Adds a changeset
2022-04-06 13:01:22 -04:00
Fred K. Schott
1335797903
update prettier width (#2968) 2022-04-02 14:15:41 -06:00
Fred K. Schott
3483cc2285
exit prerelease mode (#2967) 2022-04-02 13:37:28 -06:00
FredKSchott
bae719505d [ci] format 2022-04-02 18:30:48 +00:00
Nate Moore
17c02925c5
Migrate to new config (#2962)
* wip: config migration

* fix: formatting

* refactor: projectRoot -> root

* refactor: pageUrlFormat -> format

* refactor: buildOptions.site -> site

* refactor: public -> publicDir

* refactor: dist -> outDir

* refactor: styleOptions -> style

* fix: some dist tests -> outDir

* refactor: remove legacyBuild (with TODOs)

* refactor: more legacyBuild cleanup

* refactor: server host and port

* fix: remove experimentalStaticBuild CLI flag

* refactor: src -> srcDir

* refactor: devOptions.trailing -> trailing

* refactor: remove sitemap + related flags

* refactor: experimentalSSR -> experimental.ssr

* fix: last devOptions

* refactor: drafts -> markdown.drafts

* fix: TS error on port as const

* refactor: remove pages

* refactor: more --project-root updates

* refactor: markdownOptions -> markdown

* fix: remaining type errors

* feat: update AstroUserConfig

* refactor: update CLI flag mapper + server mapper

* fix: loadFixture projectRoot

* fix: merge CLI flags before validating / transforming

* wip: attempt to fix bad createRouteManifest config

* refactor: combine config.base and config.site

* fix: skip route manifest test for now

* fix: site and base handling

* refactor: update failing config testes

* fix: build failure

* feat: update config types with migration help

* chore: update types

* fix(deno): update deno fixture

* chore: remove config migration logic

* chore: remove logLevel

* chore: clean-up config types

* chore: update config warning

* chore: add changeset

* Sitemap Integration (#2965)

* feat: add sitemap filter config option

* feat: add canonicalURL sitemap config option

* docs: update sitemap README

* fix: update for new config

* fix: filter not being applied

* chore: changeset

Co-authored-by: bholmesdev <hey@bholmes.dev>

* fred pass

* fix: Astro.resolve typo

* fix: public => publicDir

Co-authored-by: bholmesdev <hey@bholmes.dev>
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
2022-04-02 12:29:59 -06:00
Nate Moore
d55658f061
Implement new default script behavior, style is:global (#2961)
* feat: implement RFC0016

* chore: update to latest compiler

* chore: update compiler

* test: fix script tests

* test: update public tests

* feat: throw a warning when referencing scripts in `public/` without `is:inline`
2022-04-02 12:34:25 -05:00
matthewp
84f23d677a [ci] format 2022-04-01 17:33:12 +00:00
Matthew Phillips
b4ad11b569
Add tests for using buildConfig (#2960) 2022-04-01 13:32:22 -04:00
Nate Moore
d81b6d9ebc
Add function-based slot support to Astro.slots.render() (#2954)
* feat(slots): add function-based slot support to Astro.slots.render()

* test(slots): add render tests
2022-03-31 13:11:26 -05:00
matthewp
50af480c7d [ci] format 2022-03-31 18:04:57 +00:00
Matthew Phillips
cebdc85428
SSR - copy public folder when there is no client JS (#2955)
* SSR - copy public folder when there is no client JS

* Changest

* Use isBuildingToSSR

Co-authored-by: JuanM04 <me@juanm04.com>
2022-03-31 14:04:09 -04:00
Juan Martín Seery
d10c3dea21
fix: --experimental-ssr fixes (#2937)
* Replaced `--experimental-ssr` with `isBuildingToSSR`

* changest

* Improved `isBuildingToSSR` a bit

* Added `isBuildingToSSR` to more places!!1!

* Added `@deprecated` tag

* Replaced missing experimentalSsr

* Added failing test

* Removed test

* Re-added experimental ssr flag

* Fixed typo

Co-authored-by: Matthew Phillips <matthew@skypack.dev>

* Fixed deno tests

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2022-03-31 13:58:03 -04:00
Fred K. Schott
3a4dc9e0a7
React 18 monorepo upgrade (#2948)
* First pass at supporting React 18 in @astrojs/react

* Try marking React 18’s `react-dom/client` as external

* Try a different approach to importing different React versions

* Allow resolving JSON modules

* Revert "Allow resolving JSON modules"

This reverts commit 5279b7249c.

* Try the separate client entrypoint approach from #2946

* Clean up diff

* Trying to see something

* Just keep swimming… 🐠

* update to support react 18

* update React to React 18 across the board

Co-authored-by: delucis <swithinbank@gmail.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2022-03-31 13:01:05 -04:00
Fred K. Schott
57f48b2701
Add support for React 18 in @astrojs/react (#2947)
* First pass at supporting React 18 in @astrojs/react

* Try marking React 18’s `react-dom/client` as external

* Try a different approach to importing different React versions

* Allow resolving JSON modules

* Revert "Allow resolving JSON modules"

This reverts commit 5279b7249c.

* Try the separate client entrypoint approach from #2946

* Clean up diff

* Trying to see something

* Just keep swimming… 🐠

* update to support react 18

* add changeset

* add docs

Co-authored-by: delucis <swithinbank@gmail.com>
2022-03-31 12:51:29 -04:00
Matthew Phillips
c989f106f9
Allow components to return a Response (#2944)
* Allow components to return a Response

* Changeset
2022-03-30 15:55:22 -04:00
matthewp
6a1a40eef8 [ci] format 2022-03-30 12:43:13 +00:00
Matthew Phillips
13b271bc7d
Deno adapter (#2934)
* Bundle everything, commit 1

* Get everything working

* Remove dependency on readable-stream

* Adds a changeset

* Fix ts errors

* Use the node logger in tests

* Callback the logger when done writing

* Fix test helper to await the callback

* Use serialize-javascript again

* Remove dead code

* Rename hook

* Oops
2022-03-30 08:42:19 -04:00
matthewp
c24e5c9687 [ci] format 2022-03-29 20:59:59 +00:00
Matthew Phillips
f048cdff70
Fixes API route compat with Node 14 (#2936)
* Fixes API route compat with Node 14

* Changeset
2022-03-29 16:59:06 -04:00
Matthew Phillips
ecbcc8c42c
Make it deployable to Netlify (#2931) 2022-03-29 08:18:11 -04:00
Matthew Phillips
ecc6a4833f
Implement the Astro.request RFC (#2913)
* Implement the Astro.request RFC

* Disable console warnings eslint

* Use our logger

* Adds a changeset

* Fix tests that depend on params, canonicalURL, URL

Co-authored-by: Fred K. Schott <fkschott@gmail.com>
2022-03-29 07:35:03 -04:00
Fred K. Schott
4299ab303b
New Markdown API (#2862)
* Implement new markdown plugin with deferred markdown rendering

* feat: switch from `getContent()` fn to `<Content />` API

* update types

* Update packages/astro/src/@types/astro.ts

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>

* update types

* Create forty-coins-attend.md

Co-authored-by: Nate Moore <nate@skypack.dev>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2022-03-28 17:16:06 -07:00
Fred K. Schott
f70207082a
Restyle error messages (#2902)
* clean up error logging in astro

* update from ben feedback

* Update packages/astro/src/core/build/generate.ts

Co-authored-by: Ben Holmes <hey@bholmes.dev>

Co-authored-by: Ben Holmes <hey@bholmes.dev>
2022-03-28 16:55:36 -07:00
matthewp
5c9312620d [ci] format 2022-03-28 20:49:06 +00:00
Matthew Phillips
77354c89bd
Prevent CSS from being added to pages not using it (#2918)
* Prevent CSS from being added to pages not using it

* Adds a changeset

* Add clarification when the CSS is appended to the pageData

* Move addStyles up a level
2022-03-28 16:48:06 -04:00
Fred K. Schott
9d6e0b5dba
add experimental integrations flag (#2894) 2022-03-25 17:11:36 -07:00
matthewp
f5b48bc0ae [ci] format 2022-03-24 21:09:40 +00:00
Matthew Phillips
e4025d1f53
Build to a single file (#2873)
* Build to a single file

* Updates based on initial code review

* Adds a changeset

* Use the default export for cjs module

* Await generatePages

* Prevent timing from causing module to not import

* Fix shared CSS

* Properly handle windows ids

* Dont shadow

* Fix ts errors

* Remove console.log
2022-03-24 17:08:36 -04:00
Nate Moore
671727ba83
fix(#2846): handle destructured private env usage during SSR (#2861)
* fix(#2846): handle destructured private env usage during SSR

* test: add destructured env vars test

* fix: support destructured env vars

* fix: only inline referenced vars
2022-03-24 15:10:08 -05:00
natemoo-re
eb4ac82acf [ci] format 2022-03-24 19:44:54 +00:00
Nate Moore
a49f0490c0
test: update error test for vite@2.9.x (#2877)
* test: update error test for vite@2.9.x

* chore: add link to old tests
2022-03-24 14:44:08 -05:00
Fred K. Schott
5029382a8c
fix markdown page script injection (#2871) 2022-03-24 12:30:54 -07:00
Fred K. Schott
5571227718
fix adblock issue (#2875) 2022-03-24 11:20:34 -07:00
matthewp
99414f76cf [ci] format 2022-03-24 11:27:15 +00:00
Matthew Phillips
5e52814d97
Adapters v0 (#2855)
* Adapter v0

* Finalizing adapters

* Update the lockfile

* Add the default adapter after config setup is called

* Create the default adapter in config:done

* Fix lint error

* Remove unused callConfigSetup

* remove unused export

* Use a test adapter to test SSR

* Adds a changeset

* Updated based on feedback

* Updated the lockfile

* Only throw if set to a different adapter

* Clean up outdated comments

* Move the adapter to an  config option

* Make adapter optional

* Update the docs/changeset to reflect config API change

* Clarify regular Node usage
2022-03-24 07:26:25 -04:00
Nate Moore
7954541291
Update Compiler with new CSS Parser (#2833)
* chore: update compiler

* Update eighty-trees-thank.md

* test: update css test
2022-03-18 18:16:32 -05:00
Fred K. Schott
6386c14d00
Astro Integration System (#2820)
* update examples

* add initial integrations

* update tests

* update astro

* update ci

* get final tests working

* update injectelement todo

* update ben code review

* respond to final code review feedback
2022-03-18 15:35:45 -07:00
bholmesdev
0f376a7c52 [ci] format 2022-03-18 21:30:38 +00:00
Ben Holmes
0a3d3e51a6
Feat: change to shiki default md renderer (#2824)
* feat: change Shiki to default

* refactor: update blog styles for shiki

* feat: update examples/docs styles for Shiki

* refactor: remove Prism-ish examples/docs styles

* refactor: simplify rules with `all: unset`

* refactor: remove Prism styles

* refactor: examples/with-md remove Prism-specific line-highlight

* chore: add changeset

* chore: update changeset versions

* refactor: update syntax highlight test for scoped styles

* fix: apply scoped style class to pre and span lines

* feat: test that scoped styles cascade to shiki code

* refactor: pass scopedClassName explicitly
2022-03-18 17:29:51 -04:00
Hlynur Sveinbjornsson
1cd7184ca6
Fix island deduplication ignoring props. (#2825)
* Fix island deduplication ignoring props.

Re-resolves an issue initially patched in https://github.com/withastro/astro/pull/846 but seemingly lost in the 0.21.0 mega-merge (d84bfe719a).
This change makes the component render step account for all props, even if they don't affect the generated HTML, when deduplicating island mount.

* Fix React component test using different rendered props to test deduplication.

* fix: improve serialization support for non-JSON objects

Co-authored-by: Nate Moore <nate@skypack.dev>
2022-03-18 09:00:14 -04:00
Fred K. Schott
9327b56e82
[ci] update lockfile (#2822)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-03-17 13:33:52 -05:00
Nate Moore
915ab92204
test: add tailwind escape test (#2816) 2022-03-17 11:09:11 -05:00
matthewp
4cfbd402a4 [ci] format 2022-03-17 12:32:03 +00:00
Matthew Phillips
7b9d042dde
Allow SSR dynamic routes to not implement getStaticPaths (#2815)
* Allow SSR dynamic routes to not implement getStaticPaths

* Adds a changeset

* Update based on code-review comments
2022-03-17 08:31:01 -04:00
Tony Sullivan
4914e1f70d
Adds tests for tailwind support in dev and build (#2809)
* adding basic dev and build tests for TailwindCSS

* adding tests to validate tailwind classes are maintained in HTML output

* fixing indent spacing

* updating lock file
2022-03-16 17:35:49 +00:00
Matthew Phillips
4c25a1c2ea
Implements redirects, headers for SSR (#2798)
* Implements redirects, headers for SSR

* Move away from an explicit Request

* Properly handle endpoint routes in the build

* chore(lint): ESLint fix

* Update based on review comments

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2022-03-16 12:16:21 -04:00
Fred K. Schott
498ef59b0e
[ci] update lockfile (#2810)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-03-16 09:53:46 -05:00
Nate Moore
5cb7e0366b fix: mark static build pkg as private 2022-03-15 19:50:25 -05:00
Nate Moore
8654e841ff chore: fix internal package 2022-03-15 17:29:39 -05:00
Nate Moore
86419d9ed7
Ignore test fixture for changesets (#2804)
* test: move fixtures to `@test/` scope

* chore: ignore `@test/` scope

* chore: add changeset

* test: renamed missed package

* chore: delete test file

* fix: @test package references

* fix: @test package references
2022-03-15 16:17:23 -05:00
Fred K. Schott
6eb494796e
update HTML escape logic (#2793) 2022-03-15 15:33:55 -05:00
matthewp
1325fe90fc [ci] format 2022-03-15 12:38:13 +00:00
Fred K. Schott
c36527f46d
fix flakey windows tests (#2795) 2022-03-15 08:37:29 -04:00
Nate Moore
6b34840d3d
Fix set:html behavior with null (#2790)
* feat: improve set:html behavior for null/undefined

* chore: add changeset

* refactor: improve set:html and set:text documentation

* test: improve set:html tests

* refactor: better types for server API
2022-03-14 18:19:53 -05:00
Fred K. Schott
b4d34e2d2c
improve build perf (#2772) 2022-03-14 10:23:05 -07:00
Fred K. Schott
1634172ff9
[ci] update lockfile (#2763)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2022-03-11 16:38:28 -06:00
bholmesdev
d4dbfe8974 [ci] format 2022-03-11 22:26:21 +00:00
Ben Holmes
77b9c95352
Feat: expose server on local network with new --host flag (#2760)
* feat: update config to support bool --hostname

* fix: show localhost for --hostname=true

* feat: address logging feature parity w/ Vite

* chore: update type docs

* refactor: extract local, network prefs to variable

* feat: add --host to --help output

* feat: deprecate --hostname, add --host

* feat: add --host tests

* feat: update preview to support new flags

* fix: show --host in dev server log

* feat: update config tests for --host flag

* chore: test lint

* chore: update lock with new fixture

* chore: add changeset

* refactor: add more details to JSdocs

* fix: update path tests

* feat: only expose when --host is not local

* fix: make flag --help less verbose

* fix: address @types comments

* fix: lint

* chore: remove unused import

* fix: use host flag for config test

* fix: ensure local logs come before network

* refactor: switch up that network logging one last time!

* feat: update unit tests

* chore: remove debugging block

* fix: only parse network logs if network is present
2022-03-11 17:25:26 -05:00
Nate Moore
5f55af9cce
fix(#2753): unescape define:vars (#2756)
* fix(#2753): unescape `define:vars`

* test: add directives suite

* chore: update lockfile
2022-03-10 14:36:07 -06:00
Ben Holmes
a14075e2a4
Feat: show 404 when getStaticPaths doesn't match URL (#2743)
* WIP: return 404 for unmatched getStaticPaths route

* feat: regex on static paths to 404 in dev

* Revert "WIP: return 404 for unmatched getStaticPaths route"

This reverts commit 9c395a2586ca40d44c3ab18edc7ffbc1c4660ed8.

* feat: call getParamsAndProps pre-ssr to catch errs

* fix: remove unused cache regex check

* fix: revert getPattern changes

* fix: remove unused preload props

* fix: log 404 for custom 404 pages

* refactor: rename fixture for clarity

* feat: add getStaticPaths status code tests

* fix: pas rootRelativeUrl to handle subpaths

* fix: update dev-routing tests from 500 -> 404

* refactor: make error handling more explicit

* lint: use typescript no shadow to fix enum issue

* chore: add changeset

* refactor: clarify test names

* refactor: remove variable reassignment

* fix: update dev-routing tests 500 > 404

* refactor: update test file structure

* Fix: revert to old logging

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>

* Chore: use `const enum` instead

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>

* chore: format

Co-authored-by: Nate Moore <nate@skypack.dev>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2022-03-10 13:02:37 -05:00
Fred K. Schott
79fc320480
update deps: esbuild, typescript (#2750)
* update dep: typescript

* update dep: esbuild

* update types

* update types

* update dep: es-module-lexer

* update tests
2022-03-10 09:55:40 -06:00
Nate Moore
ae8d925666
Improve Astro.slots API (#2695)
* feat: update Astro.slots API

* fix: migrate Markdown to public `Astro.slots.render` API

* chore: update internal AstroGlobal types

* chore: add changeset

* Update clean-bottles-drive.md

* refactor(test): update slot tests to new syntax
2022-03-09 18:09:48 -06:00
natemoo-re
2acfef741f [ci] format 2022-03-09 23:38:46 +00:00
Nate Moore
e8d4e56803
Improve logger (deduping, new help and version) (#2737)
* feat: improve logger by removing repeat messages

* feat(hmr): only send HMR updates when files change

* feat: improve hmr formatting

* feat(logger): improve welcome formatting

* feat(logger): improve hmr formatting

* chore(test): update cli test output

* feat(logger): improve logging output

* feat(logger): improve help/version flags

* chore: remove checksum checks

* fix(test): update cli tests

* refactor(test): cleanup astro dev cli tests

* chore: add changeset

* chore(test): skip doctype test
2022-03-09 17:37:59 -06:00
natemoo-re
8c0a8fee32 [ci] format 2022-03-09 23:03:26 +00:00
Nate Moore
05b66bd68b
Escape HTML by default (#2747)
* feat: escape HTML by default

* feat(test): add escaping test
2022-03-09 17:02:25 -06:00
natemoo-re
658a92915d [ci] format 2022-03-09 22:39:48 +00:00
Fred K. Schott
2906110c04
Update tests for legacy build (#2746)
* move fast-build example into a test fixture for legacy build

* update tests for legacy build
2022-03-09 16:38:46 -06:00
natemoo-re
43a5c06a93 [ci] format 2022-03-09 21:45:28 +00:00
Nate Moore
72c2c86e9d
merge next into main (#2705)
* Unflag the static build (#2652)

* Unflag the static build

* Only set legacyBuild to false if experimentalSSR is true

* Use legacy build when we have to

* Put a few more tests into legacy mode

* Last two

* Make astro-basic use the legacy build

* Adds a changeset

* Mark the lit test as legacy

* Update yarn lock

* Update based on feedback

* Add --legacy-build flag

* Move astro-basic test to use static build (#2682)

* Move some tests over to the static build (#2677)

* Move some tests over to the static build

* Fix assets tests

* Fix the assets tests

* Fix for the client:only components

* Moves asset tests to the static build

* Move postcss test over to static build

* Bring back legacy build for astro-basic test

* Move astro-basic test to use static build

* Migrate more tests to the static build (#2693)

* fix: disable HMR during build (#2684)

* Migrate more tests to the static build

* Only prepend links in non-legacy mode

* Add the 0-css tests

* Convert all CSS tests to the static build

* Migrate Astro global tests

* Remove .only

* Fix static build tests

* Migrate a few more

* More tests

* Move the lit test back to legacy

* Increase the test timeout

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>

* Improve `head` injection behavior (#2436)

* feat: add renderHead util to server

* feat: remove `layouts` from config, Vite plugin

* fix: improve head injection during rendering

* chore: update compiler

* fix: do not escape links

* chore: enter `pre` mode

* Replace `send` with `sirv` (#2713)

* remove send

* Create thick-ravens-chew.md

* I feel like I'm going to screw something up

* working finally!

* rewrite req.url

* Add tiny bit of doc

* Update .gitignore

Co-authored-by: Evan Boehs <evan@boehs.org>

* Move remaining tests to the static build (#2712)

* Move lit test to the static build

* Migrate astro-env plugin to work in the static build

* Do not remove vite:define

* Adds a changeset

* Add a warning when passing the --experimental-static-build flag (#2718)

* Add a warning when passing the --experimental-static-build flag

* Disable the lint warning

* [ci] release (next) (#2721)

* [ci] release (next)

* chore: update changeset

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Nate Moore <nate@skypack.dev>

* 404 page (#2719)

* Fix: build to 404.html in the static build

* Adds a changeset

* fix pnpm install missing peer deps

* fix svelte version in workspace

* fix lockfile

* fix(webapi): add dev script

* improve preview reliability (#2739)

* improve preview reliability - fix broken tests

* shamefully hoist to unblock

* remove lit from test running

* chore: update lockfile

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Evan Boehs <evan@boehs.org>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
2022-03-09 15:44:26 -06:00
Fred K. Schott
240d88aefe
fix format (#2736) 2022-03-08 15:20:04 -08:00
Ben Holmes
0ae96bb749
Fix/2177/log missing local network ip (#2732)
* feat: show "localhost" for local network IPs

* refactor: remove timestamps from addr logs

* fix: hide timestamp on null types

* feat: add emoji OS helper

* feat: make logs 100% nicer

* refactor: extract isLocalHost to util

* feat: update preview logs to match

* chore: add changeset

* fix: pull pkg version from package.json

* refactor: remove 👉 guys

* fix: devStart return type

* feat: inject process.env.PACKAGE_VERSION at build time

* feat: update unit test for hostname checks

Co-authored-by: Nate Moore <nate@skypack.dev>
2022-03-08 17:11:18 -05:00
Nate Moore
d08ddaf5b9
Move from yarn to pnpm (#2455)
* chore: `yarn` => `pnpm`

* docs: `yarn` => `pnpm`

* chore(ci): yarn => pnpm

* chore(ci): update pnpm cache path

* fix: add missing deps

* fix: add missing deps

* test: add package.json to all test fixtures

* chore: improve hoisting behavior

* chore: move turbo into package.json

* chore: update npmrc

* fix: add missing `debug` dependency

* chore: remove prepare script

* test: fix new tests

* fix: fully resolve renderer paths and `astro/internal` path

* chore: update lockfile

* chore: remove log

* fix: resolve renderers in vite-plugin-jsx

* fix: prefer public-hoist-pattern to shamefully-hoist

* chore: ignore @babel/core peer warning

* chore: update dependencies

* test: add autoprefixer as explicit dep

* chore: update `.npmrc` file in examples

* chore: update dependencies

* fix: resolve renderer dependencies in static build

* fix: static build renderer resolution

* chore: fix smoke tests

* chore: hoist autoprefixer

* chore: update lockfile

* attempt: use full file:// path on Windows

* attempt: use astro/internal

* attempt: optimize astro/internal

* attempt: expose ./internal.js

* chore: add missing package.json files

* attempt: resolve astro/internal path

* chore: tidy package.json

* chore: update lockfile

* chore: update deps

* chore: update deps

* chore: yarn -> pnpm

* attempt: explicit /@fs urls

* attempt: explicit /@fs urls

* chore: update all examples for pnpm

* chore: fix hoisting for with-vite-plugin-pwa

* chore(ci): fix sharp install

* chore: update with-vite-plugin-pwa example

* fix: pin vite-plugin-pwa to 0.11.11

* fix: add workbox-window to vite-plugin-pwa deps

* refactor: use pnpm update --recursive

Co-authored-by: JuanM04 <me@juanm04.com>

* chore: yarn => pnpm

* chore: yarn => pnpm

* fix: update smoke test to skip examples which don't work in static build

* update lockfile

* chore: update .npmrc files

* chore: update lockfile

* fix: smoke script

* chore: update .npmrc file

* fix: return to shamefully-hoist (shamefully)

* chore: update lockfile

* fix(smoke): ignore scripts for smoke tests

* fix: update example to disable renderers

* chore: bump version

* chore(ci): fix smoke tests

* attempt: disable --frozen-lockfile for smoke tests

* chore: update smoke test

* chore: fix rebase issue

* chore: update lockfile

* fix: smoke tests

* fix(ci): run external smoke tests first

* fix(ci): run syntax

* chore: update lockfile

* fix(ci): ensure submodules are up-to-date

* fix(ci): ensure submodules are up-to-date

* chore: update lockfile

* chore: update for webapi

* chore: silence node:* warnings

* chore: update deps

* fix(ci): persist generated webapi assets

* fix(ci): webapi build script

* chore(ci): remove custom node caching

* chore: keep turbo.json

* chore: update turbo, ignore create-astro

* chore: update deps

* fix(ci): test command

* chore(ci): update test script

Co-authored-by: JuanM04 <me@juanm04.com>
2022-03-08 15:46:11 -06:00
Nate Moore
f18ee36dc0
Add @astrojs/webapi package (#2729)
* chore: add @astrojs/webapi

* chore: update package.json

* fix: update file case

* fix: remove lowercase file

* chore: update tests to use mocha

* chore: update LICENSE
2022-03-07 15:36:22 -06:00
Matthew Phillips
5b1d700134
Remove the after in the Lit test (#2710) 2022-03-03 10:01:30 -05:00
Shinobu Hayashi
fe31eca414
Fix(component): align starting position in Markdown slot (#2631)
* Fix: align markdown starting position in each line

* Chore: add testcase for aligning starting position in each line

* Chore: update the test case on astro-markdown custom language

* Update: remove trimmed only startWith trimmed space
2022-02-23 17:08:17 -06:00
Nate Moore
39cbe50085
Expose private .env variables to import.meta.env during SSR (#2612)
* chore(examples): add env-vars example

* feat: improve import.meta.env support

* chore: add changeset

* test: update astro-envs test

* refactor: cleanup code based on feedback

* fix: import.meta guard

* fix: update memory test threshold to 10%
2022-02-18 16:06:56 -06:00
Matthew Phillips
87762410f3
Fix loading of styles in static build (#2605)
* Fix loading of styles in static build

* Adds a changeset
2022-02-17 10:32:24 -05:00
Tony Sullivan
40c0e2b3f6
Bug fix: Order of params for routing has to match (#2593)
* make sure route params are sorted before comparing stringified keys

* including changeset for a patch release
2022-02-16 15:49:03 +00:00
Matthew Phillips
102161761d
Pass children to client components even if they do not render them (#2588)
* Pass children to client components even if they do not render them

* Handle when no children are provided

* Adds a changeset

* Use roots directly i guess

* Use an attribute to signal that the template is needed
2022-02-16 10:11:54 -05:00
matthewp
911b15588e [ci] yarn format 2022-02-15 21:56:06 +00:00
Matthew Phillips
ec6f148fc8
Resolve relative imports from hoisted scripts (static build) (#2581)
* Resolve relative imports from hoisted scripts

* Adds a changeset

* Windows fix

* Set a longer timeout for the Lit test

* blah

* Handle windows properly

* Only if the from is astro

* Windows debugging

* This might fix it

* another try

* use only

* More debugging

* Does this work

* Final cleanup

* Update the lockfile
2022-02-15 16:55:07 -05:00
tony-sull
160c41403b [ci] yarn format 2022-02-15 17:48:39 +00:00
Tony Sullivan
d6d35bcafc
Support non-HTML pages (#2586)
* adds support for build non-html pages

* add non-html pages to the static build test suite

* adds getStaticPaths() test for non-html pages

* adds dev server tests for non-html pages

* ading a changeset

* updating changeset description

* testing for building non-html files with async data

* fixing typo in changeset docs
2022-02-15 17:47:42 +00:00
Matthew Phillips
ba5e2b5e6c
Flagged SSR support (#2548)
* Checkpoint, basics are working

* Add the `--experimental-ssr` flag

* Adds the changeset

* Fixes population of getStaticPaths results

* Pass through the imported module

* Route manifest test

* Fix remaining tests

* Fix remaining tests

* Copy server assets over

* Fix types

* Allowing passing in the request to the Node version of App

* Improve the example app

* Gets CI to pass
2022-02-14 12:48:52 -05:00
tony-sull
3c682f2668 [ci] yarn format 2022-02-11 14:44:47 +00:00
Matthew Phillips
82544e4134
Fixes pageUrlFormat: 'file' in static build (#2569)
* Fixes pageUrlFormat: 'file' in static build

* Adds a changeset
2022-02-11 14:43:42 +00:00
Fred K. Schott
78319dfff0 format 2022-02-09 12:34:06 -08:00
Nate Moore
1abb9ed080
Upgrade Vite to latest (#2424)
* chore: unvendor vite

* chore: upgrade vue and svelte

* feat(renderer-solid): upgrade for vite@2.7.x

* chore: update yarn.lock

* fix(solid): upgrade solid renderer for vite@2.7.x

* test: improve css test

* chore: upgrade to vite@2.8.0-beta.3

* fix: replace hacky serialization with 'serialize-javascript'

* fix: externalize serialize-javascript

* fix: explicitly add execa@6.x.x to devDependencies

* test(css): skip css?url test

* chore: update vite-plugin-svelte

* fix: ssr option

* chore: update changeset

* chore: remove changeset

* chore: add changeset

* chore: add back missing changeset

* chore: update vite

* chore: update to latest vite

* test: update proload?

* chore: update dependencies

* fix: remove preact from nanostores example

* fix: update static-build-pkg to use `.mjs` extension

* fix: exclude './server.js' from custom-elements test

* chore: remove unused file
2022-02-08 17:38:00 -06:00
Matthew Phillips
e81bc3cf14
Prevent the server plugin from running during the build (#2552)
* Prevent the server plugin from running during the build

* Adds a changeset

* More all before blocks to inside of a describe()
2022-02-08 16:55:22 -05:00
Tony Sullivan
41b659b12e
adding test coverage for boolean and enum HTML attributes (#2544) 2022-02-07 15:14:26 -05:00
Jonathan Neal
a911d14eab
Remove docs from monorepo (#2517)
* Remove docs from monorepo

* Update PULL_REQUEST_TEMPLATE.md

* Update relative doc references with links or todo
2022-02-07 13:39:53 -05:00
Juan Martín Seery
2bc91543ce
feat: Added the ability to add custom themes/languages to Shiki (#2518)
* Replaced `shikiTheme` with `shikiConfig`

* Code.astro now accepts custom themes/langs

* Updated docs

* Updated tests

* Fixed language loading

* Added customization examples

* Updated documentation

* Added more tests

* Changelogs

* Changed some spaces to tabs

* Fixed typo in changesets

* Moved tests fixtures

* Rolled back changes to with-markdown-shiki

* Removed lang example in docs

* Optimized Code component

* Try to fix windows errors

* Try to see if this new tests work
2022-02-07 08:31:02 -08:00
Juan Martín Seery
cfeaa9414a
fix: import local plugins into markdown (#2534)
* Replaced "UnifiedPluginImport" for a function

* Updated tests

* Updated docs

* Updated examples

* Added changeset

* Fixed tests

* Removed unused "UnifiedPluginImport"

* Duplicated add-classes.mjs
2022-02-04 13:49:50 -05:00
Juan Martín Seery
6fe1b0279f
Add Shiki as an alternative to Prism (#2497)
* [ci] yarn format

* Added shiki to markdown-remark

* Upgraded astro shiki

* Added minimal example

* Changed defaults to match <Code />

* Replace `shiki` with `astro` classes

* Added documentation

* Updated Astro code to use new `codeToHtml`

* Added changesets

* Added basic test

* Updated tests a bit

Co-authored-by: JuanM04 <JuanM04@users.noreply.github.com>
2022-01-31 16:14:07 -06:00
Fred K. Schott
f3dafd33e7
Fix a regression in vite.build() base option (#2502)
* Fixes subpath bugs

* Remove trailing slash appending

Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2022-01-31 16:27:59 -05:00
Fred K. Schott
d7149f9b2f
refactor dev to use vite server (#2494) 2022-01-31 14:44:40 -05:00
Fred K. Schott
c9bb1147cb
[MINOR] standardize trailing subpath, fix fetchContent url issue (#2471)
* standardize trailing subpath, and fix fetchcontent issue

* debug windows ci

* improve ci test

* fix windows test issue?

* fix only usage

* end debugging
2022-01-28 20:29:53 -05:00
Matthew Phillips
6bd165f84c
Handle project folders containing a space in the static build (#2486)
* Handle project folders containing a space

* Adds a changeset

* Bump the test package version

* Use server relative paths as entries

* Fix windows

* A hoisted fix

* Correctly handle facadeIds on windows
2022-01-28 20:29:28 -05:00
Jonathan Neal
a764264d29
Remove node-fetch (#2462)
* remove node-fetch

* use webapi polyfill like astro
2022-01-25 11:37:06 -05:00
Anima
1d95ff58d9
Set channel link in rss.xml to site index (#2450)
* Set channel link in rss.xml to site index

This is the RSS 2.0 spec and fixes issue with pretty-feed-v3 "View Website" link pointing back to the feed

* tests: edited rss gen test
2022-01-24 11:19:36 -05:00
Matthew Phillips
dfe1f8b4e7
Pass user's viteConfig.ssr to the build (#2442)
* Pass user's viteConfig.ssr to the build

* Changeset
2022-01-24 08:55:26 -05:00
natemoo-re
72ac198eb0 [ci] yarn format 2022-01-21 22:40:03 +00:00
Nate Moore
ed0b46f96f
Fix pre-generated RSS URLs (#2443)
* Allow pre-generated urls to be passed in rss feeds

* Fix variable name

* Add isValidURL helper function

* Remove scary RegEx and tidy up code

* add test for using pregenerated urls

* fix: allow rss to be called multiple times

* test: normalize rss feed in test

* chore: add changeset

Co-authored-by: Zade Viggers <74938858+zadeviggers@users.noreply.github.com>
Co-authored-by: zadeviggers <zade.viggers@gmail.com>
2022-01-21 16:38:48 -06:00
Chris Swithinbank
ebe414f05b
Resolve sitemap URLs in relation to full site path (#2423)
* Resolve sitemap URLs in relation to full site path

Fixes #2422

* Test generated sitemap contains base directory in URLs

* Add changeset

* test: Add `clean` helper to loaded fixture API

Adds a method that when called will remove the loaded fixture’s dist directory using `rimraf`.

* test: Clean up between sitemap/RSS tests

* See if letting rimraf retry more helps…

* Add logging to double check nothing’s running in parallel

* Remove logging & double check clean up actually succeeds

* Try using basic Node.js to clean up dist

* Remove logging/checks

* Remove stray unnecessary `async` keyword
2022-01-20 19:27:47 -05:00