0
Fork 0
mirror of https://github.com/withastro/astro.git synced 2024-12-16 21:46:22 -05:00
Commit graph

321 commits

Author SHA1 Message Date
Ben Holmes
c6d7ebefdd
Data collections and references (#6850)
* feat: add generated lookup-map

* feat: wire up fast getEntryBySlug() lookup

* fix: consider frontmatter slugs

* chore: changeset

* chore: lint no-shadow

* fix: revert bad rootRelativePath change

* chore: better var name

* refactor: generated `.json` to in-memory map

* chore: removed unneeded await

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

* chore: removed unneeded await

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

* Revert "chore: removed unneeded await"

This reverts commit 1b0a8b00c2.

* fix: bad `GetEntryImport` type

* chore: remove unused variable

* refactor: for -> Promise.all

* refactor: replace duplicate parseSlug

* refactor: add cache layer

* Revert "refactor: add cache layer"

This reverts commit 1c3bfdc6b3.

* feat: json collection POC

* wip: add test json file

* wip: playing with api ideas

* refactor: extract getCollectionName

* feat: add defineDataCollection

* refactor: variable destructure

* wip: basic data entry pipeline

* chore: revert fixture playing

* wip: basic entry array parser

* feat: basic data type gen

* chore: add with-data playground

* feat: add error when `defineDataCollection()` isn't used

* fix: missing error message

* feat: data collections are here!

* wip: play with data query APIs

* feat: reference() util!

* fix: Markdoc `$entry` variable

* play: add reference util with markdoc

* chore: delete console logs

* feat: `src/data/`!

* feat: reference() errors

* fix: handle hoisted schema parse errors

* fix: reload config and invalid on collection changes

* feat: separate maps for content and data entries

* feat: new `reference()` API that fixes type inference

* feat: support `defineCollection()` for data config

* fix: defineCollection `type` inferenenceπinference

* chore: lock

* feat: getCollection() for everything!

* feat: get full entry access from reference()

* chore: changeset

* wip: type error on acorn?

* chore: lint

* chore: add slugger to data ID processing

* chore: astro/zod -> zod

* chore: example version

* chore: remove slugifier from data id

* chore: remove dead getDataCollection

* chore: remove dead defineDataCollection

* fix: bad collection import

* chore: lock

* feat: add data collections to lookup map

* refactor: stop resolving data from reference

* feat: introduce getEntry and new reference()

* fix: update config loader

* fix: reference() type

* feat: test self references (they work 🎉)

* fix: use `slug` for content references

* fix: bad getEntry content type

* chroe: remove console logs

* fix: strict null checks on with-data

* feat: add getEntries for ref arrays

* chore: fix type hints for reference strings

* chore: change to type never for clarity

* play: try getEntries

* Return to "everything goes in `src/content/`

This reverts commit cc637ec6db4fc23afab585df5f240b7f7c0abc8a.

* fix: remove old function

* chore: update to AstroErrors

* chore: remove unused fixture files

* play: names

* deps: js-yaml

* feat: data collection YAML with error handling

* refactor: remove console log

* refactor: code cleanup

* fix: allow mixed content to pass through glob imports

* chore: move lookupMap util to virtual-mod

* refactor: new lookupMap logic, better errors

* chore: change MixedContent title

* refactor: remove unneeded try / catch

* fix: use `ws.send` for type gen errors

* fix: bubble `ws.send` errors from astro sync

* refactor: revert verbose astroContentCollectionEntry

* fix: bad with-data package name

* fix: bad virtual mod flag

* chore: remove with-data playground

* test: data collection authors

* test: translations data collection

* fix: add `.yml` support

* refactor: mix in `.yaml` just for fun

* refactor: i18n -> translations

* chore: content-collection-references fixture

* chore: bad lockfile

* fix: bad ContentLookupMap import

* chore: revert back to astroContentCollectionEntry

* test: collection references

* fix: bad error code override

* chore: remove unused asset

* test: sync errors

* chore: remove stray console log

* chore: lock

* chore: revert with-markdoc changes

* chore: doc error states, remove bad merge code

* chore: remove bad `as any`

* chore: lint

* chore: inline ContentLookupMap comments

* chore: settings -> config

* fix: put back `defineCollection()`

* fix: entry.slug for get content collection

* chore: update get-entry-type tests

* docs: totally shorten "missing a `type`"

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

* docs: truncate share a `schema`

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

* chore: add `test:unit` and `test:unit:match`to base

* chore:  update changeset

* refactor: cleanup runtime types and inline comments

* nit: [0] instead of shift()

* refactor: `getRelativeEntryPath()` util

* chore: capitalized Collections for test:match

* nit: ?? viteId on split

* nit: separate Params obj

* chore: add try / catch on readFile

* nit: `const data`

* chore: clean up data collection exceptions

* nit: `?? ''` for search params

* chore: remove TODO on hoisted error

---------

Co-authored-by: Bjorn Lu <bjornlu.dev@gmail.com>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-05-17 11:36:27 -04:00
Erika
dc062f6695
Upgrade to version 1.0.0 of the language server (#6953) 2023-05-01 16:41:21 +02:00
Han Yeong-woo
f219e1862b
chore: update dependencies related to changesets (#6868)
Co-authored-by: bluwy <bjornlu.dev@gmail.com>
2023-04-28 15:04:03 +08:00
Han Yeong-woo
d28cc97179
chore: cleanup root and scripts dependencies (#6871) 2023-04-28 14:32:51 +08:00
Bjorn Lu
de5a25f4e9
Fix changeset publish (#6923) 2023-04-27 22:55:48 +08:00
Bjorn Lu
ec5f6a07ae
Upgrade turbo (#6911) 2023-04-27 11:39:15 +08:00
Erika
500ee802ac
fix: upgrade tooling deps (#6839) 2023-04-13 13:08:54 -04:00
Bjorn Lu
5f0efe5490
Update to pnpm 8 (#6823) 2023-04-12 23:34:54 +08:00
Erika
1e7d6af412
feat(all): Migrate to TypeScript 5.0 (#6579) 2023-03-20 17:02:07 +01:00
Bjorn Lu
00a0af7ed4
Move benchmark package and update changeset config (#6433) 2023-03-07 10:52:47 +08:00
Erika
afbbc4d5bf
Update compilation target for Node 16 (#6213)
* config(esbuild): Update esbuild target to node16

* config(package): Update root package.json node engine

* config(tsconfig): Update all the tsconfigs module and targets

* chore: changeset

* chore: remove unneeded file
2023-03-06 13:57:16 -05:00
Bjorn Lu
f4937949d6
Refactor benchmark script (#6376)
* Add timer setting

* Setup benchmark code

* Setup memory benchmark

* Add compare function

* Add result preview

* Setup results preview

* Simplify script for CI

* Update CI

* Cleanup

* Temp remove fork guard

* Fix stuff

* Fix again

* Fix quotes

* Fix multiline output

* Simplify title

* Fix memory numbers

* Remove astro bin dir

* Fix gc

* Add repo guards

* Fix wrong call

* Set max space size

* Remove guard

* Bump memory a bit

* Organize neatly

* Update readme

* Try large md

* Try no gc

* Revert markdown and gc changes

* Test sha

* Try ref

* Try 128mb

* Set 256

* Add guard

* Apply suggestions from code review

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

* Add docs comment

---------

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2023-03-01 08:46:06 +00:00
Bjorn Lu
ae8a012a7b
Handle compiler breaking change (#5803) 2023-01-12 22:46:56 +08:00
Bjorn Lu
c2844a79c8
Fix docs smoke error (#5706)
Co-authored-by: bholmesdev <hey@bholmes.dev>
2023-01-02 21:31:51 +08:00
Ben Holmes
5ec0f6ed55
Content Collections (#5291)
* feat: port content plugin as-is

* feat: add `fetchContent` to `.astro`

* refactor: move more logic to content-internals

* refactor: move internals -> content dir

* feat: nested dir support

* feat: add with-content playground

* edit: update README

* fix: serialize route pattern for Netlify edge

Co-authored-by: Jackie Macharia <jackiewmacharia>

* wip: add ?astro-asset-ssr flag

* wip: exclude astro-ssr-asset styles from build

* revert: SSR asset flag babel changes

* feat: only load CSS when mdx is rendered!

* fix(vercel): Include all files inside `dist/` instead of only `entry.mjs` (#5175)

* chore: only-allow pnpm (#5131)

* [MDX] Support `recmaPlugins` config (#5146)

* feat: support recma plugins

* chore: add `test:match` to MDX

* chore: changeset

* docs: add recmaPlugins to README

* removes default content-visibility styles from image components (#5180)

* wip: check renderContent works

* nit: injectDelayedAssetPlugin doesn't need enforce

* feat: render content with generated entries

* feat: renderContent style injection POC

* wip: scrappy renderContent binding

* deps: parse-imports

* feat: only bind renderContent when imported

* feat: new-and-improved render-content

* fix: update example to use render-content

* refactor: extract normalizeFilename helper

* feat: move renderContent to `.astro`

* feat: add `getStaticPaths` demo 👀

* chore: remove console log

* refactor: internals -> internal

* fix: style bleed on dynamic routes

* chore: remove console log

* refactor: move rendercontentmap inside same file

* fix: style bleed in dev!

* feat: clean up example

* refactor: curry generateContent

* nit: add datetime demo

* refactor: rename and move content plugins

* feat: granular content updates in development

* chore: console.log

* refactor: move write logic, fix edge cases

* fix: use z.any() when ~schema is missing

* refactor: clean up logging

* fix: add delayed asset flag to render map

* fix: use new server loader

* chore: import type

* fix: split delayed assets to separate chunks

* chore: bad merge changesets

* feat: rework content map to Vite globs

* fix: formatted errors

* fix: get `renderContent` working with new APIs

* refactor: rename to getCollection, getEntry, renderEntry

* feat: streamline type alias!

* fix: check schema import is an import

* refactor: change ~schema -> index with defineCollection

* feat: auto apply env.d.ts reference

* feat: expose `headings` on `renderEntry`

* refactor: expose zod from astro/zod

* feat: add Collection util type

* refactor: generated types in src/content/

* edit: remove env.d.ts change from with-content

* feat: collectionToPaths utility

* refactor: migrate `examples/blog`

* refactor: simplify [...slug]

* fix: invalid date

* fix: renderEntry

* feat: migrate examples/docs to content!

* refactor: union -> enum

* fix: remove duplicate header

* chore: changeset

* Revert "fix: serialize route pattern for Netlify edge"

This reverts commit ac46a0d323.

* fix: lint

* fix: include zod in package files

* chore: push type gen for astro check

* feat: move to single defineCollections file

* feat: move examples to new collections model

* chore: type check valid collection names

* fix: ignore collections path in err logs

* refactor: content/index -> content/config

* refactor: defineCollections -> defineCollection

* fix: update docs to defineCollection

* chore: update with-content to new `astro:content` setup

* fix: renderEntry styles

* fix: bad Collection type

* fix: blog types generated

* feat: expose injectedFrontmatter on renderEntry

* chore: `import type`

* chore: add MDX to changeset

* fix: template package file

* fix: unneeded log on content config change

* chore: add `injectedFrontmatter` to generated types

* fix: escape import.meta.env in `body`

* fix: escape import.meta.env in frontmatter

* chore: unused import

* fix: use URL for config pathname

* feat: allow zod async transforms

* deps: devalue

* feat: custom slugs + better type checking

* fix: update types on config added or removed

* chore: add error msg for MDX preview release

* refactor: restore old normalizeFilename

* fix: add loadContentConfig error classes back

* Add initial tests for renderEntry

* add fixture tests

* Use head propagation APIs in renderEntry

* chore: new type gen

* fix: sort content keys before writing

* fix: avoid writing '.' collection with warning

* chore: docs types generated

* fix: generated types only once in build

* fix: use relative path to config for git

* chore: update generated types

* fix: glob pattern on valid exts

* feat: warn on possible collection typos

* chore: better error on bad lazy import

* fix: clear gray-matter cache for rawData

* fix: wait for config file while generating

* test: get collection and get entry basic

* test: multiple collections and entries

* test: add publishedDate test on entry

* tests: getStaticPaths integration

* test: ssr endpoint integration

* chore: consistent test names

* refactor: simplify generates... test

* chore: tests lockfile

* feat: add `experimental` flag

* chore: revert blog and docs examples

* chore: add experimental flag to with-content

* refactor: reuse contentFileExts

* refactor: make contentCollectionCss required

* chore: remove parse-imports dependency

* chore: remove unresolved idea redundancy

* chore: update changeset to minor v

* chore: clean up with-content pass 1

* refactor: de-monolith vite-plugin-content

* chore: remove maximum jank warning (it's acceptable jank)

* refactor: extract types-generator to separate file

* refactor: onEvent -> handleEvent

* edit: change content log to "types generated"

* fix: more experimental checks in prod build

* refactor: 2 jsToTreeNode calls -> 1

* feat: change with-content example to blog example

* fix: Content component type

* Fix use of renderEntry within a slot

* fix: warn for non-underscore _ files, refine logs

* chore: Content type in tests

* fix: types no updating with config changes

* fix: remove `result: SSRResult` type

* chore: entry var shadowing

* fix: bad experimental flag call

* wip: skip render entry tests

* fix: path resolution for .relative on windows

* chore: remove dead code

* wip: log entryPath into

* fix: use URL for entry

* refactor: getEntryInfo normalization

* refactor: move debounce to queueEvent only

* fix: resolve loader on config error

* fix: pathToFileURL -> new URL

* fix: dangerous pathname comparison

* refactor: move rawEvent -> event mapping to queueEvent

* fix: bad type

* wip: remove mkdir call

* wip: log content paths

* fix: more bad paths

* wip: more logs

* fix: correct glob path

* fix: normalize virtual mod path

* fix: content server file paths

* chore: remove render entry test skip

* wip: skip renderEntry tests (windows issues?)

* chore: remove console log

* feat: renderEntry -> render

* chore: add `--experimental-content-collections`

* refactor: only skip renderEntry tests on windows

* refactor: index.ts barrel export

* fix: cli type error

* fix: proper test skip on windows

* refactor: remove collectionToPaths :(

* refactor: use AstroError for frontmatter error

* nit: its schema, .*

* fix: bad isWindows import

* fix: await mod -> mod = await

Co-authored-by: Juan Martín Seery <me@juanm04.com>
Co-authored-by: 花果山大圣 <316783812@qq.com>
Co-authored-by: Tony Sullivan <tony.f.sullivan@outlook.com>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
Co-authored-by: bholmesdev <bholmesdev@gmail.com>
2022-12-16 14:19:53 -05:00
Bjorn Lu
fabd9124bd
Update esbuild dependency (#5534) 2022-12-06 22:11:59 +08:00
Erika
0dcdc6fb1e
Update language-server and prettier plugin to latest versions (#5327)
* Update language-server and prettier plugin to latest versions

* Update lockfile
2022-11-08 14:37:19 -04:00
Tony Sullivan
4e2bd17393
Adds a Hackernews example site (#5213)
* adds the hackernews example - TODO add readme content

* refactor: moving styles from root.css into components

* chore: add README content

* chore: lint fixes + prettier-plugin-astro@0.4.0

* Update examples/hackernews/README.md

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

* lint: remove unused variable

* nit: adding check command to example

Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2022-11-01 16:20:04 +00:00
Michael Rienstra
13b8e78713
Uninstall only-allow (#5184) 2022-10-25 18:09:41 +08:00
花果山大圣
ca94e9ccc1
chore: only-allow pnpm (#5131) 2022-10-24 14:17:23 -04:00
花果山大圣
0db9c08a8d
chore: add eslint cache (#5101) 2022-10-17 22:32:20 +08:00
Matthew Phillips
9e041f464c
Improved benchmark output (#5077)
* Improved benchmark output

* Show benchmarking table
2022-10-13 15:22:51 -04:00
Erika
0ea6187f95
Added support for updating tsconfig.json when using astro add (#4959)
* Added support for updating tsconfig.json when using astro add

* Refactor

* Remove unneeded change

* Fix build failling due to type difference

* Extend changeset description
2022-10-12 15:11:25 -03:00
Erika
f604ef6c69
Run astro check on all examples in CI (#5022)
* Run astro check on all examples in CI

* Output stderr

* Build Astro before running checks

* Making things faster + colors

* Fix errors inside examples

* Add congrats message

* Revert unentional change to tsconfigs

* Remove more unneeded changes
2022-10-12 09:48:29 -03:00
Matthew Phillips
f93625eafe
Run benchmarks on comment (#4960)
* Run benchmarks on !bench command

* Re-enable main
2022-10-03 16:11:20 -04:00
Bjorn Lu
812658ad2a
Remove shamefully-hoist (#4842) 2022-09-28 23:13:33 +08:00
Michael Rienstra
7481ffda02
create-astro: always create tsconfig.json (#4810)
* `create-astro`: always create `tsconfig.json`

Currently, we only make sure `tsconfig.json` exists when `strict` or `strictest` is selected. Both `default` & `optout` are intended to correspond to `base` -- and will do so for all [23 official templates](https://github.com/withastro/astro/tree/main/examples), but not necessarily for third-party templates.

The [example command for installing a third-party template](https://github.com/withastro/astro/blob/a800bf7/packages/create-astro/README.md?plain=1#L31-L35) is (rather conveniently for the sake of this PR!) an example of a template without a `tsconfig.json` file, and installing it with the `default` ("Relaxed") Typescript option results in no `tsconfig.json` file, rather than a `tsconfig.json` file containing `{ "extends": "astro/tsconfigs/base" }` as would be expected.

This PR addresses this scenario. 

It also explicitly sets the `tsconfig.json` file to `{ "extends": "astro/tsconfigs/base" }` when `default` (which I renamed to `base`, still presented to the user as "Relaxed") or `optout` is selected (`optout` has always printed a warning about the importance of `tsconfig.json` & `src/env.d.ts` but otherwise behaved identically to `default`). This is necessary in two scenarios:

1. When the `tsconfig.json` file was created by this script.
2. When it either didn't already include `"extends"`, or it extended a different config by default. For example, some third-party templates might default to `strict`, in which case I'm guessing we'd want to respect the user's choice and change that to `base`.

* update `del` 6.1.1 --> 7.0.0

* test: prevent excess writes
(without this it triggers many times)

* test: create-astro typescript prompt

* changeset

* fix: recursive `mkdirSync`

* test: longer timeout for `windows-latest` OS
(see if this fixes failing tests)

* better glob path creation, don't hardcode `/`

* test: longer timeout for windows-latest OS
(since I'm about to trigger another CI run by pushing a commit, might as well try this too)

* create-astro test: show last CLI output on timeout

* drop variable timeout
Typescript tests are slower than directory tests, but they are all usually less than 5000 ms. Less complexity, easier to maintain.

* DRY new error output

* Update lockfile

* Sync lockfile with main

* Update lockfile

Co-authored-by: Princesseuh <princssdev@gmail.com>
2022-09-22 14:37:01 -04:00
Matthew Phillips
5986517b4f
Make React integration work with Deno (#4679)
* Remove removed packages folder

* fix

* Add a changeset
2022-09-08 12:30:49 -04:00
Bjorn Lu
1be49088cc
Bump pnpm version (#4488) 2022-08-26 09:01:58 -04:00
Nate Moore
9f067dca27
Astro 1.0.0 (#4214)
* chore: remove changesets patch

* chore: add changesets

* chore: version packages

* chore: normalize formatting

* chore: update lockfile

* chore: fix codeblocks

* Update packages/astro/CHANGELOG.md

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

* Update packages/astro/CHANGELOG.md

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

* Update packages/astro/CHANGELOG.md

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

* chore: fixup code samples

* chore: move v0.25 message out of note

Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca>
2022-08-09 11:10:25 -05:00
Erika
24c8e7d853
Add prettier-plugin-astro to the monorepo (#4083)
* Add `prettier-plugin-astro` to the monorepo

* Fix issue that prevent formatting Picture component

* Revert "Fix issue that prevent formatting Picture component"

This reverts commit 5536c5122ca01c64e2be6bdbc88aaaa71a690a58.

* Add back CLI parameter

* Update to latest prettier plugin

* Add more ignored files, unfortunately
2022-08-05 21:36:31 -07:00
Nate Moore
c1248e9ed4
Update turbo scripts (#4177)
* chore: update turbo scripts

* fix: typo

Co-authored-by: Nate Moore <nate@astro.build>
2022-08-05 16:18:56 -05:00
Fred K. Schott
778a4d2af1
update test coverage to include more Node and Windows tests (#4144)
* update node test coverage to include v18, more windows tests

* chore(ci): update turbo to account for OS and NODE_VERSION

* chore: disable node@18, add TODO

Co-authored-by: Nate Moore <nate@astro.build>
2022-08-05 15:14:19 -05:00
Nate Moore
27ee8b97ae
Overhaul HMR handling for .astro files (#3932)
* feat(hmr): overhaul HMR handling for `.astro` files

* test: remove irrelevant hmr-css test

* fix: ignore HMR logs for monorepo files

* fix: explicitly call import.meta.hot.decline()

* chore: add changeset

* fix: run smoke tests in serial

* chore: bump postcss test timeout

* test: fix undefined `this`

Co-authored-by: Nate Moore <nate@astro.build>
2022-07-22 13:37:20 -05:00
Ben Holmes
aa06fd9f9a
[Smoke] Add docs and astro.build to smoke test (#3941)
* feat: add docs and astrobuild to checkout

* fix: checkout external repos after main

* wip: build each external repo separately?

* Revert "wip: build each external repo separately?"

This reverts commit 042a3b2a8b33cfcff1622c2002bdfa43a5532ea8.

* fix: move checkout to smoke/

* chore: add react to peer dep ignores for CI
2022-07-18 16:00:00 -04:00
Chris Swithinbank
31f9c0bf02
Roll back supported Node engines (#3937)
Fixes #3936
2022-07-15 08:15:04 -04:00
Randall
b487679853
Rollback Nodejs Dependancy (#3914)
* Rollback Nodejs Dependancy

Closes #3908

Signed-off-by: Randall T. Vasquez <ran.dall@icloud.com>

* Create ninety-apes-talk.md
2022-07-13 17:06:37 -04:00
Nate Moore
93e1020b1e
Fix: reintroduce smoke tests across example projects (#3669)
* chore: update smoke tests

* chore: bump smoke tests to node@16

* chore: remove gitmodules

* chore(ci): prefer node@14

* wip: remove path from smoke clone step

* feat: run build:examples from test:smoke

* fix: remove no-frozen-lockfile

* fix: checkout monorepo last for pnpm setup

* wip: replace @astrojs/markdown/remark import from md

* fix: remove type defs from generated file

* fix: function order

* chore: remove ssr-utils export

* wip: remove windows from smoke test

* fix: instantiate slugger in snippet

* fix: exclude with-mdx from smoke (for now)

* fix: add quotes on filter flag for safety

* chore: changeset

* wip: try reintroducing windows smoke

* sad chore: remove client: directive from with-mdx

* Revert "wip: try reintroducing windows smoke"

This reverts commit 9529b1a45c.

Co-authored-by: Nate Moore <nate@astro.build>
Co-authored-by: bholmesdev <hey@bholmes.dev>
2022-07-11 22:51:17 -04:00
Nate Moore
1cc5b78905
fix(#3071): update supported node versions (#3871)
Co-authored-by: Nate Moore <nate@astro.build>
2022-07-11 11:32:53 -05:00
Erika
f9ed77bb0d
Add editor integrations to language integrations (#3864) 2022-07-08 17:47:01 -04:00
Nate Moore
0e01e0bb58
Upgrade to pnpm@7.4.1, remove patch-package (#3747)
* 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>
2022-07-07 12:52:53 -05:00
Nate Moore
f9290b328a
CI: Prefer per-job cache rather than artifact I/O (#3781)
* chore(ci): prefer per-job cache rather than artifact io

* chore: update cache step

* chore: fix cache key

* chore(ci): build on windows as well

* chore(ci): enable remote cache

* chore: run build on all three platforms

* chore: prefer turbo to custom caching logic

* chore: build AFTER install

* chore: build on node 14

* chore: remove build, parallelize tasks

* chore: update cache

* chore: prime build caches

* chore: fix indentation

* chore(ci): only build on ubuntu

* chore(ci): changelog needs build

* chore(ci): ignore updates to md files

* chore(ci): add 20 min timeout for e2e tests

* chore(ci): enable FORCE_COLOR

* chore: run turbo with `--output-logs=new-only`

Co-authored-by: Nate Moore <nate@astro.build>
2022-06-30 16:26:37 -05:00
Nate Moore
032ad1c047
MDX support (#3706)
* feat: first pass at MDX support

* fix: move built-in JSX renderer to come first

* chore: remove jsx example

* chore: update lockfile

* chore: cleanup example

* fix: missing deps

* refactor: move component render logic to `renderPage`

* chore: update HMR script

* chore: update MDX example

* refactor: prefer unshit

* refactor: remove TODO comment

* fix: remove duplicate identifier

* refactor: cleanup mdx entrypoint

* fix: better html handling

* fix: add tsconfig to mdx package

* chore: update lockfile

* fix: do not sort plugins unless mdx is enabled

* chore: update compiler

* fix(hmr): maybe render head for non-Astro pages

* fix: set initial pageExtensions

* refactor: cleanup addPageExtension

* refactor: remove addPageExtensions from types

* refactor: expose HookParameters type

* fix: only default to astro for MDX

* test: pick up jsx support in test fixtures

* refactor: simplify mdx entrypoint

* test: add basic MDX tests

* test(e2e): add mdx + framework tests

* chore: update lockfile

* test(e2e): fix preact mdx e2e test

* fix(mdx): disable .md support

* test(e2e): fix vue-component test missing mdx

* test(e2e): fix solid component needing import

* fix: allow `client:only="solid"` as an alias to `solid-js`

* chore: move to with-mdx example

* chore: update MDX readme

* chore: update example readme

* chore: bump astro version

* chore: update lockfile

* Update mod.d.ts

* feat: support `export const components` in MDX pages

* chore: update mdx example

* fix: update jsx-runtime with better slot support

* refactor: remove object style support

* chore: cleanup package exports

* chore: add todo comment

* refactor: improve isPage function, move to utils

* refactor: dry up manual HMR updates

* chore: add dev tests for MDX

* chore: prefer set to array

* chore: add changesets

* fix(hmr): flip public/private route

Co-authored-by: Nate Moore <nate@astro.build>
2022-06-30 13:09:09 -05:00
Fred K. Bot
768c8ed21d
[ci] update lockfile (#3740)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-06-28 08:33:13 -05:00
Fred K. Schott
9d78162fd9
Prettier update with caching speedup (#3710)
* update lockfile on fresh install

* update prettier
2022-06-27 11:24:22 -07:00
Tony Sullivan
b8c6dabfb7
Enables eslint on the full repo and adds a rule for no only() tests (#3659)
* 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
2022-06-22 15:59:49 +00:00
Fred K. Schott
5b06398b7b
format: automatically organize imports and removed unused (#3499)
* add import formatting

* chore: update lockfile

Co-authored-by: Nate Moore <nate@skypack.dev>
2022-06-06 09:47:28 -07:00
Fred K. Schott
cfb85ee10e
[ci] update lockfile (#3495)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-06-01 10:39:32 -05:00
Fred K. Schott
c9d8b10a85
[ci] update lockfile (#3448)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-05-31 11:46:13 -05:00
Fred K. Schott
ffe5cf0312
update typescript (#3456) 2022-05-27 14:53:04 -05:00
Fred K. Schott
ccaea99765
[ci] update lockfile (#3419)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-05-24 11:43:37 -05:00
Tony Sullivan
ff56f083bc
Adding E2E tests for client hydration and HMR (#3374)
* adding Tailwind E2E tests with Playwright

* package.json updates

* adding e2e tests to CI workflow

* using e2e for dev tests, mocha for build tests

* refactor: sharing test-utils helpers

* chore: update lockfile

* Adding contributing docs

* Revert "refactor: sharing test-utils helpers"

This reverts commit 48496f43bc99eab30747baf6e83041ba4932e786.

* refactor: simpler solution to resolving e2e test fixtures

* chore: updating lockfile

* refactor: cleaning up how URLs are resolved in e2e tests

* install playwright deps in CI

* ensure playwright deps are installed during CI

* adding a basic HMR test for tailwind styles

* using @e2e for playwright test packages

* adding react hydration and HMR tests

* adding hydration and HMR tests  for preact

* adding svelte hydration and HMR tests

* adding solid-js hydration and HMR tests

* adding solid hydration and HMR tests

* adding vue hydration and HMR tests

* adding client:media tests

* fixing Lit hydration and HMR tests

* fixing up the Vue e2e tests

* fixing up svelte tests

* chore: test cleanup

* chore: cleaning up test element IDs

* chore: updating lock file

* chore: update lockfile after merge

* TEMP: disabling React e2e tests

* Revert "TEMP: disabling React e2e tests"

This reverts commit ed1bad9cbc.

* updating to use the new editFiles helper

* chore: updating lock file

* updating lock file

* updating lockfile

* TEMP: watching for console logs

* TEMP: testing typescript tests

* updating test:e2e scripts for config file

* seems like it didn't find the config file?

* use a fresh dev server for each test

* removing Lit tests for now

* Revert "removing Lit tests for now"

This reverts commit 4970a8093e.

* updating test config for CI

* WIP: disabling HMR tests to track down why they're unreliable

* TEMP: logging to debug HMR test

* afterEach isn't a global in Playwright

* fix: the test's file reset helper was using a URL not filepath

* one last try, why is the HMR test hanging at cleanup?

* resetting files after tailwind HMR test

* create the onNextChange watcher before editFile is called

* moving the file changed sync into editFile()

* code refactor + Astro Component HMR test

* chore: lint fixes

* adding a test suite for the framework-multiple example app
2022-05-23 16:56:45 +00:00
Fred K. Schott
ef32b7c39c
[ci] update lockfile (#3395)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-05-18 10:15:42 -05:00
Fred K. Schott
d102cab126
[ci] update lockfile (#3386)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-05-17 11:44:50 -04:00
Fred K. Schott
9dd16bace5
[ci] update lockfile (#3363)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-05-16 13:33:16 -05:00
Tony Sullivan
2b622b5e0f
Adding E2E testing with Playwright (#3349)
* adding Tailwind E2E tests with Playwright

* package.json updates

* adding e2e tests to CI workflow

* using e2e for dev tests, mocha for build tests

* refactor: sharing test-utils helpers

* chore: update lockfile

* Adding contributing docs

* Revert "refactor: sharing test-utils helpers"

This reverts commit 48496f43bc99eab30747baf6e83041ba4932e786.

* refactor: simpler solution to resolving e2e test fixtures

* chore: updating lockfile

* refactor: cleaning up how URLs are resolved in e2e tests

* install playwright deps in CI

* trying pnpm playwright install to fix version mismatch
2022-05-15 21:47:28 +00:00
Fred K. Schott
7cd4b1bc12
[ci] update lockfile (#3287)
* [ci] update lockfile

* chore: fix lockfile

* fix: pin turbo

Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
Co-authored-by: Nate Moore <nate@skypack.dev>
2022-05-12 11:42:34 -05:00
Tony Sullivan
b463ddb3ce
Resolve components by module ID during compilation (#3300)
* WIP: adding test coverage

* test fixes

* moving the shared lib up a directory to reproduce the bug

* fix: transform with the module ID instead of parsing the filepath

* adding the shared lib to the workspaces list

* fix: client-only assets now get the full URL from vite

* why is this needed for windows?

* WIP: using /@fs to handle windows filepaths

* fix: remove /@fs from hoisted script imports

* nit: removing unused imports

* fix: strip off the path root when mapping client:only styles

* had to reverse the `/@fs` handling to work on windows and unix

* chore: adding comments to explain the fix

* chore: adding changeset
2022-05-12 10:04:01 -06:00
Juan Martín Seery
dd9ffc317f
chore: pnpm v7 (#3259) 2022-05-03 10:31:16 -03:00
Fred K. Schott
bd76716c88
[ci] update lockfile (#3162)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-04-22 10:04:01 -04:00
Ben Holmes
7c49194ca2
Feat: [create astro] add directory prompt (#3168)
* 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
2022-04-21 16:36:48 -04:00
Fred K. Schott
00b8343844
[ci] update lockfile (#3153)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-04-20 09:42:31 -04:00
Matthew Phillips
c459c87325
Add script for Vite CI (#3093) 2022-04-12 13:10:14 -04:00
Juan Martín Seery
3d96315545
chore: updated turborepo (#3039)
* chore: updated turborepo

* Revert changes to turbo.json

* Simplified test command

* tests should run serially

Co-authored-by: Fred K. Schott <fkschott@gmail.com>
2022-04-11 15:55:28 -07:00
Fred K. Schott
771127ea29
remove unused renderers (#3063) 2022-04-11 11:19:41 -07:00
Fred K. Schott
01b02d849a attempt to fix the 'no commits' bug in changeset 2022-04-10 20:11:43 -07:00
Fred K. Schott
77c0be5b26
update lockfile (#3059) 2022-04-10 19:12:30 -07:00
Fred K. Schott
a9ecefb8ac
fix our weird beta release issues (#3031) 2022-04-10 18:17:39 -07:00
Juan Martín Seery
982f64f69a
chore: updated esbuild (#3028)
* chore: updated esbuild

* Changeset
2022-04-10 14:33:10 -07:00
Matthew Phillips
c6f8bce7c3
Fix Netlify adapter and dynamic routes (#3011)
* Fix Netlify adapter and dynamic routes

* Changeset
2022-04-06 16:21:46 -04:00
Fred K. Schott
bffc212825 Revert "keep publishing to latest, even in pre mode (#2990)"
t
This reverts commit dbefa16e57.
2022-04-04 15:22:52 -07:00
Fred K. Schott
dbefa16e57
keep publishing to latest, even in pre mode (#2990) 2022-04-04 15:18:47 -07:00
Fred K. Schott
3483cc2285
exit prerelease mode (#2967) 2022-04-02 13:37:28 -06:00
Matthew Phillips
13b271bc7d
Deno adapter (#2934)
* 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
2022-03-30 08:42:19 -04:00
Fred K. Schott
23b8ee2738
[ci] update lockfile (#2930)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-03-29 08:59:46 -07:00
Fred K. Schott
9904c4c89d
[ci] update lockfile (#2900)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-03-28 15:47:17 -07:00
Fred K. Schott
df8fac50b9
[ci] update lockfile (#2882)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-03-25 09:45:12 -05:00
Fred K. Schott
1026345715
[ci] update lockfile (#2854)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-03-24 15:10:43 -05:00
Nate Moore
5c96145527
add build:ci command which skips tsc (#2869) 2022-03-23 19:46:16 -05:00
Fred K. Schott
b6553cfdc1 update ci to fix congratsbot 2022-03-21 16:17:15 -07:00
Fred K. Schott
7943334e01 update ci to fix congratsbot 2022-03-21 15:55:31 -07:00
Fred K. Schott
6386c14d00
Astro Integration System (#2820)
* 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
2022-03-18 15:35:45 -07:00
Fred K. Schott
498ef59b0e
[ci] update lockfile (#2810)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-03-16 09:53:46 -05:00
Fred K. Schott
2314eba9a4
[ci] update lockfile (#2773)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
2022-03-14 10:23:35 -07:00
Fred K. Schott
1634172ff9
[ci] update lockfile (#2763)
Co-authored-by: FredKSchott <FredKSchott@users.noreply.github.com>
Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2022-03-11 16:38:28 -06:00
Fred K. Schott
79fc320480
update deps: esbuild, typescript (#2750)
* update dep: typescript

* update dep: esbuild

* update types

* update types

* update dep: es-module-lexer

* update tests
2022-03-10 09:55:40 -06:00
Nate Moore
72c2c86e9d
merge next into main (#2705)
* 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>
2022-03-09 15:44:26 -06:00
Juan Martín Seery
0281d6a65b
chore: npmrc update (#2742)
* Updated npmrc

* Removed volta in favor of engines

* ignore pnpm lock

* move comments
2022-03-09 12:36:56 -06:00
Juan Martín Seery
c5361a131d
chore: update actions (#2738)
* upgraded workflow actions

* removed unnecessary envs + some formatting

* removed extra instruction

* bumped pnpm version
2022-03-09 13:12:12 -03:00
Nate Moore
d08ddaf5b9
Move from yarn to pnpm (#2455)
* chore: `yarn` => `pnpm`

* docs: `yarn` => `pnpm`

* chore(ci): yarn => pnpm

* chore(ci): update pnpm cache path

* fix: add missing deps

* fix: add missing deps

* test: add package.json to all test fixtures

* chore: improve hoisting behavior

* chore: move turbo into package.json

* chore: update npmrc

* fix: add missing `debug` dependency

* chore: remove prepare script

* test: fix new tests

* fix: fully resolve renderer paths and `astro/internal` path

* chore: update lockfile

* chore: remove log

* fix: resolve renderers in vite-plugin-jsx

* fix: prefer public-hoist-pattern to shamefully-hoist

* chore: ignore @babel/core peer warning

* chore: update dependencies

* test: add autoprefixer as explicit dep

* chore: update `.npmrc` file in examples

* chore: update dependencies

* fix: resolve renderer dependencies in static build

* fix: static build renderer resolution

* chore: fix smoke tests

* chore: hoist autoprefixer

* chore: update lockfile

* attempt: use full file:// path on Windows

* attempt: use astro/internal

* attempt: optimize astro/internal

* attempt: expose ./internal.js

* chore: add missing package.json files

* attempt: resolve astro/internal path

* chore: tidy package.json

* chore: update lockfile

* chore: update deps

* chore: update deps

* chore: yarn -> pnpm

* attempt: explicit /@fs urls

* attempt: explicit /@fs urls

* chore: update all examples for pnpm

* chore: fix hoisting for with-vite-plugin-pwa

* chore(ci): fix sharp install

* chore: update with-vite-plugin-pwa example

* fix: pin vite-plugin-pwa to 0.11.11

* fix: add workbox-window to vite-plugin-pwa deps

* refactor: use pnpm update --recursive

Co-authored-by: JuanM04 <me@juanm04.com>

* chore: yarn => pnpm

* chore: yarn => pnpm

* fix: update smoke test to skip examples which don't work in static build

* update lockfile

* chore: update .npmrc files

* chore: update lockfile

* fix: smoke script

* chore: update .npmrc file

* fix: return to shamefully-hoist (shamefully)

* chore: update lockfile

* fix(smoke): ignore scripts for smoke tests

* fix: update example to disable renderers

* chore: bump version

* chore(ci): fix smoke tests

* attempt: disable --frozen-lockfile for smoke tests

* chore: update smoke test

* chore: fix rebase issue

* chore: update lockfile

* fix: smoke tests

* fix(ci): run external smoke tests first

* fix(ci): run syntax

* chore: update lockfile

* fix(ci): ensure submodules are up-to-date

* fix(ci): ensure submodules are up-to-date

* chore: update lockfile

* chore: update for webapi

* chore: silence node:* warnings

* chore: update deps

* fix(ci): persist generated webapi assets

* fix(ci): webapi build script

* chore(ci): remove custom node caching

* chore: keep turbo.json

* chore: update turbo, ignore create-astro

* chore: update deps

* fix(ci): test command

* chore(ci): update test script

Co-authored-by: JuanM04 <me@juanm04.com>
2022-03-08 15:46:11 -06:00
Nate Moore
f18ee36dc0
Add @astrojs/webapi package (#2729)
* chore: add @astrojs/webapi

* chore: update package.json

* fix: update file case

* fix: remove lowercase file

* chore: update tests to use mocha

* chore: update LICENSE
2022-03-07 15:36:22 -06:00
Fred K. Schott
918f1ea4f7
Make smoke tests more deterministic (#2618)
* sync first remote smoke tests

* update smoke test scripts
2022-02-28 21:38:17 -08:00
Nate Moore
37d4dd8d57
Improve smoke tests (#2617)
* chore(ci): improve smoke tests

* chore: skip www test
2022-02-18 15:40:03 -06:00
Matthew Phillips
23783648b6
Adds memory leak test in CI (#2616)
* 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
2022-02-18 14:23:47 -06:00
Jonathan Neal
fb9a77b77f
Update smoke tests to include external docs and www (#2557)
* Update smoke tests

* nit: remove old comment

* chore: have smoketests use workspace

* nit: re-order application and execution
2022-02-15 10:51:12 -05:00
Fred K. Schott
d9691cf705 Revert "Added prettier-plugin-astro (#2513)"
This reverts commit 73bf4d8bb8.
2022-02-09 13:56:00 -08:00
Juan Martín Seery
73bf4d8bb8
Added prettier-plugin-astro (#2513)
* [ci] yarn format

* Added prettier-plugin-astro

* Reverted docs changes (withastro/docs#120)

Co-authored-by: JuanM04 <JuanM04@users.noreply.github.com>
Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
2022-02-07 15:11:44 -05:00
Jonathan Neal
a911d14eab
Remove docs from monorepo (#2517)
* Remove docs from monorepo

* Update PULL_REQUEST_TEMPLATE.md

* Update relative doc references with links or todo
2022-02-07 13:39:53 -05:00
Fred K. Schott
6789277fd6 update turbo config 2022-01-29 08:55:13 -08:00
Matthew Phillips
6bd165f84c
Handle project folders containing a space in the static build (#2486)
* 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
2022-01-28 20:29:28 -05:00
Fred K. Schott
b088d81070
add a new test:match command script (#2470) 2022-01-26 22:05:03 -08:00
Matthew Phillips
dfe1f8b4e7
Pass user's viteConfig.ssr to the build (#2442)
* Pass user's viteConfig.ssr to the build

* Changeset
2022-01-24 08:55:26 -05:00
Nate Moore
b21dd19cb6
chore: remove www (#2361) 2022-01-11 12:59:06 -06:00
Jonathan Neal
6ddd7678ff
Use accessible indentation (#2253) 2021-12-22 16:11:05 -05:00
Jonathan Neal
033b70a7f8
Add Component Example (#2203)
* Add Component Example

* chore(lint): Prettier fix

* nit: improve implementation

* nit: Update documentation

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-12-17 08:47:59 -05:00
Jonathan Neal
45cea6aec5
Support Node v14.15+ (#2202)
* Support Node v14.15+

* changeset

* Update .changeset/new-hats-design.md

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

* Update .changeset/new-hats-design.md

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

* Update .changeset/new-hats-design.md

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

* ES2020

* update yarn.lock

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2021-12-16 18:53:22 -05:00
Fred K. Schott
a656155629
improve our smoke tests to run on all examples (#2174)
* improve smoke test

* chore(lint): Prettier fix

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-12-13 14:31:18 -08:00
Jonathan Neal
6570a20442
rebase (#2087) 2021-12-13 16:18:21 -05:00
Jonathan Neal
c3db1eb4ef
Upgrade dependencies (#2085)
* yarn upgrade

* yarn upgrade --latest yargs-parser

* yarn upgrade --latest mime

* yarn upgrade --latest execa

* yarn upgrade --latest globby

* yarn upgrade --latest @docsearch/react

* yarn upgrade --latest es-module-lexer

* yarn upgrade --latest fast-xml-parser

* yarn upgrade --latest @astrojs/compiler @astrojs/language-server

* yarn upgrade --latest acorn

* clean yarn.lock

* chore: put `@docsearch/react` back to v1

* chore: remove unused @snowpack/plugin-dotenv

* Update yarn.lock

* Patch tests based on newer versions of tooling

* remove lerna

* Update yarn.lock

* Update yarn.lock

* Pin @sveltejs/vite-plugin-svelte

* update yarn.lock
2021-12-13 15:59:08 -05:00
Nate Moore
16484f603d
Adopt turborepo (#2167)
* chore: use turbo

* chore(lint): Prettier fix

* chore(actions): fix ci

* chore(actions): add turbo caching

* chore(actions): test turbo caching

* chore: remove test dependency on build

* chore: fix build outputs

* chore(actions): restore tests from cache

* chore(actions): fix turbo cache

* chore(actions): fix turbo cache

* chore(actions): restore turbo after artifacts

* chore(actions): caching is hard

* chore: force ci

* chore(actions): prefer-offline for yarn install

* chore(actions): attempt to cache turbo based on sha

* chore: remove lerna.json

* chore(action): update restore keys

* chore(action): sidestep turbo for windows tests

* chore(action): do not restore unhashed files

* chore(action): fix typo

* chore(action): fix typo

* chore(action): fix typo

* chore(action): fix artifacts paths

* chore(action): sync turbo cache

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2021-12-09 18:11:49 -06:00
Nate Moore
4067151aec
Improve GitHub Actions (#2041)
* chore(actions): test new CI action

* chore(actions): switch action order

* chore(actions): update registry

* chore(actions): remove debug

* chore(actions): target all packages

* chore(actions): test artifacts

* chore(actions): try moving artifacts

* chore(actions): test moving

* chore(actions): test tar approach

* chore(actions): test tar approach

* chore(actions): use artifacts/packages before tar

* chore(actions): test mv -vn

* chore(actions): mkdir first

* chore(actions): how does tar work?

* chore(actions): so good at bash

* chore(actions): test matrix

* chore(actions): fix test matrix

* chore(actions): fix windows?

* chore(actions): fix windows?

* chore(actions): fix windows!

* chore(actions): fix windows!

* chore(actions): add lint

* chore(actions): add back old actions

* chore(actions): test notification action

* chore(actions): test notification action again

* chore(actions): fix extract action

* chore(actions): fix action?

* chore(actions): fix action?

* chore(actions): fix newlines

* chore(actions): test --production flag

* chore(actions): test --production flag for test

* chore(actions): add execa to production deps

* chore(actions): add cheerio to production deps

* chore(actions): add production deps for tested examples

* chore(actions): fix changelog action

* chore(actions): attempt to use --prefer-offline

* chore(actions): revert dependencies/devDependencies change

* chore(actions): update all actions

* chore(actions): add smoke test

* chore(actions): update changelog deps

* chore(actions): move notify script

* chore(actions): consolidate main scripts

* chore(actions): update changelog name

* chore(actions): update congratsbot

* chore(actions): update ci

* chore(actions): change lint/format strategy

* chore(actions): expose GITHUB_TOKEN to linter

* chore(actions): update lint

* chore(actions): enable autofix

* chore(actions): fetch-depth 0

* chore(actions): fix eslint extensions

* chore(actions): debug lint

* chore(actions): fix eslint args

* chore(actions): fix eslint?

* [ci] ESLint fix

* [ci] Prettier fix

* chore(actions): fix lint!

* chore(actions): cleanup comments

* chore(actions): fix lint

* chore(actions): lint astro only

* chore(actions): ignore pattern

* chore(actions): no_verify

* chore(actions): disable no verify

* chore(actions): debug status

* chore(actions): add concurrency

* chore(actions): add comment about concurrency

* chore(actions): make release dependent on lint

* chore(actions): move lint first

* chore(actions): run CI on PR or `main` only

* chore(actions): remove GPR publish step

* chore: add back old actions

* chore: revert package.json

* chore: improve changelog with GitHub info

* chore(actions): try pull_request_target

* debug lint

* debug lint

* debug lint

* try pull_request_target

* update pull_request_target perms

* update pull_request_target

* fix perms

* fix run?

* fix run?

* fix run? (part 3)

* fix run? (part 4)

* fix run? (part 5)

* fix run!

* fix run!!

* fix run!!!

* fix run!!!!

* fix run!!!!!

* fix run!!!!!!

* add comment about forks

Co-authored-by: GitHub Actions <actions-user@github.com>
2021-11-29 15:11:15 -06:00
Fred K. Schott
7476a92461
update repo URL (#1994) 2021-11-23 14:47:05 -08:00
Fred K. Schott
6b9ec716ee update deps 2021-11-18 22:38:16 -08:00
Jonathan Neal
a89b3e3eb6
Update yarn.lock to reflect the state of the package.json files (#1892)
* update dependencies

* update file to fix build:all
2021-11-18 16:06:35 -08:00
Fred K. Schott
c2668afed0
add create-astro to build:all (#1872)
* add create-astro to build:all

* mark error objects as any, instead of unknown
2021-11-17 16:22:43 -08:00
Drew Powers
d84bfe719a
🚀 Astro Next (0.21.0) (#1406)
* 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>
2021-10-29 15:30:22 -04:00
FredKSchott
e758060e3b [ci] collect stats 2021-09-10 12:04:54 +00:00
FredKSchott
fa8e6790e6 [ci] collect stats 2021-09-09 12:07:14 +00:00
FredKSchott
d653823ea2 [ci] collect stats 2021-09-04 12:05:51 +00:00
Fred K. Schott
f14762bd12
wip (#1284) 2021-08-31 19:50:25 -07:00
Matthew Phillips
c4cfc0d5fb
Remove VSCode and Langauge Server from this monorepo (#1230)
* Remove VSCode and Langauge Server from this monorepo

* Adds back in the syntax files
2021-08-26 13:14:47 -04:00
Nate Moore
86c47296b4 fix: language server 2021-08-11 15:35:32 -05:00
Fred K. Schott
f0737adf2c
update release CI script to publish (#1034) 2021-08-05 13:39:55 -07:00
Fred K. Schott
e2d37caa53 update relase script 2021-07-24 16:03:38 -07:00
Fred K. Schott
41ec280d51 update relase script 2021-07-24 16:03:25 -07:00
Fred K. Schott
857e2a1fc3 remove tools from workspace to allow for publish 2021-07-24 15:56:19 -07:00
Fred K. Schott
d48db7f284
update deps (#826) 2021-07-22 15:29:32 -07:00
Fred K. Schott
e31e276781
get build-all passing (#795) 2021-07-21 17:39:14 -07:00
Caleb Jasik
07e533402e
Update format script to format all files not ignored via .prettierignore that prettier has a valid parser for. (#768) 2021-07-19 21:06:41 -07:00
Fred K. Schott
a7e66666e4
tsconfig fix (#752) 2021-07-19 18:23:39 -07:00
Fred K. Schott
8e4f2c234a fix the docs dir 2021-07-15 14:19:23 -04:00
Fred K. Schott
007c22065d
move Astro.fetchContent to runtime API (#652) 2021-07-14 14:15:36 -04:00
Matthew Phillips
f62973b5ca
Upgrade to snowpack@3.8.0 (#621)
* Upgrade to snowpack@3.8.0

* Try with 3.8.1-pre.0

* Newest yarn lock

* Add postcss plugin and autoprefixer to the root

* Update the yarn lock

* Prevent typescript recursion

* Use snowpack@3.8.1
2021-07-12 13:59:11 -04:00
Caleb Jasik
6287ec2b8e
Remove prettier-plugin-astro from root package.json (#624)
* Remove `prettier-plugin-astro` from `yarn test` while it is outside the monorepo.

* Apply suggestions from code review

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

Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com>
2021-07-08 10:56:08 -05:00
Matthew Phillips
2d3e369da7
Don't alias builtins if polyfillNode is used (#601)
* Don't alias builtins if polyfillNode is used

* Add the changeset

* Make test be OS agnostic
2021-07-01 16:22:47 -04:00
Matthew Phillips
6a660f1b08
Implements low-level custom element support (#587)
* Implements low-level custom element support

* Changes based on self review

* Adds a changeset

* Polyfills are added even when not hydrating

* Remove hydrationMethod option

Punting on this idea until it's really needed.
2021-07-01 08:42:07 -04:00
Caleb Jasik
05d6fc66bb
prettier-plugin: Add a test for JSX embedded in an attribute. This test currently fails. (#508)
* Add a test for JSX embedded in an attribute. This test currently fails.

* Oops forgot the semicolons on the correct output

* Add `--scope prettier-plugin-astro` so that the prettier plugin is tested on default CI

* Replace `assert.equal` with `assert.fixture` to remain inline w/ main

* Update astro-prettier.test.js

* Skip the other failing test.

Co-authored-by: Fred K. Schott <fkschott@gmail.com>
2021-06-25 15:21:03 -07:00
Matthew Phillips
e316c9578c
Allow usage of node builtins through node: prefix (#520)
* Start of allowing node builtins issue

* Allow use of node:builtin

* Produce an error in Astro files with bare builtin usage

* Upgrade snowpack version

bug fixes for packages that use `node:`

* Document node builtins

* Use the provided builtins list
2021-06-23 16:01:32 -04:00
Caleb Jasik
f9f2da458d
Add repository remotes for all astro packages (#458)
* Add repository remotes for all astro packages

* Add repository.directory key instead of adding the path to repository.url

* Include changeset

* Add repository key to create-astro
2021-06-16 14:09:35 -04:00
Drew Powers
9d3cd49410
Improve templates test (#377) 2021-06-11 15:07:30 -06:00
matthewp
e7b5ad362c [ci] yarn format 2021-06-11 20:34:45 +00:00
Kitto Khrangtong
7d719ff75d
Create initial docs site (#389)
* create initial docs site

* change copy for title and header to say Astro Docs

* create initial docs site

* remove text merge changes

* change workspaceRoot and remove yarn.lock from docs-www

* add docs-www to workspace

Co-authored-by: Kitto Khrangtong <kitto@queensboro.com>
2021-06-11 16:33:36 -04:00
duncanhealy
8d72862a98
update node min version to 14.15.1 for codesandbox (#395) 2021-06-11 16:29:31 -04:00
Matthew Phillips
ce9336115e
Document the minimum node version (#379)
* Document the minimum node version

* Adds the changeset
2021-06-11 09:03:06 -04:00
Drew Powers
a660e49f80
Add integration test for templates (#372) 2021-06-10 10:30:48 -06:00
Fred K. Schott
6bca7c83a7
redesign create-astro (#301)
* redesign create astro

* add changeset

* Use npm start

* Update the astro version

* Adds the changeset

Co-authored-by: Fred Schott <fks@Freds-MBP.attlocal.net>
Co-authored-by: Matthew Phillips <matthew@skypack.dev>
2021-06-08 11:10:56 -04:00
Matthew Phillips
5cc90f9dc1
Move parser to the scoped package name (#319)
* Move parser to the scoped package name

* Prettier plugin should use 0.12 of the parser
2021-06-07 16:05:13 -04:00
Matthew Phillips
50e6f491ad
Use npm package names to load internal deps (#294)
* Use npm package names to load internal deps

This is necessary so that published Astro components work. These components will be built by esinstall and therefore they cannot rely on `_astro_internal`. The fix is to use npm specifiers everywhere.

* Move most of frontend to internal

* Mark astro/internal/markdown.js as external

* Move markdown stuff to its own package

This moves the markdown stuff to its own package so that we can externalize it in the markdown component.

* Add the changeset
2021-06-04 14:19:01 -04:00
Matthew Phillips
f49944c0e7
Improve dev perf by not esinstalling Node deps (#253)
* Improve dev startup by making most dependencies externals

This moves most dependencies to be an `external` for Snowpack, preventing backend deps from going through esinstall.

* Update benchmark times

* chore: add benchmark script for convenience

* fix: update externals to allow renderers

* chore: update benchmark times

Co-authored-by: Nate Moore <nate@skypack.dev>
2021-05-28 17:51:50 -05:00
Drew Powers
a0055bd985
Create astro fixes (#267)
* Remove create-astro from workspace

* Improve contrast ratio

* Swap blank template for blog template

* Remove counter components from blog template

* Use `latest` astro version
2021-05-28 10:06:22 -06:00