* Move the Markdown component to its own package
* Update the examples
* Updated lockfile
* Use is:raw
* Add a main field
* Update the formatting of the readme
* Rename to @astrojs/markdown-component
* Adds support for Astro.clientAddress
* Pass through mode and adapterName in SSG
* Pass through the mode provided
* Provide an adapter specific error message when possible
* <Picture /> should pass all unrecognized props down to the <img> element
* chore: add changeset
* Adding test coverage for custom <img> attributes
* chore: adding a README note for passing attributes to the picture's img
* Revert "<Picture /> should pass all unrecognized props down to the <img> element"
This reverts commit ce3e33930f.
* Picture should pass alt text to the img
* fixed header slugs in markdown if ends with a dash
* added changeset
* removes trailing dash only if slug was created
* updated test
* updated change level from patch to minor
* Vite 3 test
* deps: bump to Vite beta.1
* refactor: move to use optimizeDeps.force option
* refactor: stub out new updateModuleInfo params
* nit: remove comment on deprecated Vite feature
* nit: remove comment on deprecated vite feature
* hail mary: destroy all ssr external / noexternal!
* fix: use new middlewareMode config settings
* fix: resolve npm package paths for rollup input
* wip: revert to unresolved. Issue reported!
* sad refactor: use legacy devDepsScanner for component HMR
* fix: add astro/components to noExternal for Code component
* refactor: use ALWAYS_NOEXTERNAL array
* refactor: add package.json to all test runners for noExternal error
* deps: bump to latest vite 3 beta
* wip: add package.json to smoke
* fix: remove accidental "force true" on create-vite
* refactor: write smoke package.json programmatically
* refactor: add fontsource to noExternal
* fix: only add to ssr.noExternal if present in project
* wip: what if we just... didn't have a memory test
* deps: bump to latest vite beta
* Revert "wip: what if we just... didn't have a memory test"
This reverts commit 173729dbdc685e52881fc3333487b8f744add55f.
* fix: add type check for plugin.name
* feat: remove legacy.devDepsScanner. Vite 3 strat is now Vite 2.x strat!
* fix: add ssr.noExternal to components ex
* wip: ignore with-mdx starter
* fix: add serviceEntryPoint to ssr.noExternal
* temp: reset NODE_ENV on prod builds
* fix: missing async tag
* VITE 3 IS STABLE BABY
* deps: bump svelte to vite 3
* deps: bump vue to vite 3
* fix: resolve plugins for proper sorting
* sad fix: regex "export default" out of CSS ssr
* chore: add TODO to understand sad fix
* Revert "fix: resolve plugins for proper sorting"
This reverts commit e67c194d3a8e11070487ed325947e7c59e8d69cd.
* Revert "sad fix: regex "export default" out of CSS ssr"
This reverts commit 721d40b62b61440dc9e488787901c915579659db.
* fix: sort plugins WITHOUT resolveConfig
* Revert "wip: ignore with-mdx starter"
This reverts commit 7d4f7338e6.
* chore: revert memory test changes
* chore: add nanostores/preact ot noexternal
* chore: changeset
* chore: changeset
* deps: use Vite ^3.0.0
* fix: add back third party astro pkg scanner
Co-authored-by: bholmesdev <hey@bholmes.dev>
The `url` props was missing but should there according to [this
document](https://docs.astro.build/en/guides/markdown-content/#markdown-layouts).
The `file` props was not initially there but is quite useful when you
need to resolve file which are relative to the markdown file itself.
* Throw the error when site option is missing
* Update index.ts
* Update index.ts
* Update rss.test.js
* Update index.ts
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
* WIP: always use the built-in sharp service for local images in `dev`
* adding type definitions for the integration's use of globalThis
* simplifying the globalThis type checking
* chore: adding changeset
* removing temp hosted service used for testing
* fixed header slugs in markdown if ends with a dash
* added changeset
* removes trailing dash only if slug was created
* updated test
* updated change level from patch to minor
* fix(#3920): properly handle false in `class:list`
* fix: allow 0 in `class:list`
* fix: output empty `class:list` as `''` rather than `class=''`
Co-authored-by: Nate Moore <nate@astro.build>
- Capitalizes a few errant "markdowns" that find their way into Docs.
- Also updates "if or not" to "whether or not" since I'm here.
- Also, admittedly a point of contention, but until we decide otherwise for the entire site: a straggling "front matter" -> "frontmatter"
* Allow defining Astro components in Vite plugins
* Adds a changeset
* Move non-main compilation into load
* Use the cachedCompilation in the markdown plugin
* Fix HMR test
* Simplify getNormalizedID
* Use a windows-friendly virtual module id for the test
* Integration README fixes
* More tweaks (mostly code backticks for filenames)
* Update changeset
* Few more tweaks
* Make sure code blocks all have a code language
* Use URLs of new docs pages for package homepage
* One more stray `<br>` 👢
* Standardise to `sh` instead of `shell`
* Move client types into Astro
* Adds a changeset
* Fix path to local client
* Reference vite/client in our HMR types
* Add back in the expect-error
* Update types comment
* moving all normalization logic out of the Image component
* refactor: only require loaders to provide the image src
* Adding a `<Picture />` component
* fixing types.ts imports
* refactor: moving getImage to it's own file
* updating component types to use astroHTML.JSX
* Revert "updating component types to use astroHTML.JSX"
This reverts commit 6e5f578da8.
* going back to letting loaders add extra HTML attributes
* Always use lazy loading and async decoding
* Cleaning up the Picture component
* Adding test coverage for <Picture>
* updating the README
* using JSX types for the Image and Picture elements
* chore: adding changeset
* Update packages/integrations/image/src/get-image.ts
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* allow users to override loading and async on the <img>
* renaming config to constants, exporting getPicture()
* found the right syntax to import astro-jsx
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* feat: support adapters and third part integrations by keywords
* refactor: add keywords to all official integrations
* docs: add adapter ex to astro add help
* nit: clarify astro add usage
* nit: highlight link
* fix: use process.exit(1) on error
* chore: changeset
* nit: bold integration name
* fix: log install instructions for adapters instead
* nit: change to logAdapterConfigInstructions
* Revert "fix: log install instructions for adapters instead"
This reverts commit 1a459f152b.
* feat: add hardcoded adapter export map
* refactor: inline adapter config log
* fix: use slots inside expressions
* test: add test for conditional named slots
* test: fix incorrect test fixture
* chore: update `@astrojs/compiler`
* chore: add test coverage for `switch`
Co-authored-by: Nate Moore <nate@astro.build>
* fix: add text/plain;charset;utf-8 header in dev
* test: ensure content type for body shorthand
* chore: changeset
* feat: infer content type by pathname
* feat: add charset to prod build handler
* test: update for charset in prod build test
* Fix example on `README.md`
The example was suggesting `import deno from '@astrojs/node';` which doesn't work. It needs to be `import node from '@astrojs/node';`.
* Create itchy-bottles-rhyme.md
Co-authored-by: Peter Singh <afuzzybear@outlook.com>
* including src in npm publish
* bugfix: always round dimensions before passing to sharp.resize
* automatically add optimizeDeps vite config
* chore: changeset
* initial commit
* WIP: starting to define interfaces for images and transformers
* WIP: basic sharp service to test out the API setup
* adding a few tests for sharp.toImageSrc
* Adding tests for sharp.parseImageSrc
* hooking up basic SSR support
* updating image services to return width/height
* simplifying config setup for v1
* hooking up basic SSR + SSG support (dev & build)
* refactor: a bit of code cleanup and commenting
* WIP: migrating local files to ESM + vite plugin
* WIP: starting to hook up user-provided loaderEntryPoints
* chore: update lock file
* chore: update merged lockfile
* refactor: code cleanup and type docs
* pulling over the README template for first-party integrations
* moving metadata out to the loader
* updating the test for the refactored import
* revert: remove unrelated webapi formatting
* revert: remove unrelated change
* fixing up the existing sharp tests
* fix: vite plugin wasn't dynamically loading the image service properly
* refactor: minor API renaming, removing last hard-coded use of sharp loader
* don't manipulate src for hosted image services
* Adding support for automatically calculating dimensions by aspect ratio, if needed
* a few bug fixes + renaming the aspect ratio search param to "ar"
* Adding ETag support, removing need for loaders to parse file metadata
* using the battle tested `etag` package
* Adding support for dynamically calculating partial sizes
* refactor: moving to the packages/integrations dir, Astro Labs TBD later
* refactor: renaming parse/serialize functions
* Adding tests for SSG image optimizations
* refactor: clean up outdated names related to ImageProps
* nit: reusing cached SSG filename
* chore: update pnpm lock file
* handling file URLs when resolving local image imports
* updating image file resolution to use file URLs
* increasing test timeout for image build tests
* fixing eslint error in sharp test
* adding slash for windows compat in src URLs
* chore: update lockfile after merge
* Adding README content
* adding a readme call to action for configuration options
* review: A few of the quick updates from the PR review
* hack: adds a one-off check to allow query params for the _image route
* Adds support for src={import("...")}, and named component exports
* adding SSR tests
* nit: adding a bit more comments
* limiting the query params in SSG dev to the images integration
* Adding a flag to disable HTTP streaming
* refactor: adding support for SSG builds
* handling string responses in the server runtime, adding tests
* removing streaming CLI flag
* removing import.meta.env.STREAMING
* include Content-Length header when streaming is disabled
* Verifying content-length header in dev
* fix: default streaming to enabled in the base App server
* TEMP: disabling the production test to investigate the test-adapter
* re-enabling the test with an adapter option to disable streaming for the test
* fix: use the existing TextEncoder to get the body's byte length
* moving config to build.streaming, ignoring it in `dev`
* fixing dev test to expect response streaming
* chore: add changsets
* removing the new config option all together 🎉
* remove temp debug log
* Updating astro changeset now that streaming isn't a config option
* fix: don't throw an error when the lit renderer doesn't provide a clientEntrypoint
* updating the framework-lit example to match new behavior
* fix: updating the playground example to latest lit syntax
* Add preact/compat renderer (likely broken)
Based on the current Preact renderer and the old preact/compat implementation: f892aeb52f/packages/renderers/renderer-preact/compat/index.js
* Make sure name is consistent
* Switch to single integration with compat option
* fix: add module-resolver to alias react => preact/compat
* fix: preact/compat mode
* chore: remove client-compat entrypoint
* chore: add e2e test for preact/compat
* Try to fix frozen lock file error
* Add changeset
* Update README to new structure & document `compat`
* Fix changeset wording
* Fix README typo
* Tweak wording
Co-authored-by: Kevin Zuniga Cuellar <46791833+kevinzunigacuellar@users.noreply.github.com>
Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
Co-authored-by: Kevin Zuniga Cuellar <46791833+kevinzunigacuellar@users.noreply.github.com>
* Adds a basic @astrojs/prefetch integration
* adding tests for custom selectors
* missed in last commit
* Adding a few docs, removing the option for `selectors` to be an element array
* adding an option for the concurrency limit
* fixing test for updated integration options
* Update packages/labs/prefetch/src/client.ts
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* nit: removing the NodeJS.Timer type to allow typescript to infer the return
* updating docs for default selector with ~=
* Skip prefetching on 2G connections, or when data saver is enabled
* refactor: moving to packages/integrations, Astro Labs TBD down the road
* README typo fix
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* feat: add private `addPageExtensions` hook
* feat: experimental JSX support
* chore: remove experimental.jsx option from config
* chore: remove automatic astro JSX runtime detection
* fix: throw warning when client:* directive is used but no client entrypoint is found
* feat: add slot support to renderer
* chore: remove client entrypoint from jsx renderer
* test: add barebones JSX test
* test: add frameworks-in-jsx test
* feat: improve error message when no matching import is found
* feat: support slots
* fix: do not strip `astro-slot` when using JSX renderer
* fix: handle null values in isVNode
* fix: do not transform slots for elements
Co-authored-by: Nate Moore <nate@astro.build>
* Start of streaming
* New lockfile
* Base should be Uint8Arrays
* Remove the ability to throw from a component
* Add a warning when returning a Response from a non-page component
* Adds a changeset
* Added test for dir in astro:build:done
* Added changeset
* Change pathname for Windows
* Change changeset generated file summary
* Eliminate testing of branches by os
* Eliminate OS dependence
* Change changeset generated file summary
* Using fileURLToPath
* Cross-platform fixes.
* Use posix for everything.
* Pass an empty string for relative from
* Use path.join for the correct value
* Update packages/astro/test/static-build-dir.test.js
* Update packages/astro/test/static-build-dir.test.js
* Update packages/astro/test/static-build-dir.test.js
* Remove trailing slash
* add toString
* fix syntax error
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* feat: pass all slots to renderers
* refactor: pass `slots` as top-level props
* test: add named slot test for frameworks
* fix: nested hydration, slots that are not initially rendered
* test: add nested-recursive e2e test
* fix: render unmatched custom element children
* chore: update lockfile
* fix: unrendered slots for client:only
* fix(lit): ensure lit integration uses new slots API
* chore: add changeset
* chore: add changesets
* fix: lit slots
* feat: convert dash-case or snake_case slots to camelCase for JSX
* feat: remove tmpl special logic
* test: add slot components-in-markdown test
* refactor: prefer Object.entries.map() to for/of loop
Co-authored-by: Nate Moore <nate@astro.build>
* Inline small hoisted scripts
This makes it so that small hoisted scripts get inlined into the page rather than be fetched externally.
* Ensure we don't inline when there are imports
* Fix ts
* Update tests with new url structure
* Adds a changeset
* enabling eslint on the all packages and tests
* enabling for all packages
* TEMP: adding an only() test to verify it fails CI
* using our eslint config and ignore in CI
* removing the temporary .only() test
* update lock file
* lint: fixing new test with a no-shadow warning
* chore: update lock file
* Support re-exporting astro components containing client components
* Include metadata for markdown too
* Fix ssr, probably
* Inject post-build
* Remove tagName custom element test
* Allows using the constructor for lit elements
* Fix hoisted script scanning
* Pass through plugin context
* Get edge functions working in the edge tests
* Fix types for the edge function integration
* Upgrade the compiler
* Upgrade compiler version
* Better release notes for lit
* Update .changeset/unlucky-hairs-camp.md
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* Properly test that the draft was not rendered
* Prevent from rendering draft posts
* Add a changeset about the build perf improvement.
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
* 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
* fix: filter out falsy integration from telemetry
Falsy integrations are now ignored in `@astrojs/telemetry`
This error should no longer occur,
```ts
error Cannot read properties of null (reading 'name')
at file:///workspaces/bundle/node_modules/.pnpm/@astrojs+telemetry@0.1.2/node_modules/@astrojs/telemetry/dist/events/session.js:53:117
...
```
* ci: add tests for optional integrations
* ci: add changeset
* fix(@astrojs/telemetry): count number of optional integrations in use
* ci: add test for counting the total number of optional integrations in use
* ci: update changeset
* chore: make the changes @tony-sull sugested
* revert(@astrojs/webapi): mod.d.ts -> a4c78b5: [ci] format
* ci: remove `@astrojs/webapi` patch change
* chore(@astrojs/telemetry): remove totalIntegrations payload field
* fix(@astrojs/telemetry): add optional integrations field
* ci: add changeset
* Adding support for base64 encoded responses in Netlify Functions
* chore: add changeset
* removing the regex check for a more simple header-based check
* nit: cleaning up the readme a bit
* 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
* Update MarkdownInstance type
The return of the `default` function includes the same `frontmatter`
data as the parent object, merged with the `astro` data. The inclusion
of that frontmatter type was previously not recognized by TS, and fell
back to a `Record<string, any>`. This change persists the more accurate
type, as the runtime code does.
* fixup! Update MarkdownInstance type
(This change is what I'd personally do, but I don't really know how you
expect people to use `MarkdownContent` in practice, or if there is some
deeper benefit you wish to exploit by leaving it as an interface instead
of a type.
* 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
* fixing reliability issue in component HMR tests
* fix: test change snuck into the last commit
* TEMP: logging to track down ubuntu CI failure
* disabling svelte test for now
* reverting unrelated .d.ts change
Changed astro.config.js text to a link to the supported config file types, since above it appears astro.config.mjs and mixing extensions could lead to confusion (plus in that page linked we can see the valid extensions)
* 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
* 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
* 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
* 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>
* chore: fix typo in remark tests
* test: add test cases for markdown expressions in header
* fix: avoid evaluating JSX-like expressions inside inline code in heading
* fix: generate slug for id including values in backtick blocks
* 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
* test commi
* add video
* test video include
* actually close the tag
* try directly pasting the video link
* remove the quote I forgot about
* figured out how to properly upload a video to github
* remove unneeded media directory
* why tailwind
* Installation and Usage
* Troubleshooting
* Add examples section
* Update packages/integrations/tailwind/README.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Update packages/integrations/tailwind/README.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Update packages/integrations/tailwind/README.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* Update packages/integrations/tailwind/README.md
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* TOC + layout tweaks
* separated, and example re: warning to not use Tailwind with other styling method
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
* WIP: the leading /@fs broke script HMR
* Revert "WIP: the leading /@fs broke script HMR"
This reverts commit 84fce366268033261369aed48f909e59e78bf3e4.
* Metadata needs to strip off /@fs from hoisted script URLs
* adding a test for hoisted script HMR support
* removing 2 second timeout on navigation, allow default 30 seconds
* simplifying the hoisted script test sync
* TEMP: bubbling up console logs to track down windows failure
* removing temp logging
* disabling the test on windows for now
* chore: adding changeset
* 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
* 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>
* 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
* 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
* 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
* refactor: make node-fetch external in rollup build
* deps: make node-fetch standard dep
* refactor: switch to node-fetch pkg ref in fetch.ts
* chore: changeset
* chore: bump webapi to minor change
* 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...
* 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
* 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.
* 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
* 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
* 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
* 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
* 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
* Add config option customPages
Add config option customPages to be able to add custom URL pages to the sitemap.xml
* add comment to document customPages option
* 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
* feat: add git init step
* fix: update unit tests
* feat: simplify next steps for copy pasteability
* docs: add clarifying comment on test stdin spoofing
* docs: remove "empty" from git repo message
* fix: update git step text for test
* fix: remove redundant --dryrun flag
* refactor: simplify next steps with &&
* chore: changeset
* refactor: simplify dir error log to avoid wrapped text
* refactor: remove redundant "issue" callout
* chore: changeset
* chore: update tests for new dir log
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
* wip: add prompt for directory with validation
* feat: wire up dir response to cwd
* feat: improve error handling on non-empty dirs
* fix: update test helpers to execaSync
* chore: add .skipped to old tests for clarity
* deps: add mocha and chai to create-astro
* feat: add directory step test with fixture
* feat: update turbo to run create-astro tests again 🥳
* chore: changeset
* `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>
* feat: human-readable error on bad site or base
* fix: human-readable error should have 1 config option
* docs: update README
* chore: changeset
* docs: mention localhost for testing via netlify CLI
* 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>
* Add verbose logging to create-astro
* Tell user to use the verbose flag when encountering the MISSING_REF error
* Create changeset
* Add information in README
* Format
* Use switch statement instead of if and if else blocks
* Update packages/create-astro/src/logger.ts
Make if statement easier to read
Co-authored-by: Evan Boehs <evan@boehs.org>
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