diff --git a/sources/@repo/docs/_redirects b/sources/@repo/docs/_redirects index 1a1869618c..2691ec4d3f 100644 --- a/sources/@repo/docs/_redirects +++ b/sources/@repo/docs/_redirects @@ -1,4 +1,5 @@ http://budjs.netlify.app/* https://bud.js.org/:splat 301! https://budjs.netlify.app/* https://bud.js.org/:splat 301! -https://bud.js.org/releases https://bud.js.org/blog/tags/release 301! -https://bud.js.org/releases/* https://bud.js.org/blog/:splat 301! +https://bud.js.org/blog/tags/release https://bud.js.org/releases 301! +https://bud.js.org/blog/* https://bud.js.org/releases/:splat 301! +https://bud.js.org/guides/general-use/multi-compiler https://bud.js.org/guides/general-use/multi-instance 301! diff --git a/sources/@repo/docs/config/docusaurus.theme.cjs b/sources/@repo/docs/config/docusaurus.theme.cjs index 9e0f5a051b..b3d6a61298 100644 --- a/sources/@repo/docs/config/docusaurus.theme.cjs +++ b/sources/@repo/docs/config/docusaurus.theme.cjs @@ -54,8 +54,8 @@ const footer = { title: `More`, items: [ { - label: `Blog`, - to: `/blog`, + label: `Releases`, + to: `/releases`, }, { label: `GitHub`, @@ -131,7 +131,15 @@ const navbar = { label: `Extensions`, docsPluginId: `extensions`, }, - {to: `/blog`, label: `Blog`, position: `right`}, + { + to: `/releases`, + label: `Releases`, + position: `left`, + items: [ + {to: `/releases/tags/6-4`, label: `6.4`}, + {to: `/releases/tags/6-3`, label: `6.3`}, + ], + }, { href: `/dev`, label: `Dev`, diff --git a/sources/@repo/docs/content/docs/bud.make.mdx b/sources/@repo/docs/content/docs/bud.make.mdx index 1e03243b12..1949d8670c 100644 --- a/sources/@repo/docs/content/docs/bud.make.mdx +++ b/sources/@repo/docs/content/docs/bud.make.mdx @@ -11,7 +11,7 @@ import TabItem from '@theme/TabItem' Create a new, configurable instance of Bud. -For more context on how this might be useful check out [the guide on multi-compiler configurations](/guides/general-use/multi-compiler). +For more context on how this might be useful check out [the guide on multi-instance configurations](/guides/general-use/multi-instance). ## Usage @@ -35,7 +35,7 @@ export default async bud => { bud.make( { name: 'compiler-b', - basedir: bud.path('./compiler-a'), + basedir: bud.path('./compiler-b'), }, async child => { child.entry('app', 'app.js') @@ -50,4 +50,4 @@ Related: Guides: -- [multi-compiler guide](/guides/general-use/multi-compiler) +- [multi-instance guide](/guides/general-use/multi-instance) diff --git a/sources/@repo/docs/content/guides/general-use/multi-compiler.mdx b/sources/@repo/docs/content/guides/general-use/multi-instance.mdx similarity index 67% rename from sources/@repo/docs/content/guides/general-use/multi-compiler.mdx rename to sources/@repo/docs/content/guides/general-use/multi-instance.mdx index 5b6f4925f6..b9466951b6 100644 --- a/sources/@repo/docs/content/guides/general-use/multi-compiler.mdx +++ b/sources/@repo/docs/content/guides/general-use/multi-instance.mdx @@ -1,7 +1,6 @@ --- -title: Running multiple compilers +title: Running multiple instances description: It is possible to configure more than one Webpack compiler from a single bud config. -sidebar_label: Multi-compiler mode --- :::info Experimental @@ -18,11 +17,19 @@ different build requirements for different application components — it is ## Creating child instances -To specify a new child instance, we can use [bud.make](/docs/bud.make). It is a function that accepts two parameters: +To create a new child instance, we can use [bud.make](/docs/bud.make). -1. A context (at minimum, an object with a unique `label` prop), and; +It is a function that accepts two parameters: + +1. A context (at minimum, a unique string used to identify the instance), and; 2. an optional callback used to configure the instance. +```ts title='bud.config.js' +export default async bud => { + await bud.make('theme', async theme => theme.entry('theme')) +} +``` + In this example we're creating two instances: one for `theme` code and another for `plugin` code. ```ts title='bud.config.mjs' @@ -99,3 +106,43 @@ export default async bud => { }) } ``` + +## Configuring the development server + +Any configuration of the development server should be done in the parent context. + +This includes: + +- [bud.serve](/docs/bud.serve) +- [bud.proxy](/docs/bud.proxy) +- [bud.watch](/docs/bud.watch) + +```ts title='bud.config.mjs' +export default async bud => { + /** + * Configure dev server in the parent context + */ + bud + .watch([`resources/views/**/*`, `app/**/*`]) + .proxy(`https://sage.test`) + .serve(`http://0.0.0.0:3000`) + + await bud.make(`app`, async app => app) + await bud.make(`editor`, async editor => editor) +} +``` + +Child instances do not feature their own development server. This is incorrect: + +```ts title='bud.config.mjs' +export default async bud => { + await bud.make(`app`, async app => { + app + .watch([`resources/views/**/*`, `app/**/*`]) + .proxy(`https://sage.test`) + .serve(`http://0.0.0.0:3000`) + }) + + await bud.make(`editor`, async editor => editor) +} +``` diff --git a/sources/@repo/docs/content/blog/5.0.0.mdx b/sources/@repo/docs/content/releases/5.0.0.mdx similarity index 100% rename from sources/@repo/docs/content/blog/5.0.0.mdx rename to sources/@repo/docs/content/releases/5.0.0.mdx diff --git a/sources/@repo/docs/content/blog/5.1.0.mdx b/sources/@repo/docs/content/releases/5.1.0.mdx similarity index 100% rename from sources/@repo/docs/content/blog/5.1.0.mdx rename to sources/@repo/docs/content/releases/5.1.0.mdx diff --git a/sources/@repo/docs/content/blog/5.2.0.mdx b/sources/@repo/docs/content/releases/5.2.0.mdx similarity index 100% rename from sources/@repo/docs/content/blog/5.2.0.mdx rename to sources/@repo/docs/content/releases/5.2.0.mdx diff --git a/sources/@repo/docs/content/blog/5.3.0.mdx b/sources/@repo/docs/content/releases/5.3.0.mdx similarity index 100% rename from sources/@repo/docs/content/blog/5.3.0.mdx rename to sources/@repo/docs/content/releases/5.3.0.mdx diff --git a/sources/@repo/docs/content/blog/5.4.0.mdx b/sources/@repo/docs/content/releases/5.4.0.mdx similarity index 100% rename from sources/@repo/docs/content/blog/5.4.0.mdx rename to sources/@repo/docs/content/releases/5.4.0.mdx diff --git a/sources/@repo/docs/content/blog/5.5.0.mdx b/sources/@repo/docs/content/releases/5.5.0.mdx similarity index 100% rename from sources/@repo/docs/content/blog/5.5.0.mdx rename to sources/@repo/docs/content/releases/5.5.0.mdx diff --git a/sources/@repo/docs/content/blog/5.6.0.mdx b/sources/@repo/docs/content/releases/5.6.0.mdx similarity index 100% rename from sources/@repo/docs/content/blog/5.6.0.mdx rename to sources/@repo/docs/content/releases/5.6.0.mdx diff --git a/sources/@repo/docs/content/blog/5.7.0.mdx b/sources/@repo/docs/content/releases/5.7.0.mdx similarity index 100% rename from sources/@repo/docs/content/blog/5.7.0.mdx rename to sources/@repo/docs/content/releases/5.7.0.mdx diff --git a/sources/@repo/docs/content/blog/5.8.0.mdx b/sources/@repo/docs/content/releases/5.8.0.mdx similarity index 100% rename from sources/@repo/docs/content/blog/5.8.0.mdx rename to sources/@repo/docs/content/releases/5.8.0.mdx diff --git a/sources/@repo/docs/content/blog/6.0.0.mdx b/sources/@repo/docs/content/releases/6.0.0.mdx similarity index 100% rename from sources/@repo/docs/content/blog/6.0.0.mdx rename to sources/@repo/docs/content/releases/6.0.0.mdx diff --git a/sources/@repo/docs/content/blog/6.1.0.mdx b/sources/@repo/docs/content/releases/6.1.0.mdx similarity index 100% rename from sources/@repo/docs/content/blog/6.1.0.mdx rename to sources/@repo/docs/content/releases/6.1.0.mdx diff --git a/sources/@repo/docs/content/blog/6.2.0.mdx b/sources/@repo/docs/content/releases/6.2.0.mdx similarity index 100% rename from sources/@repo/docs/content/blog/6.2.0.mdx rename to sources/@repo/docs/content/releases/6.2.0.mdx diff --git a/sources/@repo/docs/content/blog/6.3.0.mdx b/sources/@repo/docs/content/releases/6.3.0.mdx similarity index 99% rename from sources/@repo/docs/content/blog/6.3.0.mdx rename to sources/@repo/docs/content/releases/6.3.0.mdx index 02dcfc088d..ec8be59bd7 100644 --- a/sources/@repo/docs/content/blog/6.3.0.mdx +++ b/sources/@repo/docs/content/releases/6.3.0.mdx @@ -7,7 +7,7 @@ author: Kelly Mears author_title: Lead developer author_url: https://github.com/kellymears author_image_url: https://avatars.githubusercontent.com/u/397606?v=4 -tags: [release] +tags: [release, 6.3] --- import CodeBlock from '@theme/CodeBlock' diff --git a/sources/@repo/docs/content/blog/6.3.1.mdx b/sources/@repo/docs/content/releases/6.3.1.mdx similarity index 98% rename from sources/@repo/docs/content/blog/6.3.1.mdx rename to sources/@repo/docs/content/releases/6.3.1.mdx index 5ca711ae23..f13f2632d5 100644 --- a/sources/@repo/docs/content/blog/6.3.1.mdx +++ b/sources/@repo/docs/content/releases/6.3.1.mdx @@ -7,7 +7,7 @@ author: Kelly Mears author_title: Lead developer author_url: https://github.com/kellymears author_image_url: https://avatars.githubusercontent.com/u/397606?v=4 -tags: [release] +tags: [release, 6.3] --- import CodeBlock from '@theme/CodeBlock' diff --git a/sources/@repo/docs/content/blog/6.3.2.mdx b/sources/@repo/docs/content/releases/6.3.2.mdx similarity index 99% rename from sources/@repo/docs/content/blog/6.3.2.mdx rename to sources/@repo/docs/content/releases/6.3.2.mdx index db0ce8c48e..ddcfd79da2 100644 --- a/sources/@repo/docs/content/blog/6.3.2.mdx +++ b/sources/@repo/docs/content/releases/6.3.2.mdx @@ -7,7 +7,7 @@ author: Kelly Mears author_title: Lead developer author_url: https://github.com/kellymears author_image_url: https://avatars.githubusercontent.com/u/397606?v=4 -tags: [release] +tags: [release, 6.3] --- Important fixes for roots/sage projects using acorn@v2 diff --git a/sources/@repo/docs/content/blog/6.3.3.mdx b/sources/@repo/docs/content/releases/6.3.3.mdx similarity index 99% rename from sources/@repo/docs/content/blog/6.3.3.mdx rename to sources/@repo/docs/content/releases/6.3.3.mdx index c742069f36..177fb1b748 100644 --- a/sources/@repo/docs/content/blog/6.3.3.mdx +++ b/sources/@repo/docs/content/releases/6.3.3.mdx @@ -7,7 +7,7 @@ author: Kelly Mears author_title: Lead developer author_url: https://github.com/kellymears author_image_url: https://avatars.githubusercontent.com/u/397606?v=4 -tags: [release] +tags: [release, 6.3] --- diff --git a/sources/@repo/docs/content/blog/6.3.4.mdx b/sources/@repo/docs/content/releases/6.3.4.mdx similarity index 99% rename from sources/@repo/docs/content/blog/6.3.4.mdx rename to sources/@repo/docs/content/releases/6.3.4.mdx index 9b0378457d..cdbffaf3e6 100644 --- a/sources/@repo/docs/content/blog/6.3.4.mdx +++ b/sources/@repo/docs/content/releases/6.3.4.mdx @@ -7,7 +7,7 @@ author: Kelly Mears author_title: Lead developer author_url: https://github.com/kellymears author_image_url: https://avatars.githubusercontent.com/u/397606?v=4 -tags: [release] +tags: [release, 6.3] --- diff --git a/sources/@repo/docs/content/blog/6.3.5.mdx b/sources/@repo/docs/content/releases/6.3.5.mdx similarity index 96% rename from sources/@repo/docs/content/blog/6.3.5.mdx rename to sources/@repo/docs/content/releases/6.3.5.mdx index e19e44927b..75508d4df6 100644 --- a/sources/@repo/docs/content/blog/6.3.5.mdx +++ b/sources/@repo/docs/content/releases/6.3.5.mdx @@ -2,12 +2,12 @@ slug: '6.3.5' title: 'Release: 6.3.5' description: 'Release notes for bud.js 6.3.5' -date: 2022-07-25 +date: 2022-07-26 author: Kelly Mears author_title: Lead developer author_url: https://github.com/kellymears author_image_url: https://avatars.githubusercontent.com/u/397606?v=4 -tags: [release] +tags: [release, 6.3] --- diff --git a/sources/@repo/docs/content/blog/6.4.0.mdx b/sources/@repo/docs/content/releases/6.4.0.mdx similarity index 96% rename from sources/@repo/docs/content/blog/6.4.0.mdx rename to sources/@repo/docs/content/releases/6.4.0.mdx index 74ba0b78fc..5e32ba566e 100644 --- a/sources/@repo/docs/content/blog/6.4.0.mdx +++ b/sources/@repo/docs/content/releases/6.4.0.mdx @@ -1,15 +1,17 @@ --- -slug: '6.4.0' -title: 'Release: 6.4.0' -description: 'Release notes for bud.js 6.4.0' -date: 2022-08-15 +slug: 6.4.0 +title: 6.4.0 +description: '6.4 replaces `webpack-hot-middleware`, adds a slew of new cli features, and fixes more than a few bugs along the way.' +date: 2022-09-15 author: Kelly Mears author_title: Lead developer author_url: https://github.com/kellymears author_image_url: https://avatars.githubusercontent.com/u/397606?v=4 -tags: [release] +tags: [release, 6.4] --- +6.4 replaces `webpack-hot-middleware`, adds a slew of new cli features, and fixes more than a few bugs along the way. + ## Client diff --git a/sources/@repo/docs/content/blog/6.4.2.mdx b/sources/@repo/docs/content/releases/6.4.2.mdx similarity index 95% rename from sources/@repo/docs/content/blog/6.4.2.mdx rename to sources/@repo/docs/content/releases/6.4.2.mdx index 2f47c7cbf5..0e315c640a 100644 --- a/sources/@repo/docs/content/blog/6.4.2.mdx +++ b/sources/@repo/docs/content/releases/6.4.2.mdx @@ -1,15 +1,17 @@ --- slug: '6.4.2' -title: 'Release: 6.4.2' +title: '6.4.2' description: 'Release notes for bud.js 6.4.2' -date: 2022-08-23 +date: 2022-09-23 author: Kelly Mears author_title: Lead developer author_url: https://github.com/kellymears author_image_url: https://avatars.githubusercontent.com/u/397606?v=4 -tags: [release] +tags: [release, 6.4] --- +A bugfix release for bud 6.4. + ## 👉🏼 known issue: [@roots/sage] errors logged when not using tailwindcss diff --git a/sources/@repo/docs/content/blog/6.4.3.mdx b/sources/@repo/docs/content/releases/6.4.3.mdx similarity index 96% rename from sources/@repo/docs/content/blog/6.4.3.mdx rename to sources/@repo/docs/content/releases/6.4.3.mdx index d1316f3076..4910208f0f 100644 --- a/sources/@repo/docs/content/blog/6.4.3.mdx +++ b/sources/@repo/docs/content/releases/6.4.3.mdx @@ -1,15 +1,17 @@ --- slug: '6.4.3' -title: 'Release: 6.4.3' +title: '6.4.3' description: 'Release notes for bud.js 6.4.3' -date: 2022-08-24 +date: 2022-09-24 author: Kelly Mears author_title: Lead developer author_url: https://github.com/kellymears author_image_url: https://avatars.githubusercontent.com/u/397606?v=4 -tags: [release] +tags: [release, 6.4] --- +A bugfix release for bud 6.4. + ## 🩹 fix: [@roots/sage](https://bud.js.org/extensions/sage) errors logged when not using tailwindcss diff --git a/sources/@repo/docs/content/releases/6.4.4.mdx b/sources/@repo/docs/content/releases/6.4.4.mdx new file mode 100644 index 0000000000..5f9037932a --- /dev/null +++ b/sources/@repo/docs/content/releases/6.4.4.mdx @@ -0,0 +1,27 @@ +--- +slug: '6.4.4' +title: '6.4.4' +description: 'Release notes for bud.js 6.4.4' +date: 2022-09-27 +author: Kelly Mears +author_title: Lead developer +author_url: https://github.com/kellymears +author_image_url: https://avatars.githubusercontent.com/u/397606?v=4 +tags: [release, 6.4] +--- + +A bugfix release for bud 6.4. Mainly focused on multi-instance configurations. + + + +## 🩹 fix: [@roots/bud-postcss](https://bud.js.org/extensions/bud-postcss) not applied in multi-instance configurations + +Fixes an issue where [@roots/bud-postcss](https://bud.js.org/extensions/bud-postcss) was not applied to child compilations. ([#1702](https://github.com/roots/bud/issues/1702)). + +## 📕 docs: improve multi-instance documentation + +Added documentation for configuring development server in a multi-instance setup to the [multi-instance guide](https://bud.js.org/guides/general-use/multi-instance). ([#1713](https://github.com/roots/bud/issues/1713)) + +## ℹ️ Release information + +For more information [review the diff to see what's changed](https://github.com/roots/bud/compare/v6.4.3...v6.4.4). diff --git a/sources/@repo/docs/docusaurus.config.js b/sources/@repo/docs/docusaurus.config.js index 7769b77af4..4312e8fae1 100644 --- a/sources/@repo/docs/docusaurus.config.js +++ b/sources/@repo/docs/docusaurus.config.js @@ -1 +1 @@ -module.exports = require('./config/index.cjs') +module.exports = require(`./config/index.cjs`) diff --git a/sources/@repo/docs/package.json b/sources/@repo/docs/package.json index 1c6c8cb44f..c72bf42146 100644 --- a/sources/@repo/docs/package.json +++ b/sources/@repo/docs/package.json @@ -41,6 +41,8 @@ "webpack": "5.74.0" }, "dependencies": { + "@docusaurus/theme-classic": "2.1.0", + "@docusaurus/theme-common": "2.1.0", "axios": "0.27.2", "clsx": "1.2.1", "docusaurus-lunr-search": "2.2.0", diff --git a/sources/@repo/docs/sidebars/guides.js b/sources/@repo/docs/sidebars/guides.js index f08397eb46..dd37df68ef 100644 --- a/sources/@repo/docs/sidebars/guides.js +++ b/sources/@repo/docs/sidebars/guides.js @@ -34,7 +34,7 @@ module.exports = { `general-use/alternative-config-syntax`, `general-use/config-layers`, `general-use/extensions`, - `general-use/multi-compiler`, + `general-use/multi-instance`, `general-use/node-api`, `general-use/esmodules`, `general-use/remote-sources`, diff --git a/sources/@repo/docs/src/theme/BlogTagsPostsPage/index.js b/sources/@repo/docs/src/theme/BlogTagsPostsPage/index.js new file mode 100644 index 0000000000..f65727ab7a --- /dev/null +++ b/sources/@repo/docs/src/theme/BlogTagsPostsPage/index.js @@ -0,0 +1,83 @@ +import Link from '@docusaurus/Link' +import { + HtmlClassNameProvider, + PageMetadata, + ThemeClassNames, + usePluralForm, +} from '@docusaurus/theme-common' +import {translate} from '@docusaurus/Translate' +import {Hero} from '@site/src/components/Hero' +import BlogPostItems from '@theme/BlogPostItems' +import Layout from '@theme/Layout' +import SearchMetadata from '@theme/SearchMetadata' +import clsx from 'clsx' +import React from 'react' + +// Very simple pluralization: probably good enough for now +function useBlogPostsPlural() { + const {selectMessage} = usePluralForm() + return count => + selectMessage( + count, + translate( + { + id: `theme.blog.post.plurals`, + description: `Pluralized label for "{count} posts". Use as much plural forms (separated by "|") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)`, + message: `One post|{count} posts`, + }, + {count}, + ), + ) +} +function useBlogTagsPostsPageTitle(tag) { + const blogPostsPlural = useBlogPostsPlural() + return translate( + { + id: `theme.blog.tagTitle`, + description: `The title of the page for a blog tag`, + message: `{nPosts} tagged with "{tagName}"`, + }, + {nPosts: blogPostsPlural(tag.count), tagName: tag.label}, + ) +} +function BlogTagsPostsPageMetadata({tag}) { + const title = useBlogTagsPostsPageTitle(tag) + return ( + <> + + + + ) +} +function BlogTagsPostsPageContent({tag, items, sidebar, listMetadata}) { + const title = useBlogTagsPostsPageTitle(tag) + + return ( + +
+ {tag.label?.match(/\d*.\d*/) ? ( + + ) : ( +

{title}

+ )} +
+ +
+ +
+
+ ) +} +export default function BlogTagsPostsPage(props) { + return ( + + + + + ) +} diff --git a/sources/@repo/docs/tsconfig.json b/sources/@repo/docs/tsconfig.json index b5bdcd3ca1..ac404c3782 100644 --- a/sources/@repo/docs/tsconfig.json +++ b/sources/@repo/docs/tsconfig.json @@ -14,7 +14,8 @@ "types": [ "node", "@docusaurus/module-type-aliases", - "@docusaurus/theme-classic" + "@docusaurus/theme-classic", + "@docusaurus/theme-common" ] }, "include": ["**/*"], diff --git a/yarn.lock b/yarn.lock index bf0256f38a..d22bc45fd3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4195,6 +4195,8 @@ __metadata: "@docusaurus/module-type-aliases": 2.1.0 "@docusaurus/preset-classic": 2.1.0 "@docusaurus/remark-plugin-npm2yarn": 2.1.0 + "@docusaurus/theme-classic": 2.1.0 + "@docusaurus/theme-common": 2.1.0 "@jest/globals": 29.0.3 "@repo/constants": "workspace:sources/@repo/constants" "@svgr/webpack": 6.2.1