Commit graph

624 commits

Author SHA1 Message Date
Nate Moore
bb02bca36c
Remove it.only (#3655)
* chore: remove it.only

* test: fix failing test

Co-authored-by: Nate Moore <nate@astro.build>
2022-06-20 17:40:53 -05:00
Nate Moore
8e3e4894c9
Add private addPageExtension hook (#3628)
* feat: add private `addPageExtensions` hook

* chore: remove renderer binding

Co-authored-by: Nate Moore <nate@astro.build>
2022-06-20 14:05:16 -05:00
tony-sull
9502fbf4a9 [ci] format 2022-06-20 17:14:08 +00:00
Tony Sullivan
80c71c7c56
Fixes rendering of HTML comments inside markdown code blocks (#3638)
* JS comment wrappers should be removed from HTML comments in code blocks

* chore: add changeset
2022-06-20 17:12:42 +00:00
hippotastic
05aa72442c
Remove extra newlines around Markdown components (#3620) 2022-06-17 11:52:37 -05:00
tony-sull
fb80e384e3 [ci] format 2022-06-16 22:11:13 +00:00
Tony Sullivan
e02097d0b9
Investiging a flaky error test (#3613)
* restarting dev server between each error test

* re-enabling the test on Linux CI

* trying separate describe() suites per error test

* narrowed the issue down, disabling for more investigation

* not: removing unrelated whitespace change
2022-06-16 22:09:47 +00:00
Tony Sullivan
493441f57b Revert "restarting dev server between each error test"
This reverts commit 49e4453acc.
2022-06-16 12:56:57 -05:00
Tony Sullivan
49e4453acc restarting dev server between each error test 2022-06-16 12:49:48 -05:00
Matthew Phillips
fc52321a88
Consolidate hydration scripts into just one (#3571)
* Remove redundant hydration scripts

* Prebuild the island JS

* Fix build

* Updates to tests

* Update more references

* Custom element test now has two classic scripts

* Account for non-default exports

* Restructure hydration directives

* Move nested logic into the island component

* Remove try/catch
2022-06-15 08:50:05 -04:00
Matthew Phillips
330fef448e
Handle importing multiple CSS packages in same bundle (#3595)
* Handle importing multiple CSS packages in same bundle

* Changeset
2022-06-14 16:27:21 -04:00
Matthew Phillips
0e2314d8e5
Fix inlined hoisted scripts and SSR (#3593)
* Fix inlined hoisted scripts and SSR

* Adds a changeset
2022-06-14 15:14:15 -04:00
Okiki Ojo
d46f8fb14d
feat: support optional and conditional integrations (#3590)
* feat(integrations): support optional integrations

By making integration optional, Astro can now ignore null or undefined Integrations instead of giving an internal error most devs can't read/won't understand.

This also enables optional integrations,
e.g.
```ts
integration: [
  // Only run `compress` integration in production environments, etc...
  import.meta.env.production ? compress() : null
]
```

* ci: add tests for optional integration

* docs: add changelog
2022-06-14 14:08:14 -04:00
tony-sull
47d15870ff [ci] format 2022-06-07 21:22:13 +00:00
Tony Sullivan
3eb96a7ab7
Fix: Astro.site should default to localhost if not provided in config (#3552)
* Astro.site should be defaulted to localhost

* test: verify Astro.site default value

* chore: add changeset

* test: matching a URL regex to ignore specific port numbers
2022-06-07 21:20:20 +00:00
Tony Sullivan
7816403306
Fix: bubbling up a more useful error message for unresolve imports in Astro components (#3540)
* vite-astro-plugin should ignore unresolved relative imports

* test: add error test for unresolved imports

* chore: add changeset

* moving the test to it's own describe

* chore: cleaning up the test's dev server

* TEMP: skipping the old test again to see if that's breaking CI

* test: verifying the dev server recovers

* TEMP: is it the new test breaking ubuntu CI?

* testing whether the errors suite only handles one test case in ubuntu

* disabling the Errors suite on linux for now to avoid reliability issues
2022-06-07 17:53:15 +00:00
Matthew Phillips
51c60de76c
Fix importing CSS packages in frontmatter (#3537)
* Fix importing CSS packages in frontmatter

* Formatting

* Only update if the source code contains the import

* Consolidate the two plugins

* we do need a pre and a post

* Adds a changeset
2022-06-06 18:26:15 -04:00
tony-sull
2aa43549e0 [ci] format 2022-06-06 18:41:58 +00:00
Nate Moore
a87ce4412c
Improve HMR handling for styles, persisted islands (#3492)
* feat: improve HMR handling for styles, persisted islands

* Also using data-persist to keep injected <style>'s during HMR

* Updating E2E tests to validate that .astro HMR doesn't blow away component styles

* chore: add changeset

* copy/paste error when cleaning up tests

* big change - using inline <style> blocks instead of <link>s in dev

* Updating tests that were expecting <link> stylesheets in dev

* updating all E2E tests to use workspace versions for astro deps

* TEMP: adding debug logging to see why the Ubuntu test only fails in CI

* fix: Svelte styles are automatically handled by Vite, we can skip them in dev

* fix: svelte is more interesting, we need Astro to inject styles only until hydration

* avoiding extra HMTL noise by only including the data-astro-injected URL for svelte components

* TEMP: ubuntu CI doesn't like the svelte HMR test...

* disabling the svelte component test on ubuntu for now

Co-authored-by: Tony Sullivan <tony.f.sullivan@outlook.com>
2022-06-06 18:39:48 +00:00
Fred K. Schott
25fa0f527d
[ci] update lockfile (#3515)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-06-03 13:00:47 -04:00
Matthew Phillips
df7c43df63
Allow importing .ts files with .js extension (#3518)
* Allow importing .ts files with .js extension

* Adds a changeset

* Make it also work in .md files
2022-06-03 13:00:28 -04:00
Matthew Phillips
4a23b5aaed
provide import.meta.env.SITE when there are private envs (#3498)
* provide import.meta.env.SITE when there are private envs

* Adds a changeset

* Handle destructing of import.meta.env.SITE
2022-06-02 13:21:10 -05:00
natemoo-re
c6e7355468 [ci] format 2022-06-02 18:04:50 +00:00
Nate Moore
d41540cc77
Fix <link> tag not being self-closing (#3506)
* fix(#392): ensure link tags are rendered as void elements

* test: ensure html does not include a `</link>` end tag

* chore: add changeset
2022-06-02 13:03:37 -05:00
William Tetlow
207f58d171
fix: alias astro to @types/astro (#3503)
* fix: alias astro to @types/astro

* fix: handle resolve.alias being array

* chore: add integrations patch to changeset

* chore: remove empty file
2022-06-02 12:54:35 -05:00
Ben Holmes
2b35650b5d
Fix: newline characters in Solid (#3505)
* fix: remove source map consumption from babel transform

* refactor: move inputSourceMap to integration option

* tests: add newline ex to test build and dev

* chore: change back to babel.transformAsync

* chore: changeset
2022-06-02 13:35:03 -04:00
Matthew Phillips
d588bc4a9c
Update rollup to prevent empty slot bug (#3496)
* Update rollup to prevent empty slot bug

* Adds a changeset

* Updated lockfile

* provide import.meta.env.SITE when there are private envs
2022-06-01 12:21:32 -04:00
Fred K. Schott
cfb85ee10e
[ci] update lockfile (#3495)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-06-01 10:39:32 -05:00
natemoo-re
9a31e6f1d5 [ci] format 2022-05-31 17:17:36 +00:00
hippotastic
119ecf8d46
Fix components in markdown regressions (#3486)
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2022-05-31 12:16:43 -05:00
Fred K. Schott
c9d8b10a85
[ci] update lockfile (#3448)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-05-31 11:46:13 -05:00
matthewp
1aeb1d0a00 [ci] format 2022-05-31 15:41:24 +00:00
Matthew Phillips
efccebb964
Set the correct content-type for CSS HMR (#3459)
* Set the correct content-type for CSS HMR

* Adds a changeset
2022-05-31 11:40:34 -04:00
bholmesdev
d195f583e3 [ci] format 2022-05-30 16:19:39 +00:00
hippotastic
75fa58f13f
Fix using Vite env var names in Markdown (#3412) (#3471) 2022-05-30 12:18:43 -04:00
hippotastic
429b65d60b
Fix */ breaking HTML comments in Markdown (#3477) 2022-05-30 12:18:33 -04:00
bholmesdev
9d671d178a [ci] format 2022-05-27 20:57:04 +00:00
Ben Holmes
47d1a8d59c
Feat: markdown content.raw() and content.compiled() helpers (#3452)
* feat: add rawContent obj with html helper

* refactor: change toString to function call

* test: rawContent helpers

* chore: update MarkdownInstance type

* refactor: parseHtml -> html

* chore: changeset

* fix: remove needless async heading on content version

* fix: fixLineEndings helper on unit tests

* refactor: change api to raw and compiled

* chore: add new type to env.d.ts

* docs: JSdocs for raw and compiled

* refactor: change API AGAIN to rawContent, compiledContent

* chore: update changeset
2022-05-27 16:56:08 -04:00
matthewp
edf2838a66 [ci] format 2022-05-26 18:01:35 +00:00
Matthew Phillips
ac3c60d48d
Fix VITE_ASSET bug (#3439)
* Fix VITE_ASSET bug

* Updated test that depended on esbuild output

* Fix some more tests

* Fix css config and postcss tests

* Git client only working

* Fix static build test

* Update tailwind tests

* Fix build

* Fix css bundling tests

* Updated some more tests for windows

* Remove tests that are no longer relevant

* Cause it to break

* Fix bug and add explanation

* Adds a changeset

* Inline comments about what the hashing is doing

* Update packages/astro/src/vite-plugin-build-css/index.ts

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

* Update to the lockfile

* Minify css

* Update tailwind tests

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2022-05-26 14:00:36 -04:00
matthewp
d92d28317f [ci] format 2022-05-26 14:20:02 +00:00
Joaquín Sánchez
79b9ebc83a
feat: expose route dist URL on SSG (#3438)
* feat: expose route dist URL on SSG

* chore: add changeset

* chore: add test for `distURL`

* cleanup: remove console.log from test
2022-05-26 10:19:19 -04:00
natemoo-re
cb039219ef [ci] format 2022-05-24 22:03:29 +00:00
Nate Moore
cfae9760b2
Improve Markdown + Components usage (#3410)
* feat: use internal MDX tooling for markdown + components

* fix: improve MD + component tests

* chore: add changeset

* fix: make tsc happy

* fix(#3319): add regression test for component children

* fix(markdown): support HTML comments in markdown

* fix(#2474): ensure namespaced components are properly handled in markdown pages

* fix(#3220): ensure html in markdown pages does not have extra surrounding space

* fix(#3264): ensure that remark files pass in file information

* fix(#3254): enable experimentalStaticExtraction for `.md` pages

* fix: revert parsing change

* fix: remove `markdown.mode` option
2022-05-24 17:02:11 -05:00
Nate Moore
296fff2cff
fix: properly handle scoped class injection with spread attributes (#3384)
* fix: properly handle scoped class injection when a spread attribute is present

* chore: update lockfile

* chore: revert lockfile

* chore: update compiler

* test: add spread scope test

* test: fix spread scoped test
2022-05-24 11:58:21 -05:00
Fred K. Schott
ccaea99765
[ci] update lockfile (#3419)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-05-24 11:43:37 -05:00
matthewp
752a108808 [ci] format 2022-05-24 15:35:08 +00:00
Matthew Phillips
463a1c2147
Fix: Relative imports inside of hosited script on windows (#3423)
* Failing test

* Add some debugging

* Normalize filename to remove @fs prefix

* Adds a changeset

* Break it again

* Fix it

* Update assertion
2022-05-24 11:34:08 -04:00
Tony Sullivan
0209d6276c
Updates hydration scripts to use absolute paths (#3422)
* WIP: proof of concept fix to use absolute paths

* correct fix to handle absolute paths and config.base

* adding tests for hydration scripts with config.base

* chore: add changeset

* fix: ensure posix paths are used for Windows compat
2022-05-23 20:52:48 +00:00
tony-sull
d0720ccfb4 [ci] format 2022-05-23 16:57:55 +00:00
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