* 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
* 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
* Add new configKeys prop for telemetry
This property lets us known which AstroConfig keys are being used, for anonymous telemetry.
* Adds a changeset
* Restructure how the telemetry event is shaped
* 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
* 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>
* new readme
* New readme plus (#3239)
* Test light/dark
* More tests
* test
Co-authored-by: JuanM04 <me@juanm04.com>
* style the readme
Co-authored-by: JuanM04 <me@juanm04.com>
* 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>
* 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
* 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
serialize-javascript relies on random-bytes and random-bytes relies on nodes crypto module, unfortunately the crypto module isn't available on the browser, so it breaks the repl. When one tries to upgrade the repl to the latest version of Astro, the browser complains about the missing crypto module. The changes shouldn't affect the behaviour of Astro in any meaning full way.
* 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
* 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
* `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>
* 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
* 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
* Added schemas to markdown plugin
* Added new schemas to main package
* Changesets
* typeraw
* Explaination about the weird type hack
* Added markdown.mode to config
* Added comment
* Formatted
* Moved validation to `astro` and added RemarkPlugin ad RehypePlugin
* Removed the ability to have a custom markdown renderer internally
* Fixed plugin type
* Removed unused renderMarkdownWithFrontmatter
* Added missing dependency
* Dynamically import astro markdown
* Cache import
* chore: updated turborepo
* Revert changes to turbo.json
* Simplified test command
* tests should run serially
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* 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>
* 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?
* So This works 😎
* need to add to the cli next
* Renamed Files and Export
Applied creditation to where I found the
'inspiration' for this application.
* applied `astro docs` to cli
* Trying to add to CLI,
Not working 🤷♂️
* Converted into async method,
* 🎆🎆 It works!!! 🥳🎉🥳
Embarrasing as it is I totally missed the part where logic was to be in.
* Moved `docs` cmd to `supportedCommands`
* refactor: cleanup docs command
* chore: add changeset
* chore: rename browser to open
Co-authored-by: Nate Moore <nate@skypack.dev>
* updating the default listed in config jsdocs
* chore: adding changeset
* outDir had the wrong default listed as well
* chore: updating changeset description
* 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>
* 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>
* 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>
* 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
* 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>
* 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>
* Fix type of `integrations` in config
As per [docs](https://docs.astro.build/en/reference/integrations-reference/#combining-plugins), an integration can return an array of `AstroIntegration` objects to support bundling a collection of integrations as a preset. This change reflects that usages in the typing for the user config object.
* Add changeset
* 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
* Netlify adapter
* Remove package.json export that doesnt exist
* Fix out path
* Make netlifyFunctions the default
* Make the dist configurable
* Add an export for the functions
* Append of the file exists
* 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
* 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
* feat: log setup, vite, and route gen steps
* refactor: add back "build" + timestamp for consistency
* feat: improve ms increase logs to match old debug output
* feat: add log for server assets
* chore: remove redundant debug logs
* feat: add logs for ssr steps
* fix: hide per-page log for ssr builds
* fix: hide "index.html" from debug log in SSR
* feat: add log for "collecting page data" step
* feat: add timeout logs for longer data imports
* chore: add changeset
* remove (includes setup + teardown)
* refactor: add newline to separate ssr from client build
* fix: move "gen static routes" heading to pages
* fix: only show client build ms when triggered
* fix: remove dup render loop
* chore: remove unused static-build imports
* 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
* 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
* 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>
* 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
* 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>
* fix: missing style imports on initial load
* chore: changeset
* fix: update comment on using URL map
* fix: use getModulesByFile to match on ID properly
* refactor: use imperative loop for performance
* fix: update scan from each matching mod
* fix: update scan from importedMod loop
* fix: avoid scanning all related mods
* 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
* cleanup our fs util usage
* fix fs url support for node v14
* update to fix windows
* making sure the dir exists before calling readdirSync
* chore: remove debug code
Co-authored-by: Tony Sullivan <tony.f.sullivan@outlook.com>
Co-authored-by: Nate Moore <nate@skypack.dev>
* 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>
* 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>
This commit fixes the bug when returning an empty Fragment which makes
it undefined. This is because unescapeHTML (raw) will create a String object
with an 'undefined' string.
To fix this we need to check if the `children` is null or undefined
before marking a string as raw.
* 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
* Add a memory leak test
* Add memory leak smoke test to CI
* Update the latest compiler
* Update yarn.lock
* Remove entries optimization
* Calculate as 5% higher
* 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
* 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
* 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
* 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
* 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
* [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>
* refactor dev to use vite server
* refactor the route cache and other build internals
* use debug package for debug logs (#2504)
Co-authored-by: Matthew Phillips <matthew@matthewphillips.info>
* standardize trailing subpath, and fix fetchcontent issue
* debug windows ci
* improve ci test
* fix windows test issue?
* fix only usage
* end debugging
* 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
* Fix HMR in static build + @import HMR
* Changeset
* Add a comment on what cleanUrl is doing
* Running prettier
* Improve comments on how the static build compilation
works differently.
* 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
* 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>
* 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
* Supports hoisted scripts in the static build
* Adds a changeset
* Update packages/astro/src/core/build/internal.ts
Co-authored-by: Evan Boehs <evan@boehs.org>
* Update based on feedback
* Fix lint
* Fix getting hoist script for Windows
* Try with the pre compiler
* use compiler 0.8.2
* update compiler version
* update yarn.lock
Co-authored-by: Evan Boehs <evan@boehs.org>
* [ci] collect stats
* [ci] update lockfile (#2388)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
* Fixes for blog and docs examples (#2373)
* Fixes for blog and docs examples
* Adds a changeset
* Upgrade the compiler version
* Use a global style tag
* Skip on windows temporarily
* [ci] yarn format
* Fixes Lit support in the static build
* Adds a changeset
* test
* Upgrade lit-labs/ssr
* Conditional
* Testing again
* remove debugging code
* changeset
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* Fix use of frameworks in the static build
* Adding a changeset
* fix typescript
* Empty out the directory before running the builds
* Use a util to empty the directory
* Only empty the outdir if needed
* Move prepareOutDir to its own module
* Prepare outDir is actually sync
* Fix: static-build with .md pages
This fixes the `--experimental-static-build` flag to work with markdown
pages.
* Adds a changeset
* Account for difference in specifier on windows
* Fix issue with plugins running twice in dev and build
* nit: only patch plugins
* nit: only patch plugins
* nit: only solve for create-vite
* nit: only solve for create-vite
* Create seven-mice-do.md
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* Handle loading the Code package
Fixes#2329
* Use Code the normal way
* Adds a changeset
* Only resolve browser path if there is no common ancestor
* Update examples/fast-build/src/pages/index.astro
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Fix subpath support regressions
* Adds a changeset
* Update tests to reflect relative URL change
* Pick a different port and hopefully windows works
* Remove bad lint warning
* Better handling of relative paths
* or
* Fixes use with pageUrlFormat
* Update the pageDirectoryUrl test
* Revert "Revert "Implement hydrated components in the static build (#2260)""
This reverts commit 17ac18e88c.
* Only resolve specifiers in the static build
* Adding a changeset
* Fix the client-only test
* Move english pages under `/en` and fix broken links hopefully
* Add meta refresh tags for `/` to `/en/` url moves + make `/index.astro` work without js
* update languageselect for new en format
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* Don't overwrite the stack when using verbose logging
This makes it so that if the compiler panics and `--verbose` logging is
on (debug level), we don't replace the stack trace.
* Adds a changeset
* Work on removing vite-postprocess
* Gets hydration totally working
* Formatting
* Update based on PR comments
* Bring back vite transform for non-static builds
* Upgrade compiler version
* Update the client-only test
* Add debugging for windows
* More debugging
* Pass pathname into the markdown plugin as well
* Include vite changes
* Revert "Include vite changes"
This reverts commit dee6348b233b6d6c6fea1e4dcc41c98c0452846c.
* Don't run dev mode tests on windows
* Debugging
* chore(lint): Prettier fix
* remove the throw
* Skip a different way
* chore(lint): Prettier fix
* Skip the error test on windows too
* chore(lint): Prettier fix
* Move the after into the closure
* chore(lint): Prettier fix
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Progress on build demo
* Go back to ESM
* Some more progress on the new build
* More progress here
* Add support for hot reload
* Almost done
* Remove debugging stuff
* chore(lint): Prettier fix
* Pass through the origin
* Do not use ssr mode
* Use the logger
* chore(lint): Prettier fix
* Update yarn lock
* Fix types
* Only build chunks that are astro pages
* Debugging windows
* Prevent compilation race condition
* Read the file if not found in the cache
* Give a better error message when we can't find a page
* chore(lint): Prettier fix
* Fix windows maybe
* chore(lint): Prettier fix
* Some more windows debugging
* chore(lint): Prettier fix
* Remove console logs
* More debugging
* chore(lint): Prettier fix
* More debugging info
* chore(lint): Prettier fix
* Remove logging again
* Try to prevent port conflicts
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Create sandbox.config.json specifying port 3000
* Update sandbox.config.json
* Create sandbox.config.json for blog example
* Create sandbox.config.json for multiple authors blog
* added sandbox config to portfolios
* [ci] yarn format
* added sandbox.config.json to more frameworks examples
* [ci] yarn format
* reverted default rss to rss.xml
Co-authored-by: sarah11918 <sarah11918@users.noreply.github.com>
* fix: inject `fetch` only if not declared
* test: improve fetch test
* chore(lint): Prettier fix
* chore: trigger ci
* fix: improve type narrowing
Co-authored-by: GitHub Action <github-action@users.noreply.github.com>
* Make aliases work on windows
Change all occurrences of path.posix to path.
* Remove console log statement
* Update index.ts
* Update index.ts
* Update index.ts
* Edit changeset
* Makes Astro.resolve return root-relative paths
* Adds a changeset
* Update the compiler version and PR review
* Fix linting
* [ci] Prettier fix
* Remove use of vitifyURL
Co-authored-by: GitHub Action <github-action@users.noreply.github.com>
* Adding check to make sure the hydration directive is valid
* remove temp debug logging
* Adding a check for media query with client:media + small refactor
* adding changeset
Co-authored-by: Tony Sullivan <tony.sullivan@hyperlab.se>
* Render void elements as self-closing tags
* changeset
* nit: only check void element names if there is no child content
* nit: only check void element names if there is no child content
* add tests
* add logos for github dark mode
* Hot fix (gh-*-mode-only) issue
"that's an issue with wrapping an image in a link. We are currently still looking into how to best solve this. However, you can do the following which should work."
- dipree
* delete <td> 'cuz it was duplicate
* Bring back building of non-hoisted scripts
Scripts inside of src/, whether hoisted are not should be built. This
makes that so. If not hoisted they do *not* get bundled together, but
rather are their own standalone modules. This matches 0.20 behavior.
Closes#1968
* Adds a changeset
* Fix windows breakage
* Debug windows
* More debugging
* make it not be parallel
* More windows
* Might fix it
* ARG
* Simpler test
* Remove the debugging
* fix(lit-renderer): reactive props not init correctly
* test(renderer-lit): implement testing suggestiosn
* chore(renderer-lit): upload changeset
* fix(renderer-lit): call connCallback on server
* fix(renderer-lit): do not set reserved JSX props
* fix(renderer-lit): do not check for reserved attributes
Co-authored-by: Nate Moore <nate@skypack.dev>
* Re-add smartypants
* Updated packages
* Remove all the default plugins if there are either remark or rehype plugins
* Replace deperecated remark-slug with rehype-slug
* Added MarkdownParserResponse type
* Update documentation
* Removed type import from markdown package
* Updated remark-smartypants
* Changelog
* Missed one change
* Split changelogs
* Upgraded some MDX dependencies
* Fix typos in documentation
* Changed CHANGELOG.md package name
* Renamed smartypants
* Make Debug use the Code component
* Use a random port so parallel testing works
* some debugging
* Skip these tests for now
* Dont run these tests on osx
* Fix error handling in correct scope
Also improve Vite IDs for better module graph lookups
* Improve code frame
* Add changeset
* maybeLoc can be undefined
* Add tests
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
* Support custom elements
Support non-object/non-function components
* fix: ensure component is not string before throwing
Co-authored-by: Nate Moore <nate@skypack.dev>
* Support for using a subpath
* Update the readme
* Fix the package name
* Adds a changeset
* Ensure that public/ must be loaded from the subpath
* Update preview to use the new paths
* Use exact compiler version
* Use the newest version
* Use range again
* Use newer range
* Bundling CSS
* Current progress of building assets
* New build progress
* Its finally working
* Force css to go through the build
* Prettier filenames
* Split into separate CSS and HTML plugins
* Always have at least one input
* Bring back in sitemaps + output
* Bring back srcset support
* Bundle CSS
* Bring back minify
* Update dynamic tests
* Update remaining tests
* Linting
* Fix remaining broken test
* Use fs directly
* Adding a changeset
* Use path.posix
* Debugging windows
* More debugging
* Pass URLs into readFile
* Remove some debugging stuff
* Remove force flag from transformWithVite
* Update packages/astro/src/vite-plugin-build-css/index.ts
Co-authored-by: Drew Powers <1369770+drwpow@users.noreply.github.com>
Co-authored-by: Drew Powers <1369770+drwpow@users.noreply.github.com>
* Revert "Revert "feat: improve `astro.config` loading by support `.cjs`, `.js`, and `.ts` files""
This reverts commit a26f7a2088.
* fix: throw when filename is specified but not found
* chore: @proload/core@0.2.1
* refactor: simplify to use Proload's filePath option
* fix: move to @proload/plugin-tsm
* Update packages/astro/src/core/config.ts
Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
* Small refactor to the runtime
* Update packages/astro/src/runtime/server/index.ts
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Update packages/astro/src/runtime/server/index.ts
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Update packages/astro/src/runtime/server/index.ts
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Update packages/astro/src/runtime/server/index.ts
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Update packages/astro/src/runtime/server/hydration.ts
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Improve based on review comments
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* make astro-root uids unique
* Move Astro to Vite
* Update tests
* More test improvements
* fred fixes
* Update compiler, improve tests
* Fix runtime, improve code frame
* Add Markdown support
* Tycho fixes
* Fred fixes part 2
* Throw Error for WIP Features
* Improve testing suite
* Allow users to pass config to Vite
* Fix npm install (#1407)
* Automate publish on merge (#1408)
* Add NPM_TOKEN to publish script (#1409)
* Create .npmrc
* Clean up astro deps (#1411)
* Use new renderers (#1412)
* feat: update compiler (#1421)
* Try mocha/chai test runners (#1418)
* Try mocha/chai test runners
* Disable failing smoke test for now
Will revert when next can build docs
* Enable mocha in parallel mode
* Remove warning
* Update docs
* Fix Windows bug
* Fix internal imports
* Fix styles
* Fix CI release on merge to next (#1427)
* Fix logger locale parsing (#1439)
* fix(logger): locale parsing
* Fixed issue of compiler crash when "c" locale was encountered
* Return default locale if parsed locale is less than 2 chars long
* chore: add changeset
* Apply changes from #1387
* Add back in support for children (#1486)
* Add back in support for children
* Be more careful
* Enables most slot tests (#1494)
* Enables most slot tests
* Use spreadAttributes
* Add hydration to Solid renderer (#1479) (#1495)
* feat: add hydration to Solid renderer
* fix: intersection observer, move script to the end
Co-authored-by: Ryan Carniato <ryansolid@gmail.com>
* [next] support Astro.slots API (#1516)
* [next] Support for custom elements (#1528)
* [next] Support for custom elements
* Fix eslint errors
* eslint again
* [next] Fix Astro.fetchContent (#1480)
* fix Astro.fetchContent
* fix(fetchContent): cast type
Co-authored-by: Nate Moore <nate@skypack.dev>
* Move hydration to the compiler (#1547)
* Move hydration to the compiler
* Move extracting url, export to util fn
* Brings back astro-dynamic tests (#1548)
* Implements top-level Astro + Astro.resolve (#1556)
* Implements top-level Astro + Astro.resolve
* Fix linting
* [next] Update renderers (#1509)
* chore: update vite
* fix(renderers): point renderers to resolved server/client entrypoints
* Chore: Enable more tests with new compiler changes (#1558)
* [Next] `fetch` support (#1563)
* fix: polyfill fetch in every ssr scenario
* test(fetch): update fetch tests
* docs: update data fetching guide to remove caveats about `fetch` and isomorphic usage
* refactor: update regex for clarity
* Restructure (#1569)
* Upgrade to @astrojs/compiler 0.2.0 (#1584)
* Use Vite fork (#1585)
* Use Vite fork
* Fix linting
* Move Vite to vendor/ and add a license
* Fix linting
* Include the dist folder
* Update files config
* Markdown compilation (#1593)
* Markdown compilation
* remove debugger
* Gets lit hydration working (#1595)
* Gets Astro.fetchContent compilation to work (#1596)
* Gets Astro.fetchContent compilation to work
This fixes Astro.fetchContent so that we handle esbuild transforming the
name of the nested Astro call.
* Remove debugging
* Update the tests
* Remove another debugger
* Update Vite to latest (#1597)
* Add Prism syntax highlighting (#1598)
* Scoped styles with markdown (#1599)
* Bugfix: fix getStaticPaths() cache miss (#1602)
* Fix build order (#1609)
* Bugfix: restore build to get all paths earlier, when build. Same as main.
* Also re-add timings
* [next] blog example fully working (#1610)
* Add environment variables docs (Closes#873) (#1587)
* Added environment variables docs (Closes#873)
* Fixed prefix
* Remove numbered comments (#1611)
* Chore: remove numbered comments
* Clean up block comments
* comment style fixes (#1614)
* [next] Upgrade compiler (#1619)
* [next] Upgrade compiler
* Upgrade to latest compiler
* Fix the path to global css
* Removed debugger
* feat: add fragment support to vite-plugin-astro (#1600)
* [next] fix `.tsx` handling (#1620)
* fix: support tsx in JSX plugin
* fix: preserve JSX via esbuild, only use Babel for JSX compilation
* fix: handle upcoming Vite API for `ssr` flag
* [next] Add CSS preprocessing (#1589)
* Add concept for style support in Astro
* Update style preprocessor to use new compiler
* fix: massage preprocessStyle type
* fix: @astrojs/compiler types
Co-authored-by: Nate Moore <nate@skypack.dev>
* fix issues in blog-multiple-authors (#1621)
* Move Sass to deps (#1622)
* Update renderer API for Vite (#1623)
* Update renderer API for Vite
* Fix lit-element tests
* Clean up comments
* Throw friendly error if renderer provides viteConfig in a bad format
* Fix changesets (#1628)
* Remove cheerio scanning from build stats (#1629)
* Minor change to jsxTransformOptions, update Renderer API docs (#1630)
* [next] docs example fully working (#1627)
* [next] docs example fully working
* Upgrade compiler to unlock docs
* Add `class:list` directive (#1612)
* Add support for class:list directive
The `class:list` directive serializes an expression of css class names. For React components, `className:list` is also supported.
* Remove `className` support and React tests
* Add tests for the absence of omitted classes
* fix: `define:vars` scoping for styles (#1632)
* feat: fix Debug component (#1633)
* [next] Fix `<Markdown>` component (#1631)
* fix: cleanup issues with <Markdown> component
* fix: fix `content` usage with Markdown
* [next] Fix `<Code>` component (#1635)
* fix: enable Code component
* test: update expect to chai format
* Fixes solid (#1634)
* Fixes solid
* Rename the test
* Rebase with next
* Skip solid test for now
* Add support for markdown plugins (#1650)
* Fix broken next release (#1652)
* Prevent passing to Svelte components
* Prevent passing class to Vue components
* Add CSS injection, fix portfolio example (#1648)
* Fix portfolio example
* Add .pcss extension
* Update load ssr opts
* Update packages/astro/src/runtime/server/index.ts
Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
* Fixes external HMR (#1654)
* Upgrade compiler version (#1655)
Fixes docs and blog examples
* Resolve renderers relative to the projectRoot (#1659)
* Template fixes (#1656)
* fix: dedupe hashes for identical islands (#1660)
* fix: scope `define:vars` to `:root` for `<style global>` (#1663)
* chore: update compiler to latest (#1664)
* [next] fix island hydration inside of `<Markdown>` (#1665)
* fix: create rehype plugin to smooth over island hydration bugs
* refactor: remove debug code
* chore: explain need for `rehypeIslands`
* Bugfix: renderer-lit missing files on npm (#1669)
* Force Vite to rebuild dependencies (#1670)
* [next] Add `preact/compat` renderer (#1668)
* feat: add preact/compat entry for `@astrojs/renderer-preact`
* Update index.js
* Bugfix: plugin-astro-fetch tries to append node-fetch to node-fetch (#1671)
* Fix Vite race condition (#1674)
* Fix with-nanostore deps (#1675)
Adds missing Solid renderer
* [next] Fix `resolveDependency` on Windows (#1666)
* fix: Windows issue with resolveDependency util
* chore: add comment
* Update CONTRIBUTING.md (#1677)
* Prevent scanning a user's deps (#1678)
* Prevent scanning a user's deps
* Remove unused things
* remove unused util
* Adding a changeset for the remark plugin
* Config changes needed for stater template (#1680)
This does 2 things:
1. Adds prismjs as a dep.
2. Adds shiki as an external.
* Next bugs (#1681)
* fix(#1679): hoisted <script> rendering
* fix(#1679): do not print global for styles, but do for scripts
* fix: update ObjectSet implementation
* fix: dedupe elements in sets
* [next] update compiler (#1683)
* chore: update compiler
* chore: update compiler (again)
* Fix Astro HMR bottleneck (#1684)
* Bugfix: JSX renderers can be declared in any order (#1686)
* chore: update compiler (#1690)
* Exclude lit-server from being optimized (#1691)
This should get the lit example working from `npm`.
* fix: exclude all renderer server entrypoints (#1692)
* chore: update compiler (#1705)
* fix: do not crash when Markdown has no content (#1702)
* feat: improve support for third-party React packages (#1701)
* Remove prism warning when no language is provided (#1703)
* Remove prism warning when no language is provided
* Add the plaintext language instead
* retry deploy
* chore: enter prerelease mode under `next` (#1707)
* Updates to the changesets (#1708)
* Updates to the changesets
* Adds a changeset for astro-prism
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
Co-authored-by: Nate Moore <nate@skypack.dev>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Pranav Karawale <52596591+obnoxiousnerd@users.noreply.github.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: Matthew Phillips <matthew@matthewphillips.info>
Co-authored-by: Ryan Carniato <ryansolid@gmail.com>
Co-authored-by: AsyncBanana <58297401+AsyncBanana@users.noreply.github.com>
Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
* Adds the `astro check` command.
This adds `astro check`, which runs type checking (and general error
checking) on Astro projects.
* print the number of errors found
* Adds a changeset
* Add cli docs
* Upgrade the language server version
* Prevent linting the console.logs
* Updated srcset checking
Improved functionality of `srcset` checking as original failed when URL contained a comma ( `,` ).
Utilised function from [srcset-parse](https://github.com/molefrog/srcset-parse) as couldn't find a way to integrate the package.
Added test to current assets test rather than create a separate one.
* Use srcset-parse
Co-authored-by: Coel May <82788995+coelmay@users.noreply.github.com>
* Expose slots to components via Astro.slots
* test: Add Astro.slots API tests
* docs: Document Astro.slots API
* docs: Duplicate Astro.slots documentation to other api-reference markdown
* Update proposal to use booleans, based upon RFC feedback
* update implementation & tests based on request
* changeset
* Prevent removing nodes, becasue styles preloading was detected earlier
* Add separate deduping for preloads and cover it with tests.
* Create quiet-horses-turn.md
* Test merging preload tags
* Implementation of hoisted scripts
* Use the facade id
* Adds docs on hoisted scripts
* Don't try to run rollup if there are no hoisted scripts
* Handle scripts possibly being undefined (client:only)
* Get rid of changes to the portfolio example
* Adds a changeset
* Remove a todo
* Fix lint errors
* Rename TransformResult property to hoistedScripts
* Move Hoisted Scripts docs to astro-components page
* Fixes lint errors
* Fix path join for windows
* Upgrade @astrojs/markdown-support deps and update types
* Add changeset
* Update changeset
* Switch astro-markdown-plugins example to use rehype-autolink-headings
Usage of remark-autolink-headings is discouraged in favor of the rehype counterpart: https://github.com/remarkjs/remark-autolink-headings\#remark-autolink-headings
* Add stricter types for unified plugins
This includes a few suggestions from a code review:
- use vfile.toString instead of vfile.value.toString
- refactor plugins to follow unified best practices instead of returning functions that return a plugin
- use any instead of any[] for plugin options types
* Narrow down types to more specific hast or mdast typings
* Adding support for client:only hydration
* Adding documentation for client:only
* Adding changeset
* Updating the test to use a browser-only API
* Adding a browser-specific import script, this reproduces the issue where client:only imports must be removed
* typo fix
* removing mispelled test component
* WIP: delaying inclusion of component imports until the hydration method is known
* WIP: tweaking the test to use window instead of document
* When only one renderer is included, use that for client:only hydration
* temporary test script snuck into the last commit
* WIP: adding check for a client:only renderer hint
* refactor: Remove client:only components instead of delaying all component import statements
* Updating the changeset and docs for the renderer hint
* refactor: pull client:only render matching out to it's own function
* Updating renderer hinting to match full name, with shorthand for internal renderers
Co-authored-by: Tony Sullivan <tony.f.sullivan@gmail.com>