// import { describe, it, expect } from "bun:test";
// import {
// throws,
// assert,
// strictEqual,
// createCallCheckCtx,
// createDoneDotAll,
// } from "./node-test-helpers";
// describe("NodeTestHelpers.throws()", () => {
// it("should pass when the function throws", () => {
// throws(() => {
// throw new Error("THROWN!");
// });
// });
// it("should fail when the function doesn't throw", () => {
// let err;
// try {
// throws(() => {}, Error);
// } catch (e) {
// err = e;
// }
// expect(err instanceof Error).toBe(true);
// });
// });
// describe("NodeTestHelpers.assert()", () => {
// it("should pass when the provided value is true", () => {
// assert(true);
// });
// it("should fail when the provided value is false", () => {
// let err;
// try {
// assert(false);
// } catch (e) {
// err = e;
// }
// expect(err instanceof Error).toBe(true);
// });
// });
// describe("NodeTestHelpers.strictEqual()", () => {
// it("should pass when the provided values are deeply equal", () => {
// strictEqual(1, 1);
// strictEqual("hello", "hello");
// const testing = { hello: "world" };
// const testing2 = testing;
// testing2.hello = "bla";
// strictEqual(testing, testing2);
// strictEqual(NaN, NaN);
// strictEqual(Infinity, Infinity);
// strictEqual(-Infinity, -Infinity);
// strictEqual(null, null);
// strictEqual(undefined, undefined);
// });
// it("should fail when the provided values are not deeply equal", () => {
// let err = null;
// try {
// strictEqual(1, 5);
// } catch (e) {
// err = e;
// }
// expect(err instanceof Error).toBe(true);
// err = null;
// try {
// strictEqual({ foo: "bar" }, { foo: "bar" });
// } catch (e) {
// err = e;
// }
// expect(err instanceof Error).toBe(true);
// err = null;
// try {
// strictEqual("1", 1);
// } catch (e) {
// err = e;
// }
// expect(err instanceof Error).toBe(true);
// err = null;
// const obj1 = { foo: "bar" };
// const obj2 = JSON.parse(JSON.stringify(obj1));
// try {
// strictEqual(obj1, obj2);
// } catch (e) {
// err = e;
// }
// expect(err instanceof Error).toBe(true);
// });
// });
// describe("NodeTestHelpers.createCallCheckCtx", () => {
// it("should pass when all mustCall marked callbacks have been called", (done) => {
// const { mustCall } = createCallCheckCtx(done);
// const fn1 = mustCall(() => {});
// const fn2 = mustCall(() => {});
// fn1();
// fn2();
// });
// it("should fail when all mustCall marked callbacks have NOT been called", (done) => {
// const mockDone = (result) => {
// expect(result instanceof Error).toBe(true);
// done();
// };
// const { mustCall } = createCallCheckCtx(mockDone, 600);
// const fn1 = mustCall(() => {});
// mustCall(() => {});
// fn1();
// });
// it("should allow us to get the args of the wrapped callback from mustCall", (done) => {
// const { mustCall } = createCallCheckCtx(done);
// const fn1 = mustCall((arg1, arg2) => {
// expect(arg1).toBe("hello");
// expect(arg2).toBe("world");
// });
// fn1("hello", "world");
// });
// });
// describe("NodeTestHelpers.createDoneDotAll()", () => {
// it("should pass when all dones have been called", (done) => {
// const createDone = createDoneDotAll(done);
// const done1 = createDone(600);
// const done2 = createDone(600);
// setTimeout(() => done1(), 300);
// setTimeout(() => done2(), 450);
// });
// it("should fail when all dones have NOT been called before timeout", (done) => {
// const mockDone = (result) => {
// expect(result instanceof Error).toBe(true);
// done();
// };
// const createDone = createDoneDotAll(mockDone);
// const done1 = createDone(400);
// createDone(400);
// setTimeout(() => done1(), 200);
// });
// it("should allow us to combine mustCall and multiple dones", (done) => {
// const createDone = createDoneDotAll(done);
// const { mustCall } = createCallCheckCtx(createDone(600));
// const done1 = createDone(600);
// const done2 = createDone(600);
// const fn1 = mustCall(() => {});
// const fn2 = mustCall(() => {});
// setTimeout(() => done1(), 300);
// setTimeout(() => done2(), 450);
// setTimeout(() => fn1(), 200);
// setTimeout(() => fn2(), 200);
// });
// it("should fail if a done is called with an error", (done) => {
// const mockDone = (result) => {
// expect(result instanceof Error).toBe(true);
// done();
// };
// const createDone = createDoneDotAll(mockDone);
// const done1 = createDone(600);
// const done2 = createDone(600);
// setTimeout(() => done1(), 300);
// setTimeout(() => done2(new Error("ERROR!")), 450);
// });
// });
option>
experiment-routes
experiment/markdown-components
expr-before
fallback-default-fade
feat/action-on-result
feat/action-success
feat/all-fragments
feat/astro-add
feat/astro-client
feat/astro-jsx
feat/astro-v-config
feat/autogenerated-tsconfig
feat/better-data-types
feat/better-table-type
feat/break-out-seed-returning
feat/cache-module-graph
feat/ci-next
feat/cli
feat/codemod
feat/config-log-level
feat/container
feat/context
feat/create-astro-replace-component-selector-with-astro-add
feat/create-astro-ui
feat/csr
feat/data-improvements
feat/data-with-set
feat/db-action
feat/db-relations
feat/define-data
feat/devtools
feat/dynamic-client-directives
feat/editor
feat/experimental-jsx
feat/expose-action-api-context
feat/expose-frontmatter-to-build-done-hook
feat/fetch-cache
feat/flow-components
feat/fonts-granular-preload
feat/fonts-retrieve-data
feat/foreign-key-migrations
feat/foreign-keys
feat/html-pages
feat/image-placeholders
feat/improve-custom-element-detection
feat/incremental-build
feat/indexes
feat/integration-kit
feat/jsx-transform
feat/legacy-markdown-flag
feat/markdoc-embeds
feat/markdown-components
feat/mdx-js-injection
feat/mdx-plugin-export
feat/minify-html
feat/next-get-env
feat/og
feat/ooo-streaming
feat/pragma
feat/preview
feat/react-19
feat/react-19-actions
feat/redirect-on-html-backup
feat/references
feat/remote-flag
feat/remove-astro-image-backup
feat/remove-studio
feat/render-with-queue
feat/reroute-ssr
feat/resolve-entrypoint
feat/router
feat/router-ii
feat/seo-components
feat/skip-sync-flag
feat/spa
feat/spa-ii
feat/squoosh
feat/standard-schema
feat/storage-studio
feat/streaming-rendering
feat/style-obj
feat/test-utils
feat/xray-improvements
fetch-astro-pages-mvp
fix-408
fix-all-pages-key
fix-beta-ref
fix-create-ref
fix-netlify-edge
fix-next-basics
fix-nullish-slot-name
fix-s-island-fallback
fix-vite-asset
fix/actions-cookies
fix/actions-pending-timeout
fix/assets-types
fix/astro-config-refresh
fix/astro-html-escape-bug
fix/build-subpaths
fix/client-only-component-css
fix/client-scripts-windows
fix/config-migration-defaults
fix/container-directives
fix/dates
fix/db-integration-with-missing-config
fix/devtoolbar-data-unset
fix/empty-slots
fix/filepath-layer
fix/frontmatter-file-url
fix/head-propagation
fix/hmr-css-deps
fix/import-ts-errors
fix/main-build-failure
fix/map-file-404-logs
fix/mdx-named-slots
fix/middleware-import
fix/multi-images
fix/nested-get-collection-call
fix/preact-package-build-failure
fix/primary-key-optional
fix/regex-flags
fix/server-headers
fix/stable-renderer-order
fix/transaction-type
fix/vue-nested
fix/webapi-dev
fork/markdoc-poc-with-md-support
fork/markdoc-poc-with-parser
format-imports-run
formatting
forward-button
framework-agnostic-astro-components
fryuni/db-pluggable-backend
fryuni/test-route-setup-hook
fryuni/tracing-hooks
hippotastic/legitimate-bat
hoisted-script-ts
host-ssr-example-2
hostfornode
image-non-node
improve-base-handling
inline-hoisted-scripts-now
jn.convert-assertions-to-query-params
latest
live-loaders
main
mandar1jn/ci-repo-check
markdoc-embed-prototyping
markdown
markdown-poc
mdx-path
mk/render-slot-template-backup
move-default-md-code-component
mt/lit-DSD
mt/lit-regen
mt/parse-DSD
mt/router_refactoring
nate/new-blog-template
netlify-1
netlify-preview
new-adapter-api
next
next-render
no-more-vite-postprocess
no-more-vite-postprocess2
old-build
plt-1006/unified-and-mdx
plt-1768-trailing-slash-object
preact-shared-signals
process-env-override
progress-log
re-export-drivers
react-fast-refresh
redirects-priority2
redirects-ssg-object
refactor-how-client-directives-work
refactor/image-internals
refactor/markdoc-renderer
refactor/rendere-queue
refactor/sitemap
refactor/ssr-size
release/0.17
release/0.18
remote-cdn-link
remove-fs-abstraction
remove-start
restart-on-lock
revert-13008-renovate/all-minor-patch
revert-lockfile
route-manifest-adapter
sarah11918-image-errors
sarah11918-patch-2
sb-tests2
seroval
server-islands-children
session-docs
single-file-build-2
slash-404-hint
slot-bug-1
solid-ecosystem-pkg
spike/app-setup
spike/autonav
spike/codehike
spike/context
spike/csr
spike/default-content
spike/incremental
spike/incremental-ii
spike/markdown-wasm
spike/render
spike/streaming
spike/svg
sqlite-test
squeal
ssr-redirect
stream-buffer
streaming
telemetry-audit-1
test/new-integrations-demo
test/new-ssr-demo
top-level-exports-integrations
ts-in-hoisted-script
ts-no-err
upd-vite-vendored
upgrade-deps
v1-beta
vercel-test
vite-fork
vscode-astro-global
vt-follow-redirects
warn-exp-flag
win
windows-tests-beta
wip-assets
wip-component-api-2
wip-docs-components
wip-docs-reference-gen
wip-fetch-cache
wip-fun-flags
wip-icons
wip-logging
wip-logging-saved
wip-mdc
wip-mdx-to-astro-js
wip-preview-command-integrations
wip-setup-content
wip-smoke
wip-speed-up-markdown
wip-stage
wip/react-19-test
Unnamed repository; edit this file 'description' to name the repository.
Age Commit message (Collapse ) Author Files Lines
* 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 6e5f578da8d1d3fd262f3cd9add7549f7580af97.
* 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 1a459f152bc7b7991db289999f7393e5be64ea3e.
* feat: add hardcoded adapter export map
* refactor: inline adapter config log
* fix: always add @astrojs/image to vite.ssr.noExternal
* chore: add changeset
* Remove stray XML tag in sitemap integration README
* Fix link errors
* Add changeset
* fix(#3843): move @babel/types to dependencies
* chore: update lockfile
Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Nate Moore <nate@astro.build>
* Better response.arrayBuffer() handling in Node
* Adds a changeset
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
* Docs: add adapter heading for configuration docs
* docs: add adapter example, rework doc links
* chore: changeset
* fix: lint failing on astro and some integrations
* chore: fix telemetry lint
* chore: fix turbo cache (thx nate)
* chore: fix runtime server
* 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>
* chore: upgrade to pnpm@7.4.0, remove `patch-package`
* chore: update contributing
* chore: pnpm@7.4.1
* chore: bump to pnpm@7.5.0
Co-authored-by: Nate Moore <nate@astro.build>
* Allow importing Image component from @astrojs/image
* Adds a changeset
* Export the Image type
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* 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: client visible on safari
* chore: changeset
* refactor: wait for children with mutation observer
* fix: remove unecessary settimeout
* refactor: remove unecessary awaits
* Ensure that maybeRenderHead runs last
* Adds a changeset
* Make work with MDX