0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2024-12-23 21:53:55 -05:00
Commit graph

5383 commits

Author SHA1 Message Date
Furkan Erdem
dddbb09fe0 [ci] format 2024-02-23 13:24:45 +00:00
Furkan Erdem
8cd38f0245
Fix(node): Custom headers are not present in responses from standalone Node server in preview mode (#10208)
* fix(node): add user specified headers to preview server responses

* docs: clarify comment

* style: new line

* test: remove test

* chore: add changeset
2024-02-23 08:23:33 -05:00
Nworm
903eace233
fix(core): build failure caused by read-only files (#10195)
* fix(core): build failure caused by read-only files

* test: fix fixtures/build-readonly-file

* other:  format code
2024-02-23 11:36:53 +00:00
Yan Thomas
7fe25158cd
Fix typo in @types/astro.ts (#10204) 2024-02-22 18:42:42 -06:00
Matthew Phillips
31a9f8469c
Introduce the db integration (prerelease) (#10201)
* Initial DB migration code

* chore: update package.json

* chore: update lockfile

* feat: add db as top-level config value

* Small package change

* Add a very basic test

* deps: remove unused

* chore: astro/db scripts, exports, deps

* chore: set tsconfig to monorepo defaults

* feat: MVP to use libsql in dev

* fix: test fixture paths

* fix: test file paths

* chore: remove CLI tests

* fix: add astro-scripts to db

* fix: package.json merge

* fix: load seed file separately for build

* feat: create db on filesystem for build

* fix: ul test. It passes now!

* Squashed commit of the following:

commit acdddd728c56f25e42975db7f367ab8a998e8c41
Author: Princesseuh <3019731+Princesseuh@users.noreply.github.com>
Date:   Wed Jan 10 14:06:16 2024 -0500

    fix: proper type augment for the config

commit b41ca9aacf291d1e5f0a27b6d6339ce4fc608ec3
Author: Nate Moore <nate@astro.build>
Date:   Tue Jan 9 14:33:42 2024 -0600

    wip: type augmentation

* feat: data() fn with basic type safety

* wip: update from seed file to data()

* fix: bad collectionSchema data type

* refactor: move dev to use filesystem to run seed at right time

* chore: remove seed file logic

* docs: add basic README

* CLI sync command

* Runtime checking of writable

* docs: add join example

* Implement defineWritableCollection

* feat: use studio connection for studio builds

* fix: add defineWritableCollection export

* refactor: use getTableName() util

* feat(db): add support for pass-through `astro db` command

* chore: add error map

* fix: add drizzle import

* refactor: studio -> db cli

* feat: add ticketing example

* fix: bad types in astro config

* fix: remove invalid `data()` on writable collection

* fix: vite warning on load-astro-config

* wip: add seeding for readable collections (nonstable ids!)

* merge migration work into branch

* cleanup migration commands

* migrate seed data to new db push command

* add migrations table to db

* fix remote db bugs

* fix: warn writable collections when studio false

* chore: delete README contents (now on Notion)

* chore: remove blank README

* chore: add dev dependency on db

* Removed unused deps

* 0.1.0

* Add config-augment.d.ts to published artifacts"

* Fixes merge issues with main

* fix: support promise response from data()

* feat: basic glob fixture

* Add a main field

* Give a help message when no db command is provided

* feat: `db push --token` for GitHub CI secrets

* fix getPackage for db package

* 0.1.2

* wip: build a table type

* chore: update lockfile

* chore: temporarily remove `Table` type

* feat: better Table object for type inference

* format

* add primaryKey support

* improve snapshot parsing support

* cleanup primary key support, db push

* add simple db shell

* cleanup old copy paste code

* feat: scrappy global data() prototype

* feat(test): recipes example

* fix: use Extract to narrow keyof to strings

* 0.1.3

* Create a runtime version of createRemoteDatabaseClient

* 0.1.4

* Grab the dbUrl from the environment

* 0.1.5

* Expose the database to the build output

* 0.1.6

* 0.1.7

* 0.1.15

* wip: data() -> set() concept

* fix: just infer insert keys for now

* refactor: rewrite to injected set() function

* deps: chokidar, drizzle

* feat: glob support with { db, table } signature

* chore: move basics to new data set

* refactor: set -> seed

* feat: expose Model.table

* refactor: clean up types

* feat: migrations now working!

* upgrade @libsql/client

* format

* expose relevant types

* 0.1.16

* feat: config design

* feat: add indexes from collectionToTable

* feat: add indexes to setupDbTables

* fix: remove unique constraint on recipeId

* Use an import statement to grab the database file

* 0.1.17

* Remove unused import

* Rename to ?fileurl

* 0.1.18

* feat: index migrations

* move migration logic to turso, add back sync support

* feat: add queries unit tests and fix related bugs

* refactor: move field queries to field-queries.test

* feat: index query tests

* refactor: reorganize the rats nest of files

* Make the DB_URL be root relative

* Upgrade to latest libsql

* 0.1.19

* 0.1.20

* Make work in webcontainer

* 0.1.22

* Remove content database from the static build

* 0.1.23

* chore: remove `optional: true` from pk

* chore: disable console linting for CLI

* fix: remove `id` column from Table type

* chore: remove `AstroId` type

* fix(ex): add `id` col to ticketing

* 0.2.0

* 0.2.1

* add keywords

* 0.2.2

* feat: API shape

* feat: FINALLY collection and name attached

* refactor: move to arrow function signature

* fix: foreignKeys references signature

* chore: unused imports

* feat: add foreignkeys to create table

* chore: lint

* chore: enable foreign keys in local mode only

* refactor: objShallowEqual -> deep diff

* fix: correct `hasDefault` inference

* fix: correct type Config reference

* fix: respect primaryKey from hasDefault

* fix: mark data keys as optional until we have type inference

* improve conflict and dataloss handling

- moved prompts to db push
- moved prompt logic out of lower-level functions
- improved logic overall
- improved user-facing prompt messages

* improve error messaging around studio config missing

* make it more clear when remove vs. local db is in use

* fix bug in prompt logic

* feat: better field.x() types

* feat: better seed() types

* chore: remove `as any` on seed values

* feat: good enough return type on seed :)

* feat: defineData()

* fix: add back promptResponse injection

* fix: use schema.parse to resolve dates

* fix: correctly respect primary key on INSERT INTO

* add short-lived db tokens

* add help output

* add better token error logging

* fix studio tests

* add shortcut link command from studio web ui

* Add support for SQL defaults

You can now use sql`CURRENT_TIMESTAMP`, `NOW`, and a couple of other
helpers, to set defaults.

* chore: todo

* feat: ignore `optional` and `default` when pk is present

* refactor: type `false` instead of type `never`

* feat: prevent `optional` on text pk

* fix db URL import for windows

* fix: add back textField multiline

* fix: remove explicit AUTOINCREMENT on int pk

* feat(db-cli): clean up CLI logging, support --json flag for `astro db verify`, extract shared logic to a utility

* prepare to run seed on all db push commands

* chore: expose setMeta for unit testing

* feat(test): reference add and remove tests

* feat: add references checks to migratiosn

* feat: remove useForeignKey checks

* feat: add pragma when pushing migrations

* feat(test): foreignKeys

* fix: transform collection config to be JSON serializable

* refactor: _setMeta -> preprocess for `table`

* refactor: reference tests

* chore: remove console log

* fix: handle serialized SQL object correctly

* refactor: store raw sql instead

* seed on every push

* Move field schema only a `schema` object

* Fix references test

* 0.3.0

* add default URLs to db package

* 0.3.1

* Fix input types

* fix: primaryKey type check

* 0.3.2

* fix: respect default in table types

* fix: avoid dropping tables on production seed

* fix: escape name on drop table

* feat: allow verify to mock migration file

* Handle unauthorized linking

* Fix verbiage of unauthorized link warning

* Add some color to the unauthorized message

* 0.3.3

* Improve the unauthorized error output

* 0.3.4

* fix: better error message

* Seed the Themes in build too

* Push skipped test

* chore: remove dead isJsonSerializable check

* fix: use `dateType` for dates (oops)

* refactor: clarify date coerce comment

* refactor: remove unused coerce

* chore: unskip date test

* feat: seed -> seedReturning

* refactor: throw when seeding writable in prod

* Add unsafeWritable option

* refactor: use FieldsConfig for Table generic

* chore: lint

* fix: use z.input for AstroConfigWithDB type

* fix: add defaults for boolean config options

* Support new CLI command structure

* Allow writable in the tests

* fix: handle defaults for safe type changes

* refactor: avoid selecting ['schema'] on input types

* 0.3.5

* Rename field->column, collection->table

* Rename collections->tables

* rename to defineReadableTable

* deps: upgrade ticketing-example

* fix: stray console.log

* deps: bump preact again

* chore: preact->react

* fix: parse params.event as number

* fix: correct event references

* Allow integrations to define schema

* fix: file-url plugin failure on repeated generateBundle() runs

* update url

* Cleanup

* Linting

* fix windows file permission issue

When runnng `astro dev`, the watcher would close trying to delete the `content.db` file due to a file permission error. This change makes the local DB client a disposable to allow cleanup after usage.

* Formatting

* "fix" Symbol.dispose usage

---------

Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: bholmesdev <hey@bholmes.dev>
Co-authored-by: Fred K. Schott <fkschott@gmail.com>
Co-authored-by: itsMapleLeaf <19603573+itsMapleLeaf@users.noreply.github.com>
2024-02-22 14:50:44 -05:00
Houston (Bot)
3411e05ee4
[ci] release (#10203)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-02-22 14:37:35 -05:00
Erika
c692d0c66a
fix: try the simple solution (#10200) 2024-02-22 14:21:31 -05:00
Houston (Bot)
0b4e5298d2
[ci] release (#10192)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-02-22 11:17:25 -05:00
Matthew Phillips
c32f0c1ab6 [ci] format 2024-02-22 16:12:42 +00:00
Matthew Phillips
3cc2010927
Fix cssesc from breaking browser code (#10194)
* Fix cssesc from breaking browser code

* Include specific thing instead

* Update .changeset/quick-bottles-march.md

Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev>

* Fix ISR

* Remove query stripping altogether

* Warn on client usage

* Fix build

* oops

---------

Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev>
2024-02-22 11:11:41 -05:00
Erika
c856c72940
fix(errors): Remove duplicate logging of errors (#10197)
* fix(errors): Remove duplicate logging of errors

* chore: changeset
2024-02-22 16:41:05 +01:00
Bjorn Lu
598f30c7cd
Improve Astro style HMR for imported styles (#10166) 2024-02-22 22:19:06 +08:00
Emanuele Stoppa
1e638c4019
chore: import sorting for test folder and e2e folder (#10190) 2024-02-22 13:58:10 +00:00
Bjorn Lu
7c5fcd2fa8
Improve optimizeDeps.entries to avoid server endpoints (#10143) 2024-02-22 18:36:06 +08:00
Houston (Bot)
2c2519204a
[ci] release (#10177)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-02-21 14:40:40 -06:00
Emanuele Stoppa
6343f6a438
Revert "Add option to prefix sitemap" (#10179)
* Revert "Add option to prefix sitemap (#9846)"

This reverts commit 9b78c99275.

* changeset

* feedabck

* fix incorrect merging
2024-02-21 14:27:00 +00:00
Emanuele Stoppa
062623438b
chore: use biome to sort imports - only test files (#10180)
* chore: use biome to sort imports

* do the sorting

* Update package.json

Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>

---------

Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
2024-02-21 14:08:19 +00:00
Piotr Losiak
8e51bf9ea9 [ci] format 2024-02-21 07:44:29 +00:00
Piotr Losiak
ec7d2ebbd9
fix(sitemap): url when rest parameter is used in page file names (#9975)
* fix(sitemap): url when rest parameter is used in page file names

* Update .changeset/sour-ties-sparkle.md

Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev>

* Apply suggestions from code review

---------

Co-authored-by: Florian Lefebvre <contact@florian-lefebvre.dev>
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
2024-02-21 07:43:22 +00:00
Emanuele Stoppa
a46249173e
fix(i18n): move transformation outside the user schema (#10169)
* fix(i18n): move transformation outside the user schema

* fix condition

* cleanup

* ops

* fix regression
2024-02-21 07:42:06 +00:00
Yan Thomas
aa5efd1bb2
Fix typo in errors-data.ts (#10172) 2024-02-20 17:21:03 +00:00
Houston (Bot)
052d3271d4
[ci] release (#10131)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-02-20 20:18:30 +05:30
Arsh
c1671dff22 [ci] format 2024-02-20 14:41:38 +00:00
Arsh
5acc3135ba
refactor: pipeline lifetime (#9795)
* Base Environment

* SSRRoutePipeline -> AppEnvironment

* BuildPipeline -> BuildEnvironment

* DevPipeline -> DevEnvironment

* per-request pipeline

* internal middleware: i18n

* delete callEndpoint

* pipeline access for internal middleware

* Address review comments

`environment.ts` is now lives directly in `src/core`, rather than `src/core/render`.

`environment.createPipeline` is removed. `Pipeline.create` is used instead.

Constructors with positional arguments are replaced by `Environment.create` with named arguments.

Clarifies the use of `HiddenPipeline`.

* migrate some of `RenderContext`'s responsibilities to `Pipeline`

* delete renderPage

* RenderContext.params -> Pipeline.params

* delete `RenderContext`

* `Pipeline` -> `RenderContext`

* `Environment` -> `Pipeline`

* `AppEnvironment` -> `AppPipeline`

* `BuildEnvironment` -> `BuildPipeline`

* `DevEnvironment` -> `DevPipeline`

* provide locals directly to renderContext

* add changeset
2024-02-20 20:10:13 +05:30
Erika
ea990a5614
fix: dev-toolbar test (#10167) 2024-02-20 15:15:54 +01:00
ktym4a
80f8996514
Fix to get Integration Data even when a page is transitioned by ViewTransition (#10079)
* Fix to get Integration Data even when a page is transitioned by ViewTransition.

* add test case

* add changeset

* fix test

* Fix typo
2024-02-20 14:09:20 +01:00
Ming-jun Lu
b92d35f102
Fix an issue where audit fails to initialize when encountered <a> inside <svg> (#10163)
* Fix an issue where audit fails to initialize when encountered `<a>` inside `<svg>`

* Add changeset
2024-02-20 11:22:05 +01:00
Emanuele Stoppa
d50dddb71d
fix(i18n): make i18n.routing fields optional (#10165)
* fix(i18n): make `i18n.routing` fields optional

* update user config

* Update packages/astro/src/core/config/schema.ts

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>

---------

Co-authored-by: Chris Swithinbank <swithinbank@gmail.com>
2024-02-20 10:17:40 +00:00
ktym4a
9b78c99275
Add option to prefix sitemap (#9846)
* Add option to prefix sitemap

* Fix call resolve twice

* let to const

* Apply suggestions from code review

Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>

* change changeset patch to minor

* use node:test

* Update changeset

* Add regex validation for prefix

* Update .changeset/eighty-falcons-tease.md

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>

* Update prefix regex in SitemapOptionsSchema

---------

Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2024-02-20 08:36:09 +00:00
Bjorn Lu
3c73441eb2
Fix Astro HMR style-only change detection (#10139) 2024-02-19 21:56:13 +08:00
Abid
43f87467c6
Implement test using using assert.fail and assert to check ENOENT. (#10156) 2024-02-19 09:36:53 +00:00
Reuben Tier
0c2ab5b155
Fix docs markdown link (#10155) 2024-02-18 20:41:18 +00:00
Emanuele Stoppa
ddf0f924b5
chore: move nodetest.js to test.js (#10142)
* chore: move `nodetest.js` to `test.js`

* chore: move `nodetest.js` to `test.js`

* remove script
2024-02-16 16:20:49 +00:00
Emanuele Stoppa
2351c5e5de
chore: fix failing tests and skip some (#10141) 2024-02-16 14:02:18 +00:00
Bjorn Lu
41a6baa080
Update Vite ws property to hot (#10138) 2024-02-16 21:15:46 +08:00
ktym4a
5ff288f61b
chore: Change strictEqual to equal (#10140) 2024-02-16 11:41:16 +00:00
Ming-jun Lu
7bdcfb750a
chore: migrate several tests to node:test (#10133)
* chore: migrate test files whose names start with `a` to `node:test`

* update assertion

* chore: remove mocha script

---------

Co-authored-by: Emanuele Stoppa <my.burning@gmail.com>
2024-02-15 17:58:17 +00:00
ktym4a
4b62bfbe76
chore: move test to node (#10134) 2024-02-15 16:04:54 +00:00
Bjorn Lu
1da9c5f2f3
Remove server-destroy dependency (#10132) 2024-02-15 22:59:03 +08:00
Mohamed
1f598b3724
fix(cli): load polyfill before loading config during astro add (#10105)
* Adds crypto import to Vercel adapter

* Update the 'crypto' import to 'node:crypto'

* load polyfills before loading config

* add changeset

* load polyfills for `astro info`, `astro preferences` etc

* update changeset

* clarify impact

---------

Co-authored-by: lilnasy <69170106+lilnasy@users.noreply.github.com>
2024-02-15 07:42:03 -07:00
Emanuele Stoppa
4f6b0def42
chore: move tests that starts with i and j (#10129)
* chore: move tests that starts with i and j

* add missing `after`
2024-02-15 14:11:52 +00:00
Yan Thomas
d278e66ec6
Remove unhelpful message in errors-data.ts (#10128) 2024-02-15 14:33:56 +01:00
ktym4a
f134358bcf
chore: move test to node (#10125)
* chore: move test to node

* `strictEqual` to `strict`
2024-02-15 12:49:28 +00:00
Emanuele Stoppa
9eb37a31a7
chore: move tests to node (#10127)
* chore: move tests to node

* revert

* skip one test for now
2024-02-15 12:22:53 +00:00
Emanuele Stoppa
e845fb2eaa
chore: move tests to node (#10123)
* chore: move tests to node

* fix
2024-02-15 11:51:12 +00:00
Houston (Bot)
141f2fb757
[ci] release (#10109)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2024-02-15 12:00:03 +01:00
Marawan Mohamed
40a2e03ffb
chore: move tests to node (#10115) 2024-02-15 10:27:05 +00:00
Atharva
0f3d4ae30b [ci] format 2024-02-15 09:55:44 +00:00
Atharva
8701cfee23
chore: move css- related tests to node:test (#10114) 2024-02-15 09:54:45 +00:00
Oliver Speir
b386d2d7ae [ci] format 2024-02-15 09:25:15 +00:00