Commit graph

229 commits

Author SHA1 Message Date
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
Nate Moore
191186af43 TEMP: skip create-astro tests 2021-05-26 18:52:53 -05:00
Nate Moore
643c880f28
Renderer plugins (#231)
* refactor: pluggable renderers

* refactor: cache renderer per component

* docs: update comments on snowpack plugin `transform` method

* docs: add comments to renderer plugins

* refactor: convert components to Map

* fix: pass children through to astro __render

* refactor: move Components/ComponentInfo to shared types

* refactor: remove `gatherRuntimes` step, just scan output for imports

* refactor: update isComponentTag logic

* chore: move dependencies to renderers

* fix: cross-platform transform injection

* feat: defer renderer to react, fallback to preact

* fix: use double quotes in generated script

* test: fix failing children tests

* test: add workspaceRoot to all tests

* fix: pass props to renderer check

* chore: add test:core script back for convenience

* chore: remove unused external

* chore: rename renderers

* chore: add astring, estree-util-value-to-estree

* chore: render-component => __astro_component

* refactor: split hydrate logic to own file

* refactor: use `astro-fragment` rather than `div`

* chore: remove unused hooks

* chore: delete unused file

* chore: add changesets

* fix: Astro renderer should be async

* fix: remove <astro-fragment> for static content

* test: fix failing test

* chore: normalize config interface

* feat: allow renderers to inject a snowpackPlugin

* fix: resolve import URL before using dynamic import

* refactor: update renderers to use separate /server entrypoint

* refactor: update server renderer interface

* fix: get renderers working again

* test: debug failing test

* test: better debug

* test: better debug

* test: remove debug

* fix: support esm and cjs packages via "resolve"

* refactor: split hydrate functions into individual files

* fix: dependency resolution relative to projectRoot

* fix: @snowpack/plugin-postcss needs to be hoisted

* fix: do not test prettier-plugin-astro as it's not ready for primetime
2021-05-26 13:30:22 -05:00
Drew Powers
f5ecbee192
Add test for npm init astro (#238)
* Add test for npm init astro

* Use Lerna to run test
2021-05-24 16:18:56 -06:00
木杉
cce8ac72e0
Make Astro compatible with Windows (#215) 2021-05-17 17:52:11 -05:00
Nate Moore
b3886c206f
Fix markdown issues (#208)
* Init fix/markdown

* Astro Markdown (#207)

* Add Astro Markdown to VSCode Extension

* Add Astro Markdown to Astro

* refactor: update astro-markdown example

* feat: remove embedded components from `.md` files

* fix: resolve `.md.astro` files at runtime

* chore: update markdown tests

* feat: add <Markdown> component

* chore: bump examples

* chore: update example

* fix: improve Markdown child handling

* feat: harden markdown support, add code fence support, add automatic dedenting

* chore: add weird markdown edge cases

* chore: update remote-markdown examples

* chore: add comment to Markdown.astro

* feat: improve markdown support (codefences, nested inside HTML)

* refactor: extract import specifier types to set

* refactor: conditionally import markdown renderer

* refactor: revert special-cased "astro/components"

* refactor: revert special-cased "astro/components"

* refactor: use astro/components/Markdown.astro

* refactor: remove `.md.astro` support in favor of Markdown component

* refactor: use regular .astro files

* refactor: remove unused code

* refactor: move Markdown inside Layout

* wip: markdown scoped styles

* feat: improve scoped styles in Markdown

* feat: micromark => remark ecosystem

* fix: markdown build

* fix: markdown build

* chore: add todo

* fix: collect headers text

* docs: add Markdown doc

* chore: add changeset

* docs: improve Markdown highlighting

* refactor: prefer Set

* refactor: exclude large unified deps

* docs: update markdown docs

Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>

* chore: remove extra markdown deps

* perf: optimize markdown

* fix: unified/rehype deps

* temp: fix markdown test

* test: add TODO comment

* fix: do not namespace frontmatter, just astro metadata

* test: fix astro-markdown test

* test: add realworld markdown example

* fix: prism language bug

* docs: update markdown docs

* chore: bump dependencies

* fix: escape codespan

* fix: unterminated string literal

* fix(vscode): inline dependencies

* fix(vscode): dependencies

* feat(vscode): embedded markdown

* feat: add Markdown syntax highlighting

* chore: improve markdown example

* fix: markdown example

* feat: highlighting improvements

* chore: add changeset

* fix: CodeBlock => CodeSpan

* chore: get astro-markdown example running

Co-authored-by: Jonathan Neal <jonathantneal@hotmail.com>
2021-05-17 09:29:16 -05:00
Nate Moore
06edbd1aad fix: format 2021-05-13 14:28:38 -05:00
Nate Moore
087fe6276f
chore: format workflow, format .astro files (#211) 2021-05-13 14:20:01 -05:00
Drew Powers
3ef1b01e14
[wip] Fix CI (#202)
* Yarn format

* Fix changeset --since

* Fix Windows tests
2021-05-12 12:06:16 -06:00
Drew Powers
b81abd5b2c
Add CSS bundling (#172)
* Add CSS bundling

* Add Changeset

* Update build script

* Count better

* Fix stats

* Cleanup

* Add test

* Show profile ms under 750ms
2021-05-06 10:38:53 -06:00
Nate Moore
64f4f74fb6
Split out astro-languageserver and astro-vscode (#173) 2021-05-05 12:44:31 -05:00
Drew Powers
94038d3297
Format (#167) 2021-05-03 12:26:10 -06:00
Nate Moore
c93201a909
Refactor astro export map, add source-map-support (#161)
* fix: add svelte plugin for esbuild, remove precompiled svelte components

* refactor: public export map, public types

* feat: add source-map-support to common code paths

* chore: move new "exports" to "imports" map, add internal types

* Include outPath in error logging for bad load status, and drop error stack (#163)

* Include outPath in the error logging for bad load status

* Discard error stack since it seems not useful

* feat: improve build error logging

* refactor: use object param for writeResult

Co-authored-by: Kevin (Kun) "Kassimo" Qian <kevinkassimo@gmail.com>
2021-05-03 13:18:08 -05:00
Drew Powers
4ff3add50f
Clean dependencies (#166)
* Clean dependencies

This moves some dependencies around where they should be

* Formatting
2021-05-03 11:47:51 -06:00
Nate Moore
c74f3e70f1
Adds .editorconfig file (#162)
* chore: adds .editorconfig file

* chore: move devDeps to root
2021-05-03 12:41:39 -05:00
Nate Moore
4df1347156
Migrate to yarn monorepo (#157)
* chore: use monorepo

* chore: scaffold astro-scripts

* chore: move tests inside packages/astro

* chore: refactor tests, add scripts

* chore: move parser to own module

* chore: move runtime to packages/astro

* fix: move parser to own package

* test: fix prettier-plugin-astro tests

* fix: tests

* chore: update package-lock

* chore: add changesets

* fix: cleanup examples

* fix: starter example

* chore: update changeset config

* chore: update changeset config

* chore: setup changeset release workflow

* chore: bump lockfiles

* chore: prism => astro-prism

* fix: tsc --emitDeclarationOnly

* chore: final cleanup, switch to yarn

* chore: add lerna

* chore: update workflows to yarn

* chore: update workflows

* chore: remove lint workflow

* chore: add astro-dev script

* chore: add symlinked README
2021-04-30 16:33:35 -05:00
Nate Moore
a79c63750f chore: release 0.0.9 2021-04-30 09:36:19 -05:00
Nate Moore
509fad6b9a
Fix Svelte bundled behavior (#151)
* build: add svelte to dynamic component imports

* fix: svelte bundling

* fix: ensure svelte runtime is bundled with build

* fix: svelte runtime in dev mode

* fix: include svelte runtime in imports

Co-authored-by: Duncan Healy <duncan.healy@gmail.com>
2021-04-30 09:35:18 -05:00
Nate Moore
1e849689e4
chore: update to snowpack@3.3.7 (#150) 2021-04-29 20:32:53 -05:00
Matthew Phillips
0ea4a986e2
Support 500 pages in the dev server (#131)
* Support 500 pages

* Document custom 400/500 pages

* Remove search from any pages not the 500 page

* fix(kitchen-sink): add snowpack.config.js

* fix(examples): add snowpack.config.js

* style: redesign built-in 500 page

Co-authored-by: Nate Moore <nate@skypack.dev>
2021-04-26 16:42:11 -04:00
Nate Moore
87af0aead8
First Pass at LSP (#129)
* feat(lsp): add HTML features to LSP

* chore: add language server license

* feat(lsp): add folding ranges, scaffold TS features

* feat(lsp): TypeScript Language Service setup

* refactor(lsp): cleanup typescript completion providr

* chore: format

* chore: cleanup eslint

* fix: license

* chore: remove comment

* chore: add marketplace info

* chore: publish
2021-04-23 17:53:01 -05:00
Matthew Phillips
3ffeb0f7b7
Restore parse errors (#130) 2021-04-23 15:20:05 -04:00
Drew Powers
510e7920d2
Add RSS generation (#123) 2021-04-23 10:44:41 -06:00
Matthew Phillips
da033e27ea
CLI docs (#121)
* Start of cli docs

* Document the CLI

Also adds support for the `--config` option and `--port` option for the dev server.

* Add tests for --config and --port flags

* Add port to validateConfig
2021-04-22 08:25:57 -04:00
Nate Moore
54409a0702
Prettier support for .astro files (#106)
* docs: fix readme

* chore: scaffold prettier plugin

* chore(prettier): switch to cjs

* test(prettier): scaffold prettier tests

* test(prettier): add simple prettier tests

* feat(prettier): first pass

* refactor: expose parser as CJS export

* test(prettier): add long expression

* refactor(prettier): use Astro parser + built-in prettier doc for prettier plugin

* chore: remove parser from git

* chore: add prettier-plugin-astro `build` to workflow

* chore: update package-lock

* chore: do not build prettier-plugin-astro

* fix: update engines

* chore: remove NPM restriction

* chore: fix workflow paths

* chore: update build script

* test: fix prettier expr test

* chore: fix parser build on windows

* refactor: add parser tsconfig, extending base config

* chore: relax ban-ts-comment

* chore: fix lint issue

Co-authored-by: Nate Moore <nate@skypack.dev>
2021-04-21 11:14:44 -05:00
Drew Powers
3263c02d77
Update Snowpack, Add CSS Modules SSR (#116)
* Add CSS Modules SSR

* Update docs
2021-04-20 15:06:33 -06:00
Matthew Phillips
b25d2cc93e 0.0.6 2021-04-19 15:38:20 -04:00
Matthew Phillips
58c499dc85
Pass mode into snowpack runtime (#99)
* Pass the `mode` through to snowpack

This allows the production packages to be prepared.

* Use snowpack 3.3.1

* Update path to prism loadComponents external ref

* Upgrade to snowpack 3.3.2
2021-04-16 13:15:27 -04:00
Nate Moore
22ca9e0aac
Support children inside of components (#72)
* chore(examples): add kitchen-sink

* feat: support children in rendered components

* feat: add support for rendering children in Svelte

* fix: cleanup p/react fragment children

* chore: add @ts-nocheck to svelte files

* chore: update lockfiles

* fix: types

* feat: memoize frontend/renderer/utils

* fix: disable eslint for compiled SvelteWrapper

* fix: add missing dep

Co-authored-by: Nate Moore <nate@skypack.dev>
2021-04-15 10:55:50 -05:00
Drew Powers
3d0d53486c
Add Astro.fetchContent API (#91) 2021-04-13 18:08:32 -06:00
duncanhealy
b588581396
set node version in nvmrc & engines to lts (#87)
* node lts version for nvmrc v14.16.1

* node lts version for nvmrc v14.16.1

* engine version set to to 14.x.x and npm >=6 < 7
2021-04-13 13:03:26 -04:00
Drew Powers
3639190b4e
Renaming to import.meta.fetchContent (#70)
* Change to import.meta.glob()

Change of plans—maintain parity with Snowpack and Vite because our Collections API will use a different interface

* Get basic pagination working

* Get params working

* Rename to import.meta.fetchContent

* Upgrade to fdir
2021-04-12 17:21:29 -06:00
duncanhealy
687ff5bacd
chore fix lint reduce errors generated (#83)
* add dep domhandler imported in in src/build/static

* lint and jsDoc error

* move domhandler to devDep

* chore: add package lock

* escape string jsDoc

* chore: add astro dep in until prism import is refactored

* chore: add snowpack example package lock
2021-04-12 16:20:58 +01:00
Fred K. Schott
faae08712e 0.0.5 2021-04-10 22:02:34 -07:00
Fred K. Schott
a17bafbb5a update snowpack plugin 2021-04-10 22:02:19 -07:00
Fred K. Schott
1355d570f5 add astro bin to files array 2021-04-10 21:59:59 -07:00
Fred K. Schott
c923f1793d 0.0.4 2021-04-10 21:58:59 -07:00
Fred K. Schott
a66fd3272b add publish script 2021-04-10 21:58:57 -07:00
Fred K. Schott
24f50220e1 update package.json 2021-04-10 13:17:31 -07:00
Matthew Phillips
72ae661e9e
Add support for syntax highlighting of code blocks (#65)
* Add support for syntax highlighting of code blocks

* Escape usage of backtick strings

* Add workspace root for snowpack

* Use prismjs/components as an external module
2021-04-08 15:17:00 -04:00
Drew Powers
2b346d7a4c
Blog Support 1/3: Data fetching (#62)
* Add example blog

* Add author data

* Improve navigation

* Style nav

* Add friendly error message

* Throw error if import glob used for non-Markdown files

* Use import.meta.collection() API instead

* README fixes
2021-04-06 15:54:55 -06:00
Matthew Phillips
7240f0d677
Create a astro/components/ folder (#63)
This adds astro/components/ and moves the Prism.astro component into there. So to use in a project you can do:

```html
---
import Prism from 'astro/components/Prism.astro';
---

<Prism lang="html" code={`<html> ... </html>`}
```
2021-04-06 15:27:42 -04:00
Drew Powers
008ffc2951
Fix scoping issues (#58) 2021-04-02 20:44:23 -06:00
Drew Powers
5a1f422883
Move devDeps to deps (#54) 2021-04-02 11:04:48 -06:00
Drew Powers
003b3c395f
Get CSS Modules working in Vue (#53) 2021-04-02 10:16:16 -06:00
Matthew Phillips
54ba9f5ee1
Fix complex MDX parsing (#50)
* Fix complex MDX parsing

This allows fully MDX support using the micromark MDX extension. One caveat is that if you do something like use the less than sign, you need to escape it because the parser expects these to be tags otherwise.

* Move micromark definition
2021-04-01 16:34:11 -04:00
Matthew Phillips
d9084ff4ad
Implement fallback capability (#44)
* Implement fallback capability

This makes it possible for a dynamic component to render fallback content on the server.

The mechanism is a special `static` prop passed to the component. If `static` is true then the component knows it can render static content.

Putting aside the word `static`, is this the right approach? I think giving components the flexibility to make the decision themselves *is* the right approach.

However in this case we have a special property that is passed in non-explicitly. I think we have to do it this way because if the caller passes in a prop it will get serialized and appear on the client. By making this something we *add* during rendering, it only happens on the server (and only when using `:load`).

Assuming this is the right approach, is `static` the right name for this prop? Other candidates:

* `server`

That's all I have!

* Use `import.meta.env.astro` to tell if running in SSR mode.

* Run formatter
2021-03-31 16:10:27 -04:00
Matthew Phillips
3e82a0052d
Add minification (#42) 2021-03-30 16:07:12 -04:00
Drew Powers
ee6ef81cf3
Convert CSS Modules to scoped styles (#38)
* Convert CSS Modules to scoped styles

* Update README

* Move class scoping into HTML walker

* Fix SSR styles test

* Fix mustache tags

* Update PostCSS plugin name

* Add JSDoc comment

* Update test
2021-03-30 10:11:21 -06:00
Matthew Phillips
a79f7d4077
Bundling! 🤘 (#36)
* Bundling! 🤘

* Finalize build changes
2021-03-30 09:24:26 -04:00
Drew Powers
7def0463b1
Add Auto-format action (#33) 2021-03-26 13:45:53 -06:00
Drew Powers
3ddd3594f0
Absorb Snowpack config inside Astro (#32)
* Absorb Snowpack config inside Astro

* Add basic README

* Format tests

* Update esbuild

* Format tests
2021-03-26 13:14:32 -06:00
Nate Moore
18e7cc5af9
Scaffold language server (#25)
* wip: scaffold astro extension

* wip: scaffold astro extension

* WIP: vscode extension

* fix: autoCloseBefore

* chore: update package.json

* fix: use tsx instead of plain ts

* chore: remove dist files

* chore: remove comments

* chore: cleanup package build process, switch build to esbuild

* refactor: use shared esbuild config

Co-authored-by: Nate Moore <nate@skypack.dev>
2021-03-25 10:38:17 -05:00
Fred K. Schott
30cccdf715
add component state, top-level await support (#26) 2021-03-25 00:00:22 -07:00
Drew Powers
3f84bf3838
Update Snowpack to latest version (#20) 2021-03-23 18:05:09 -06:00
Matthew Phillips
e1c486b646 Add esbuild as a dependency 2021-03-23 15:37:34 -04:00
Drew Powers
e0353d50e7 Use <style lang>, add node_module resolution to Sass 2021-03-23 13:18:14 -06:00
Matthew Phillips
854d0feb34
Add support for React components. (#18)
* Add support for React components.

This adds support for react components via a new `extensions` config in astro.config.mjs. In the future we can extend this to do things like look at the import statements, as Snowpack does.

* Fix the tests
2021-03-23 13:47:54 -04:00
Drew Powers
1fdc1c799a
[wip] Add styles to Snowpack app (#13)
* Add styles to Snowpack app

* Bubble up file build errors

* Fix merge error
2021-03-22 18:06:58 -06:00
Fred K. Schott
d125d57b3a add typescript support for expressions 2021-03-22 00:26:59 -07:00
Fred K. Schott
e03afbd980 add fetch support 2021-03-21 16:16:18 -07:00
Fred K. Schott
417657f138 lots of improvements 2021-03-21 00:44:42 -07:00
Matthew Phillips
17c3c98f07
Initial tests set up (#10)
* Begin debugging

* Initial tests set up

This adds tests using uvu (we can switch if people want) and restructures things a bit so that it's easier to test.

Like in snowpack you set up a little project. In our tests you can say:

```js
const result = await runtime.load('/blog/hello-world')
```

And analyze the result. I included a `test-helpers.js` which has a function that will turn HTML into a cheerio instance, for inspecting the result HTML.

* Add CI

* Remove extra console logs

* Formatting
2021-03-19 17:07:45 -04:00
Drew Powers
5661b28914
Add style transforms (#7)
* Add style transforms

* Let crawler be sync
2021-03-18 11:25:19 -06:00
Drew Powers
458454dae5 Clean up TS types 2021-03-16 14:58:45 -06:00
Matthew Phillips
588b086a4d
Bring compiler into Astro (#4)
* include source compiler

* Import from JS

* Conditionally use the instance contents

Co-authored-by: Fred K. Schott <fkschott@gmail.com>
2021-03-16 16:08:11 -04:00
Drew Powers
8c45c4a856
Annoying Lint PR™ (#3)
* Add Prettier + ESLint

* Format files
2021-03-16 12:37:45 -06:00
Matthew Phillips
1f5c7c791f
Upgrade to latest snowpack pre (#2)
This contains a bunch of bug fixes for SSR we need.
2021-03-16 14:08:49 -04:00
Drew Powers
f7c2a55788 Add watch mode 2021-03-16 11:54:43 -06:00
Matthew Phillips
39ce064b5f Add a proper cli 2021-03-15 15:26:23 -04:00
Matthew Phillips
47d1c22449 magicthing -> astro 2021-03-15 14:18:39 -04:00
Matthew Phillips
af6b029e95 initial commit 2021-03-15 13:22:05 -04:00