Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: new CSSDirective design #5835

Conversation

EisenbergEffect
Copy link
Contributor

Pull Request

📖 Description

This PR implements a new design for CSSDirective that matches the new HTMLDirective API. The changes are as follows:

  • Decouples directives and behaviors.
  • Directives can now add 0-N behaviors when they generate CSS.
  • createCSS() now receives a method for adding behaviors.
  • Base classes removed for directive. Everything is based on interfaces and registration now.
  • Directives are now registered with CSSDirective.define API
  • You can also decorate a class to register it as a directive with @cssDirective
  • cssPartial is now optimized so that it doesn't need to add itself as a behavior unless it is composing ElementStyles. This means that partials that compose design tokens should perform better.
  • cssPartial is changed to css.partial to reduce import count

Examples

Here's an example of the most basic CSSDirective:

@cssDirective()
class HelloWorldDirective implements CSSDirective {
  createCSS() {
    return "color: red";
  }
}

// alternative to the decorator
// CSSDirective.define(HelloWorldDirective); 

Here's an example that adds behaviors:

@cssDirective()
class HelloWorldDirective implements CSSDirective {
  createCSS(add: AddBehavior) {
    add(someBehaviorInstance);
    return "color: red";
  }
}

🎫 Issues

This is the second half of and completes #5799

👩‍💻 Reviewer Notes

This one is much less destructive than the HTMLDirective change. Only a few places are affected by the work. One additional change I made was to change cssPartial to css.partial` to reduce the number of imports when working with CSS. Not sure what folks think about this. I like it but I can revert this change if other folks don't.

📑 Test Plan

Existing tests updated and passing against the new APIs.

✅ Checklist

General

  • I have included a change request file using $ yarn change
  • I have added tests for my changes.
  • I have tested my changes.
  • I have updated the project documentation to reflect my changes.
  • I have read the CONTRIBUTING documentation and followed the standards for this project.

⏭ Next Steps

I think this completes the work on directive APIs.

@chrisdholt
Copy link
Member

I like the ergonomic of ‘css.partial’; setup to be an extensible pattern if need be too, which is nice.

@KingOfTac
Copy link
Collaborator

Although I really like the new api for partials, it may be a good idea to still export cssPartial as an alias of css.partial and mark it as deprecated to help ease migrating to the new version.

@EisenbergEffect EisenbergEffect merged commit c35f053 into features/fast-element-2 Apr 18, 2022
@EisenbergEffect EisenbergEffect deleted the users/eisenbergeffect/css-directive-redesign branch April 18, 2022 22:59
nicholasrice pushed a commit that referenced this pull request May 4, 2022
* feat: new CSSDirective design

* feat: attach the partial helper to the css helper

* fix: update foundation to new CSSDirective API

* fix: update components to new CSSDirective API

* docs: add missing docs to CSSTEmplateTag type

* Change files

* fix: add back cssPartial with deprecation message

Co-authored-by: EisenbergEffect <[email protected]>
nicholasrice pushed a commit that referenced this pull request May 5, 2022
* feat: new CSSDirective design

* feat: attach the partial helper to the css helper

* fix: update foundation to new CSSDirective API

* fix: update components to new CSSDirective API

* docs: add missing docs to CSSTEmplateTag type

* Change files

* fix: add back cssPartial with deprecation message

Co-authored-by: EisenbergEffect <[email protected]>
nicholasrice pushed a commit that referenced this pull request May 9, 2022
* feat: new CSSDirective design

* feat: attach the partial helper to the css helper

* fix: update foundation to new CSSDirective API

* fix: update components to new CSSDirective API

* docs: add missing docs to CSSTEmplateTag type

* Change files

* fix: add back cssPartial with deprecation message

Co-authored-by: EisenbergEffect <[email protected]>
EisenbergEffect added a commit that referenced this pull request May 31, 2022
* feat: new CSSDirective design

* feat: attach the partial helper to the css helper

* fix: update foundation to new CSSDirective API

* fix: update components to new CSSDirective API

* docs: add missing docs to CSSTEmplateTag type

* Change files

* fix: add back cssPartial with deprecation message

Co-authored-by: EisenbergEffect <[email protected]>
chrisdholt added a commit that referenced this pull request May 31, 2022
* feat(compiler): remove tree walker & switch to structural target lookup

* fix(compiler): don't add unnecessary descriptors to compile result

* fix(compiler): correct extraction of child index from parent id

* feat(compiler): unify host and view factories

* feat(view): unify behavior creation with first bind; clean up compiler

* chore(template): clean up imports

* chore(templating): clean up imports

* refactor(view): cleanup view internals and remove range

* feat(binding): enable control over className vs. classList behavior

* docs: add notes on changes in FAST Element 2

* feat: add generic types to views and templates

* refactor: internal cleanup and fixing router to match new APIs.

* feat: improve types related to behaviors

* refactor: clean up styles code a bit

* feat: introduce ViewBehavior to enable stateless behaviors

* fix: remove unnecessary render based on element id

* perf: switch targetId to set and use normal props for r/h lookups

* refactor(observable): tighten up some code

* refactor: tighten up notifier

* refactor: clean up array observer

* refactor: clean up class binding scenarios

* refactor: clean up more internal of css and observable

* feat: switch ref over to the new stateless model for view behaviors

* refactor: cleanup in node observation

* feat: createCustomAttributePlaceholder no longer requires an attr name

* feat: update children and slotted to share instances

* refactor: dry up ref and node observation directives

* refactor: improve compiler internals by combining context and result

* feat: wip updating binding system to support modes and configs

* fix: correct handle change signature for content binding

* feat: enable interpolating non-strings as one time bindings in templates

* refactor: remove duplication in one time event

* refactor: reduce some duplication when creating binding configs

* refactor: reduce duplication and simplify new binding system

* refactor: improve compiler/directive protocol

* refactor: rename Notifier#source to Notifier#subject

* refactor: reduce duplication

* fix: state issue with token list bindings

* refactor: clean up types and remove internals from public export

* refactor: centralize common type checks

* refactor: centralize id generation

* refactor: only export intended types for directives

* refactor: internal code reduction

* refactor: consolidate more unique id logic

* chore: fix module import path

* feat: signal bindings and refactoring of binding type APIs

* refactor(controller): minor internal improvements

* refactor(attributes): reduce some duplication

* fix(binding): bug in location of update target

* refactor: modernize the splice code

* refactor: small simplification in array change records

* perf: use less memory and reduce code for signal bindings

* chore: set up SSR package (#5589)

* project files and starting to set up test infrastructure

* incorporating ts project references and getting tests working

* adding .npmignore to ingore tests and server

* adding readmes

* Update packages/web-components/fast-ssr/package.json

Co-authored-by: Chris Holt <[email protected]>

Co-authored-by: nicholasrice <[email protected]>
Co-authored-by: Chris Holt <[email protected]>

* feat: expose fast-element as a module package to NodeJS (#5601)

* add lint rule to enforce file extensions in imports

* declare fast-element as a ESModule package

* convert eslintrc to a commonjs module

* adding file extensions to import paths

* fixing accidently modified string

* fixing build processes

* revert change

* Change files

Co-authored-by: nicholasrice <[email protected]>

* Add the fast-style web component (#5600)

# Pull Request

## 📖 Description

<!---
Provide some background and a description of your work.
What problem does this change solve?
Is this a breaking change, chore, fix, feature, etc?
-->
This branch adds the following:

- A FAST Style element that will hydrate styles client side
- A webpack config that will build the minimal JS for the logic for this web component so that the file `fast-style.min.js` can be referred to in server side generated HTML

### 🎫 Issues

<!---
* List and link relevant issues here.
-->
Closes #5575

## 👩‍💻 Reviewer Notes

<!---
Provide some notes for reviewers to help them provide targeted feedback and testing.

Do you recommend a smoke test for this PR? What steps should be followed?
Are there particular areas of the code the reviewer should focus on?
-->
If you run the test server after building all the necessary files, you can navigate to `localhost:8080/fast-style` and see the component working there. One thing is the fixture uses `shadowroot="open"` to be able to see which styles are applied to nested elements during Playwright testing. This does not need the case for actual implementation, the shadowroot can be closed, this has been manually verified.

## 📑 Test Plan

<!---
Please provide a summary of the tests affected by this work and any unique strategies employed in testing the features/fixes.
-->
The added tests are Playwright tests, I'll let reviewers comment as to whether more tests are needed, this however tests the base case of applying styles to the container of the fast-style web component.

## ✅ Checklist

### General

<!--- Review the list and put an x in the boxes that apply. -->

- [ ] I have included a change request file using `$ yarn change`
- [x] I have added tests for my changes.
- [x] I have tested my changes.
- [ ] I have updated the project documentation to reflect my changes.
- [ ] I have read the [CONTRIBUTING](https://github.com/Microsoft/fast/blob/master/CONTRIBUTING.md) documentation and followed the [standards](https://www.fast.design/docs/community/code-of-conduct/#our-standards) for this project.

## ⏭ Next Steps

<!---
If there is relevant follow-up work to this PR, please list any existing issues or provide brief descriptions of what you would like to do next.
-->
- Integrate the FASTStyle wc to the HTML renderer #5576

* Pin the checkchange to the feature branch (#5611)

# Pull Request

## 📖 Description

<!---
Provide some background and a description of your work.
What problem does this change solve?
Is this a breaking change, chore, fix, feature, etc?
-->
This change will pin the `checkchange` check in the github workflow to check for changes against the `features/fast-element-2` branch. Since the branch should only be checking PRs against its contents and not the default branch this is the current workaround for checking for changefiles against non-default branches. This change must be removed prior to inclusion to the default branch.

## ✅ Checklist

### General

<!--- Review the list and put an x in the boxes that apply. -->

- [ ] I have included a change request file using `$ yarn change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [ ] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/Microsoft/fast/blob/master/CONTRIBUTING.md) documentation and followed the [standards](https://www.fast.design/docs/community/code-of-conduct/#our-standards) for this project.

## ⏭ Next Steps

<!---
If there is relevant follow-up work to this PR, please list any existing issues or provide brief descriptions of what you would like to do next.
-->
- Add an issue to remove this change in the feature branch tracking project (https://github.com/microsoft/fast/issues/5612)

* Added change files for FAST Element 2 (#5610)

# Pull Request

## 📖 Description

<!---
Provide some background and a description of your work.
What problem does this change solve?
Is this a breaking change, chore, fix, feature, etc?
-->
These are the necessary change files for the current state of work for FAST Element 2.0. Subsequent changes will require a change file after a PR has been added to pin the `checkchange` to the feature branch.

## 👩‍💻 Reviewer Notes

<!---
Provide some notes for reviewers to help them provide targeted feedback and testing.

Do you recommend a smoke test for this PR? What steps should be followed?
Are there particular areas of the code the reviewer should focus on?
-->
Read the change files carefully and see if you agree with the wording/change type/package/etc.

## ✅ Checklist

### General

<!--- Review the list and put an x in the boxes that apply. -->

- [x] I have included a change request file using `$ yarn change`
- [ ] I have added tests for my changes.
- [ ] I have tested my changes.
- [ ] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/Microsoft/fast/blob/master/CONTRIBUTING.md) documentation and followed the [standards](https://www.fast.design/docs/community/code-of-conduct/#our-standards) for this project.

## ⏭ Next Steps

<!---
If there is relevant follow-up work to this PR, please list any existing issues or provide brief descriptions of what you would like to do next.
-->
- Add a PR to pin `checkchange` to the feature branch (#5611)
- Add an issue to remove `checkchange` pinning once feature branch work is complete (https://github.com/microsoft/fast/issues/5612)

* Add branch pointing to config instead of package scripts (#5616)

# Pull Request

## 📖 Description

<!---
Provide some background and a description of your work.
What problem does this change solve?
Is this a breaking change, chore, fix, feature, etc?
-->
This change moves the branch specificity to beachball config to allow `yarn change` to target the feature branch and also removes the restriction on "major" change updates.

## ✅ Checklist

### General

<!--- Review the list and put an x in the boxes that apply. -->

- [ ] I have included a change request file using `$ yarn change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [ ] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/Microsoft/fast/blob/master/CONTRIBUTING.md) documentation and followed the [standards](https://www.fast.design/docs/community/code-of-conduct/#our-standards) for this project.

* feat: enable synchronous dom updates for SSR (#5615)

* feat: enable synchronous dom updates for SSR

* Add branch pointing to config instead of package scripts (#5616)

# Pull Request

## 📖 Description

<!---
Provide some background and a description of your work.
What problem does this change solve?
Is this a breaking change, chore, fix, feature, etc?
-->
This change moves the branch specificity to beachball config to allow `yarn change` to target the feature branch and also removes the restriction on "major" change updates.

## ✅ Checklist

### General

<!--- Review the list and put an x in the boxes that apply. -->

- [ ] I have included a change request file using `$ yarn change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [ ] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/Microsoft/fast/blob/master/CONTRIBUTING.md) documentation and followed the [standards](https://www.fast.design/docs/community/code-of-conduct/#our-standards) for this project.

* feat: enable synchronous dom updates for SSR

* Change files

* Change files

Co-authored-by: Jane Chu <[email protected]>
Co-authored-by: EisenbergEffect <[email protected]>

* feat: adds FASTElementRenderer to fast-ssr (#5613)

* adds FASTElementRenderer as a ElementRenderer implementation

* adding test

* adding eslint for file extensions

* re-structure tests to better support dependency structures

* Fixing tests for FASTElementRenderer.matchesClass

* adding code comments

* Update packages/web-components/fast-ssr/src/element-renderer/element-renderer.ts

Co-authored-by: Jane Chu <[email protected]>

Co-authored-by: nicholasrice <[email protected]>
Co-authored-by: Jane Chu <[email protected]>

* Added prettier to fast-ssr package (#5617)

# Pull Request

## 📖 Description

<!---
Provide some background and a description of your work.
What problem does this change solve?
Is this a breaking change, chore, fix, feature, etc?
-->
This change adds prettier to the `@microsoft/fast-ssr` package.

Note: I ran prettier after the changes and it looks like the current files are gtg. This is more for future proofing.

## ✅ Checklist

### General

<!--- Review the list and put an x in the boxes that apply. -->

- [ ] I have included a change request file using `$ yarn change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [ ] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/Microsoft/fast/blob/master/CONTRIBUTING.md) documentation and followed the [standards](https://www.fast.design/docs/community/code-of-conduct/#our-standards) for this project.

* Fixed linting errors and warnings (#5619)

# Pull Request

## 📖 Description

<!---
Provide some background and a description of your work.
What problem does this change solve?
Is this a breaking change, chore, fix, feature, etc?
-->
This change does the following:
- Allow `no-non-null-assertion`
- Fixes all other warnings and errors

## 👩‍💻 Reviewer Notes

<!---
Provide some notes for reviewers to help them provide targeted feedback and testing.

Do you recommend a smoke test for this PR? What steps should be followed?
Are there particular areas of the code the reviewer should focus on?
-->
@EisenbergEffect since these changes affect your work please take a close look, most of the changes are benign but I did move code around to best minimize ignoring the no-use-before-define issues.

## ✅ Checklist

### General

<!--- Review the list and put an x in the boxes that apply. -->

- [ ] I have included a change request file using `$ yarn change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [ ] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/Microsoft/fast/blob/master/CONTRIBUTING.md) documentation and followed the [standards](https://www.fast.design/docs/community/code-of-conduct/#our-standards) for this project.

* Added watch script and chokidar (#5621)

# Pull Request

## 📖 Description

<!---
Provide some background and a description of your work.
What problem does this change solve?
Is this a breaking change, chore, fix, feature, etc?
-->
This PR adds `chokidar` so that we can watch files and re-run the playwright tests. Playwright does not currently have a watcher for this purpose so `chokidar-cli` was added to facilitate this.

## ✅ Checklist

### General

<!--- Review the list and put an x in the boxes that apply. -->

- [ ] I have included a change request file using `$ yarn change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [ ] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/Microsoft/fast/blob/master/CONTRIBUTING.md) documentation and followed the [standards](https://www.fast.design/docs/community/code-of-conduct/#our-standards) for this project.

* feat: enable pluggable style handling strategies (#5623)

* feat: enable pluggable style handling strategies

* refactor: move unnecessary internal function

* test: fix up style tests based on new API

* refactor: improve the style strategy interface

* Change files

* refactor: improve strategy factory design via constructible types

Co-authored-by: EisenbergEffect <[email protected]>

* Updated api-extractor version and exported markdown (#5640)

# Pull Request

## 📖 Description

<!---
Provide some background and a description of your work.
What problem does this change solve?
Is this a breaking change, chore, fix, feature, etc?
-->
When running `npm run build` inside `@microsoft/fast-element` package, the following error is encountered:

`Error: Error parsing tsconfig.json content: Unknown compiler option 'importsNotUsedAsValues'.`

This happens because running `api-extractor` happens as a final step in the `build`, and the reason this error occurs is that the currently pinned version `typescript` used by `api-extractor` is below `3.8.0` when `importsNotUsedAsValues` was introduced as a flag. This change updates the version, we now have no errors, but the following warnings with this change:

```
Warning: You have changed the public API signature for this project. Updating docs/api-report.md
Warning: dist/dts/dom.d.ts:70:8 - (tsdoc-param-tag-missing-hyphen) The @param block should be followed by a parameter name and then a hyphen
Warning: dist/dts/observation/array-change-records.d.ts:6:33 - (tsdoc-escape-greater-than) The ">" character should be escaped using a backslash to avoid confusion with an HTML tag
Warning: dist/dts/observation/array-change-records.d.ts:6:6 - (tsdoc-html-tag-missing-greater-than) The HTML tag has invalid syntax: Expecting an attribute or ">" or "/>"
Warning: dist/dts/templating/binding.d.ts:4:1 - (ae-missing-release-tag) "BindingBehaviorFactory" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
Warning: dist/dts/templating/binding.d.ts:7:1 - (ae-missing-release-tag) "BindingType" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
Warning: dist/dts/templating/binding.d.ts:9:1 - (ae-missing-release-tag) "BindingMode" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
Warning: dist/dts/templating/binding.d.ts:17:1 - (ae-missing-release-tag) "BindingConfig" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
Warning: dist/dts/templating/binding.d.ts:23:1 - (ae-missing-release-tag) "DefaultBindingOptions" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
Warning: dist/dts/templating/binding.d.ts:26:22 - (ae-missing-release-tag) "onChange" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
Warning: dist/dts/templating/binding.d.ts:27:22 - (ae-missing-release-tag) "oneTime" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
Warning: dist/dts/templating/binding.d.ts:43:1 - (ae-missing-release-tag) "bind" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
Warning: dist/dts/templating/html-directive.d.ts:84:1 - (ae-missing-release-tag) "InlinableHTMLDirective" is exported by the package, but it is missing a release tag (@alpha, @beta, @public, or @internal)
```

### 🎫 Issues

<!---
* List and link relevant issues here.
-->
Partially addresses #5641 

## 👩‍💻 Reviewer Notes

<!---
Provide some notes for reviewers to help them provide targeted feedback and testing.

Do you recommend a smoke test for this PR? What steps should be followed?
Are there particular areas of the code the reviewer should focus on?
-->
Please take a look at the above warnings and determine if these are legitimate and we should proceed with the version update.

## ✅ Checklist

### General

<!--- Review the list and put an x in the boxes that apply. -->

- [ ] I have included a change request file using `$ yarn change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [ ] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/Microsoft/fast/blob/master/CONTRIBUTING.md) documentation and followed the [standards](https://www.fast.design/docs/community/code-of-conduct/#our-standards) for this project.

* Update the fast-router with the updates to fast-element APIs (#5643)

# Pull Request

## 📖 Description

<!---
Provide some background and a description of your work.
What problem does this change solve?
Is this a breaking change, chore, fix, feature, etc?
-->
This change updates `@microsoft/fast-router` so that it uses the new APIs available from `@microsoft/fast-element`. This unblocks part of the `yarn install` errors currently happening in the build gate.

### 🎫 Issues

<!---
* List and link relevant issues here.
-->
Relates to #5641 

## 👩‍💻 Reviewer Notes

<!---
Provide some notes for reviewers to help them provide targeted feedback and testing.

Do you recommend a smoke test for this PR? What steps should be followed?
Are there particular areas of the code the reviewer should focus on?
-->
@EisenbergEffect could you take a look at these changes and verify this is the intended use for the updated `ElementStyles` and `ViewBehaviorTargets`.

## ✅ Checklist

### General

<!--- Review the list and put an x in the boxes that apply. -->

- [ ] I have included a change request file using `$ yarn change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [ ] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/Microsoft/fast/blob/master/CONTRIBUTING.md) documentation and followed the [standards](https://www.fast.design/docs/community/code-of-conduct/#our-standards) for this project.

* fix: add null value as acceptable value to FASTElement.attributeChangedCallback (#5642)

* allow null values in attributeChangedCallback

* Change files

Co-authored-by: nicholasrice <[email protected]>

* Updated to use the new FAST element 2.0 APIs for creating behaviors and creating element styles (#5648)

# Pull Request

## 📖 Description

<!---
Provide some background and a description of your work.
What problem does this change solve?
Is this a breaking change, chore, fix, feature, etc?
-->
This work updates components in `@microsoft/fast-foundation` to use updated APIs from FAST Element 2.0.

### 🎫 Issues

<!---
* List and link relevant issues here.
-->
Relates to #5641

## ✅ Checklist

### General

<!--- Review the list and put an x in the boxes that apply. -->

- [x] I have included a change request file using `$ yarn change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [ ] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/Microsoft/fast/blob/master/CONTRIBUTING.md) documentation and followed the [standards](https://www.fast.design/docs/community/code-of-conduct/#our-standards) for this project.

* Update the API report based on foundation updates for FAST element 2.0 (#5650)

# Pull Request

## 📖 Description

<!---
Provide some background and a description of your work.
What problem does this change solve?
Is this a breaking change, chore, fix, feature, etc?
-->
This api report update comes after the work in #5648 where the installation was finally able to happen, this now allowed for the updates in FAST element 2.0 to update the api report for `@microsoft/fast-components`.

## ✅ Checklist

### General

<!--- Review the list and put an x in the boxes that apply. -->

- [ ] I have included a change request file using `$ yarn change`
- [ ] I have added tests for my changes.
- [x] I have tested my changes.
- [x] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/Microsoft/fast/blob/master/CONTRIBUTING.md) documentation and followed the [standards](https://www.fast.design/docs/community/code-of-conduct/#our-standards) for this project.

* feat: expose official Markup and Parser APIs (#5649)

* feat: expose official Markup and Parser APIs

* Change files

Co-authored-by: EisenbergEffect <[email protected]>

* Fixed an updated export from FAST element 2.0 (#5653)

* Fixed an updated export from FAST element 2.0

* Change files

* fix: prevent duplicative array observation patch (FE2) (#5656)

* fix: prevent duplicative array observation patch

* Change files

* refactor: re-organize array observer code

Co-authored-by: EisenbergEffect <[email protected]>

* fix: defend against for/in use on arrays (FE2) (#5662)

* fix: defend against for/in use on arrays

* Change files

* test: added some basic tests for array observers

Co-authored-by: EisenbergEffect <[email protected]>

* docs: add alpha tags to unfinished binding APIs (#5665)

* docs: add alpha tags to unfinished binding APIs

* Change files

Co-authored-by: EisenbergEffect <[email protected]>

* refactor: move template/style resolution to lazy getter (#5657)

* refactor: move template/style resolution to lazy getter

Enables access in SSR scenarios to the fully resolved template and styles.

* Change files

Co-authored-by: EisenbergEffect <[email protected]>

* feat: handle existing shadow roots when upgrading (#5679)

* feat: handle existing shadow roots when upgrading

* Change files

Co-authored-by: EisenbergEffect <[email protected]>

* Adds TemplateParser to SSR package (#5645)

* adding template-renderer feature and spec files

* adding DOM emission configuration to TemplateRenderer

* adding render function to TemplateRenderer

* adding method description to TemplateRenderer.render

* add template parser files and entry functions

* parseTemplateToOpCodes should throw when used with an HTMLTemplateElement template

* change script structure to allow breakpoints to percist in files from build to build

* adding parse5 HTML parser

* generate AST from ViewTemplate

* implement AST traverser

* adding node type checks

* implement parser class that acts as a node visitor for node traversal

* adding flushTo method to TemplateParser

* implement completion method

* writing a few test fixtures for pure HTML templates

* add directive type and parsing test

* move template-parser files to own directory

* adding tests for directive ops

* fix-up after rebase

* emit op-codes for custom elements

* adding attribute binding ops

* formatting

* adding tests for custom element attribute bindings

* organize imports

* fix processing of interpolated bindings and add test

* Change files

* Update packages/web-components/fast-ssr/src/template-parser/template-parser.ts

Co-authored-by: Jane Chu <[email protected]>

* rename ast variable

* remove dependency on Markup.marker

Co-authored-by: nicholasrice <[email protected]>
Co-authored-by: Jane Chu <[email protected]>

* Added specification for a FAST CLI and project initialization package (#5669)

# Pull Request

## 📖 Description

<!---
Provide some background and a description of your work.
What problem does this change solve?
Is this a breaking change, chore, fix, feature, etc?
-->
This specification is based on the need for FAST to have a CLI for accelerating workflows and provide an easy way to initialize a project. 

### 🎫 Issues

<!---
* List and link relevant issues here.
-->
Related to https://github.com/microsoft/fast/issues/5578

## 👩‍💻 Reviewer Notes

<!---
Provide some notes for reviewers to help them provide targeted feedback and testing.

Do you recommend a smoke test for this PR? What steps should be followed?
Are there particular areas of the code the reviewer should focus on?
-->
I believe some work has been done on this already but the priorities have shifted around, this is my interpretation for what the requirements are and what generally the goals should be. Please give this a thorough read and determine if this captures all requirements, an MVP roadmap is included at the bottom. This is targeting the feature branch including FAST element 2.0 and the server side rendering work as I believe these are related.

## ✅ Checklist

### General

<!--- Review the list and put an x in the boxes that apply. -->

- [ ] I have included a change request file using `$ yarn change`
- [ ] I have added tests for my changes.
- [ ] I have tested my changes.
- [x] I have updated the project documentation to reflect my changes.
- [x] I have read the [CONTRIBUTING](https://github.com/Microsoft/fast/blob/master/CONTRIBUTING.md) documentation and followed the [standards](https://www.fast.design/docs/community/code-of-conduct/#our-standards) for this project.

* Add fast command buffer (#5708)

* Adds TemplateOp to SSR template parser (#5706)

* adding template element open and close ops

* emit template open and close codes from template parser

* fleshes out template op emission

Co-authored-by: nicholasrice <[email protected]>

* feat: enable multiple instances of fast-element on a page at once (#5718)

* feat: enable multiple instances of fast-element on a page at once

* Change files

Co-authored-by: EisenbergEffect <[email protected]>

* refactor: enable pluggable template compiler for SSR scenarios (#5722)

* refactor: enable pluggable template compiler for SSR scenarios

* Change files

Co-authored-by: EisenbergEffect <[email protected]>

* feat: create unified API for parsing markers (#5727)

* feat: create unified API for parsing markers

* fix: correct logic for inserting stable first node

* Change files

* refactor: tersify compiler comment first node check

* fix: correct some API types on the Parser

* change directive op type to use return type of Parser.aggregate()

Co-authored-by: EisenbergEffect <[email protected]>
Co-authored-by: nicholasrice <[email protected]>

* feat: aspected html directive exposes metadata (#5739)

* feat: aspected html directive exposes metadata

* test: expand tests around aspected directives

* Change files

* chore: add missing comment to change file

* replace Parser with Compiler

* fix: remove dependency on this from markup helpers

Co-authored-by: EisenbergEffect <[email protected]>
Co-authored-by: nicholasrice <[email protected]>

* refactor: extract polyfill and polyfill-like code to an optional module (#5752)

* refactor: extract polyfill and polyfill-like code to an optional module

* Change files

* fix: correct build break in fast-foundation from removing $global

* fix: update templates to use classList and fix classList bug

* Change files

* feat: require trusted types for bindings to innerHtml & move core policy

* fix: bug that arises when there are real trusted types

* refactor: minor internal cleanup in the polyfills

* fix: remove polyfill external module dependency

Co-authored-by: EisenbergEffect <[email protected]>

* feat: implement template renderer infrastructure  (#5698)

* implement factory fn to create TemplateRenderer and ElementRenderer

* rename index to exports

* adding default render info object

* adding initial directive rendering

* adds initial custom element rendering

* add directive renderers

* add renderInfo to DirectiveRenderer

* use default directive renderers

* adding attribute binding tests

* ensure attributes don't get emitted twice for custom elements

* Adding internal function to render op codes so that we can omit template elements when rendering custom element templates

* emit template open and close codes from template parser

* implement FAST parser changes and fix tests

* working AspectedHTMLDirective changes into branch

* naive implementation of custom element template rendering

* adds rendering of template op code

* progress on elmeent rendering

* fixing custom element attribute rendering bug

* Change files

* adding boolean and property binding test

* fix bug preventing template elements from being parsed

* add failing template nesting test

* update parsing of content nodes to correctly render interpolated templates

* fix API report and formatting

* adding repeater rendering

* adding directive implementations for Ref, Slotted, and Children

* clean up op types to reduce rendant information

* remove commented code that is no longer needed

* adding tests for ref, slotted, and children

* re-use noop function for noop directives

* cache length of arrays in for loops

* adding style tests

* implementing style renderer

* remove 'data' from style id name

* adding tests

* renaming files to align with current conventions

* update attachShadow signature

* adding classList support

* fixing tests and supporting string types

* removing comment that is a non-concern

* add playwright install step to ci

* add browser path to ci script

* change install script to install at the package level

* update playwright

* Change files

* fixing test

Co-authored-by: nicholasrice <[email protected]>

* feat: add warn/error message infrastructure (#5776)

* feat: add warn/error message infrastructure

* Change files

* feat: add sideEffects files and basic debug tests

Co-authored-by: EisenbergEffect <[email protected]>

* feat: new execution context design (#5800)

* refactor: new design for execution context

* feat: add two new event helpers to the execution context and tests

* fix: wip update types to match new context apis

* fix: update foundation and components template types

* Change files

* fix: update template type in fast-website

* fix: update site components for new template types

* fix: add missing api updates

Co-authored-by: EisenbergEffect <[email protected]>

* fixes build-break caused by rebase

* feat: new HTMLDirective design (#5826)

* refactor: clean up array observer

* refactor: modernize the splice code

* chore: set up SSR package (#5589)

* project files and starting to set up test infrastructure

* incorporating ts project references and getting tests working

* adding .npmignore to ingore tests and server

* adding readmes

* Update packages/web-components/fast-ssr/package.json

Co-authored-by: Chris Holt <[email protected]>

Co-authored-by: nicholasrice <[email protected]>
Co-authored-by: Chris Holt <[email protected]>

* feat: enable multiple instances of fast-element on a page at once (#5718)

* feat: enable multiple instances of fast-element on a page at once

* Change files

Co-authored-by: EisenbergEffect <[email protected]>

* refactor: extract polyfill and polyfill-like code to an optional module (#5752)

* refactor: extract polyfill and polyfill-like code to an optional module

* Change files

* fix: correct build break in fast-foundation from removing $global

* fix: update templates to use classList and fix classList bug

* Change files

* feat: require trusted types for bindings to innerHtml & move core policy

* fix: bug that arises when there are real trusted types

* refactor: minor internal cleanup in the polyfills

* fix: remove polyfill external module dependency

Co-authored-by: EisenbergEffect <[email protected]>

* feat: implement template renderer infrastructure  (#5698)

* implement factory fn to create TemplateRenderer and ElementRenderer

* rename index to exports

* adding default render info object

* adding initial directive rendering

* adds initial custom element rendering

* add directive renderers

* add renderInfo to DirectiveRenderer

* use default directive renderers

* adding attribute binding tests

* ensure attributes don't get emitted twice for custom elements

* Adding internal function to render op codes so that we can omit template elements when rendering custom element templates

* emit template open and close codes from template parser

* implement FAST parser changes and fix tests

* working AspectedHTMLDirective changes into branch

* naive implementation of custom element template rendering

* adds rendering of template op code

* progress on elmeent rendering

* fixing custom element attribute rendering bug

* Change files

* adding boolean and property binding test

* fix bug preventing template elements from being parsed

* add failing template nesting test

* update parsing of content nodes to correctly render interpolated templates

* fix API report and formatting

* adding repeater rendering

* adding directive implementations for Ref, Slotted, and Children

* clean up op types to reduce rendant information

* remove commented code that is no longer needed

* adding tests for ref, slotted, and children

* re-use noop function for noop directives

* cache length of arrays in for loops

* adding style tests

* implementing style renderer

* remove 'data' from style id name

* adding tests

* renaming files to align with current conventions

* update attachShadow signature

* adding classList support

* fixing tests and supporting string types

* removing comment that is a non-concern

* add playwright install step to ci

* add browser path to ci script

* change install script to install at the package level

* update playwright

* Change files

* fixing test

Co-authored-by: nicholasrice <[email protected]>

* feat: new execution context design (#5800)

* refactor: new design for execution context

* feat: add two new event helpers to the execution context and tests

* fix: wip update types to match new context apis

* fix: update foundation and components template types

* Change files

* fix: update template type in fast-website

* fix: update site components for new template types

* fix: add missing api updates

Co-authored-by: EisenbergEffect <[email protected]>

* feat: new HTMLDirective API

* feat: new directive registration/identification model

* refactor: refine design/implementation of new directive aproach

* refactor: clean up comments, interfaces, types for directives/registries

* fix: update foundation to new APIs

* fix: update router to new directive APIs.

* fix: update ssr to new directive APIs

* refactor: clean up ssr switch to new directive APIs

* fix: update React wrapper lib to use latest APIs

* Change files

* fix: post rebase issues

* fix: update reflectAttributes directive to new directive APIs

* test: add more tests to capture new html/directive aspect scenarios

* Change files

* chore: run prettier on foundation

* Update packages/web-components/fast-ssr/src/template-parser/template-parser.spec.ts

Co-authored-by: Nicholas Rice <[email protected]>

* Update packages/web-components/fast-ssr/src/template-parser/template-parser.spec.ts

Co-authored-by: Nicholas Rice <[email protected]>

* Update packages/web-components/fast-foundation/src/directives/reflect-attributes.ts

Co-authored-by: Nicholas Rice <[email protected]>

* Update packages/web-components/fast-foundation/src/directives/reflect-attributes.ts

Co-authored-by: Nicholas Rice <[email protected]>

* chore: cleanup tests after rebase

Co-authored-by: Nicholas Rice <[email protected]>
Co-authored-by: nicholasrice <[email protected]>
Co-authored-by: Chris Holt <[email protected]>
Co-authored-by: EisenbergEffect <[email protected]>

* fix: ssr bug fixes (#5850)

* expose dom shim from package root

* ensure DOM updates are made synchronously

* upgrade lit to use latest dom shim

* fleshing out dom-shim with foundation-element requirements

* fix root <template> behavior to be more durable to formatting

* implement classList binding for native elements

* enables style retrevial for a custom element through SSR style-strategy

* clean up exports

* add tagName to elements created by ElementRenderer to be used by componentPresentation

* prettier

Co-authored-by: nicholasrice <[email protected]>

* feat: new CSSDirective design (#5835)

* feat: new CSSDirective design

* feat: attach the partial helper to the css helper

* fix: update foundation to new CSSDirective API

* fix: update components to new CSSDirective API

* docs: add missing docs to CSSTEmplateTag type

* Change files

* fix: add back cssPartial with deprecation message

Co-authored-by: EisenbergEffect <[email protected]>

* rename title attribute on disclosure to summary (#5861)

* rename title attribute on disclosure to summary

* Change files

* fix: update default value of dialog's modal attribute to false (#5860)

* update the default value of dialog  modal attribute to false

* Change files

* feat: update private change handlers to protected (#5872)

* update attribute and observable change handlers with internal logic to be protected instead of private

* Change files

* udpate api docs

* feat: trim unnecessary nodes from start end (#5892)

* remove unnecessary DOM nodes from start/end slot templates

* Change files

* fix document element bindings in SSR template rendering (#5905)

* add missing tests for host element bindings

* use parse for template rendering to support binding to document elements

Co-authored-by: nicholasrice <[email protected]>

* fix various binding bugs in SSR template renderer (#5929)

* adding tests

* ensure boolean attribute bindings have value converted prior to setting attribute value

* ensure setAttribute isn't called for a null or undefined binding product

* consolidate binding rendering logic

* adding tests for binding boolean attributes and classList for template elements

* fix template binding bugs

Co-authored-by: nicholasrice <[email protected]>

* fixing build / test after rebase

* chore: add api extractor to FAST SSR (#5939)

* adds api extractor and configures exports. Also removes entrypoints to certain incomplete features

* use latest api extractor

Co-authored-by: nicholasrice <[email protected]>

* update after rebase

* update yarn.lock after rebase

* feat: officially expose testing helpers (#5958)

* feat: officially expose testing helpers

* Change files

* docs: improve testing helper code docs

* test: trying to fix react wrapper tests

* Change files

* update typescript to 4.7.0-beta

* fix type error in router configuration

* fixing foundation compile error

* all packages passing build

* add export paths to fast-element

* fixing reat-wrapper testing infrastructure

* fixing test in fast-website

* fixing color-explorer test

* fixing figma-plugin tests

* fixing dev server

* fixing fast-website dev

* fixing error generating docs

* add description for utility

* Change files

Co-authored-by: Rob Eisenberg <[email protected]>
Co-authored-by: EisenbergEffect <[email protected]>
Co-authored-by: nicholasrice <[email protected]>

* chore: modernize package.json and rollup for vNext (#5966)

* chore: fast-element package and build modernization

* chore: fast-foundation package and build modernization

* chore: package updates for fast-ssr

* chore: remove rollup of router

* chore: update rollup to enable package exports

* Change files

* chore: remove rollup of react-wrapper

* Change files

* chore: update package.json metadata

* Change files

* chore: ensure default export last for fast-element

Co-authored-by: EisenbergEffect <[email protected]>

* refactor: separate update queue from DOM and fix architectural layers (#5972)

* refactor: separate update queue from DOM and fix architectural layers

* fix: update fast-foundation to not use deprecated APIs

* fix: update fast-ssr to not use deprecated APIs

* fix: update fast-react-wrapper to not use deprecated APIs

* fix: update fast-website to not use deprecated APIs

* Change files

* chore: re-enable deprecated APIs after package updates

* docs: fix some API comment typos in the update queue docs

Co-authored-by: EisenbergEffect <[email protected]>

* fix: enable safer type inference on the repeat helper (#5975)

* fix: enable safer type inference on the repeat helper

* Change files

Co-authored-by: EisenbergEffect <[email protected]>

* feat: enable array length observation (#5977)

* feat: enable array length observation

* Change files

Co-authored-by: EisenbergEffect <[email protected]>

* fix: merge bug related to moved APIs (#5978)

* fix: merge bug related to moved APIs

* Change files

Co-authored-by: EisenbergEffect <[email protected]>

* chore: add SSR documentation (#5969)

* adding ssr documentation

* exporting ViewBehaviorFactoryRenderer type

* pretty pretty

* fixing api docs

* pretty pretty pretty

* Update packages/web-components/fast-ssr/README.md

Co-authored-by: Rob Eisenberg <[email protected]>

* Update packages/web-components/fast-ssr/README.md

Co-authored-by: Rob Eisenberg <[email protected]>

* Update packages/web-components/fast-ssr/README.md

Co-authored-by: Rob Eisenberg <[email protected]>

* Update packages/web-components/fast-ssr/README.md

Co-authored-by: Rob Eisenberg <[email protected]>

* Update packages/web-components/fast-ssr/README.md

Co-authored-by: Rob Eisenberg <[email protected]>

* Update packages/web-components/fast-ssr/README.md

Co-authored-by: Jane Chu <[email protected]>

Co-authored-by: nicholasrice <[email protected]>
Co-authored-by: Rob Eisenberg <[email protected]>
Co-authored-by: Jane Chu <[email protected]>

* feat: introduce binding mode and binding config define APIs (#5988)

* feat: introduce AspectType

* feat: introduce binding mode and binding config define APIs

* refactor: refine binding mode types

* docs: document binding APIs

* Change files

* refactor: make the standard event binding a default for mode creation

* fix: correct a generics issue and export a missing type

* fix: default event type for binding modes never undefined

Co-authored-by: EisenbergEffect <[email protected]>

* feat: add two-way binding (#5995)

* feat: add two-way binding

* test: add tests for previously created binding modes

* test: add tests for two-way bindings

* test: add event binding tests

* Change files

* fix: prevent memory leek in one-time events

* fix: prevent clashing state for behaviors on the same node

* fix: more internal consistency for binding state

* fix: more consistency and prevent internal clobber of directive state

Co-authored-by: EisenbergEffect <[email protected]>

* chore: remove dependency on ie11 types (#5941)

* feat: new execution context design (#5800)

* refactor: new design for execution context

* feat: add two new event helpers to the execution context and tests

* fix: wip update types to match new context apis

* fix: update foundation and components template types

* Change files

* fix: update template type in fast-website

* fix: update site components for new template types

* fix: add missing api updates

Co-authored-by: EisenbergEffect <[email protected]>

* remove unnecessary dependency on @types/ie11 package

* Change files

Co-authored-by: Rob Eisenberg <[email protected]>
Co-authored-by: EisenbergEffect <[email protected]>

* fix incorrect and non-semantic slot names for search (#5942)

* fix incorrect and unsemantic slot names for search

* Change files

* remove deprecated keyCodes and add additional "keys" (#5944)

* remove deprecated keycodes and add additional keys

* Change files

* remove deprecated keyCode m fn

* remove deprecated item slot on accordion (#5945)

* remove deprecated item slot on accordion

* Change files

* remove classes and parts from slots on `fast-foundation` templates (#5946)

* fixes build-break caused by rebase

* feat: update private change handlers to protected (#5872)

* update attribute and observable change handlers with internal logic to be protected instead of private

* Change files

* udpate api docs

* fixing build / test after rebase

* remove class and part names from slots in fast foundation templates

* Change files

Co-authored-by: nicholasrice <[email protected]>

* feat: add splice strategies for array observation (#5999)

* feat: extract splice merging to a strategy

* feat: enable splice strategy to control splice creation per array method

* feat: add reset splice strategy

* refactor: made array length observation part of the standard interface

* feat: add SpliceStrategySupport and fix enum/literals

* refactor: re-organize array observation code

* chore: add splice-strategies to the package and clean up exports

* Change files

* chore: remove invalid eslint comments

* test: add array observer tests for all array mutations

* fix: adding extensions back to exports

Co-authored-by: EisenbergEffect <[email protected]>

* Implement ElementRenderer and DOM shim directly into SSR package, remove lit-labs/ssr dependency (#5997)

* integrate DOM shim and update acknowledgements

* remove lit-labs/ssr dependency

* add license info to acknowledgements

Co-authored-by: nicholasrice <[email protected]>

* fix(fast-element): do not notify splices for changes pre-subscription (v2) (#6006)

* fix(fast-element): do not notify splices for changes pre-subscription

* Change files

Co-authored-by: EisenbergEffect <[email protected]>

* remove private field from fast-ssr (#6010)

* remove private field from package.json

* Change files

Co-authored-by: nicholasrice <[email protected]>

* changed fast-element to a peer dependency (#6011)

Co-authored-by: nicholasrice <[email protected]>

* chore: strip internals from package d.ts files (#6015)

* chore: configure fast-element for internal stripping

* chore: configure fast-foundation for internals stripping

* chore: configure fast-ssr for internals stripping

* chore: configure fast-router for internals stripping

* chore: finish cleanup of internals stripping

* Change files

Co-authored-by: EisenbergEffect <[email protected]>

* feat: update tabs bool attr defaulting to true (#6020)

* change activeindicator attribute in tabs to hide-active-indicator to better support boolean attribute behavior

* Change files

* Add adaptive-ui package (#5989)

* chore: update api extractor to support node 16 (#6032)

* update api extractor and typescript to use the latest versions

* Change files

* update dialog trap focus to default to false (#6016)

* change trapFocus on dialog to noFocusTrap to better support boolean attributes

* Change files

* update SSR npmignore file w/ new project structure (#6017)

* update npmignore file w/ new project structure

* Change files

Co-authored-by: nicholasrice <[email protected]>

* fix: add support for foundation components to SSR DOM shim (#6031)

* add files and foundation dev dependency

* fixing issue where getter and static property "attributes" was causing static to clobber the getter

* removing style utilities

* adding uninstall dom shim test util

* adding foundation DOM shim

* Revert "removing style utilities"

This reverts commit bfa5816d72db627f72c5793dff45805af97133a3.

* deprecate styling utilities and hard-code focus-visible

* fixing errors in foundation element rendering

* cleans up foundation-dom-shim spec file

* adding un-install dom shim

* adding exports field for foundation shim and install-foundation-shim

* Change files

* remove foundation DOM shim and integrate it into minimal DOM shim

* fixing deprecation notice

* remove uninstall-dom-shim because it is no longer needed

* removing foundation DOM shim

Co-authored-by: nicholasrice <[email protected]>

* docs: update a few readme files (#6035)

* docs: update a few readme files

* Change files

Co-authored-by: EisenbergEffect <[email protected]>

* feat: fast-element utilities, hooks, disposable, and binding observer improvements (#6030)

* chore: rebase to accept typescript and api-extractor updates

* feat: enable subscribing deeply to observables

* feat: introduce Disposable interface and use throughout fast-element

* test: add initial tests for makeObservable utility

* test: add initial tests for the watch utility

* feat: initial prototype of useState() and useEffect() hooks

* test: add tests for the useState() hook

* refactor: remove disconnect from BindingObserve and add  sync updates

* chore: fixing up file extension in tests and for disposable

* chore: various fixes for Node16 and package exports

* chore: update core web component library webpack and karma config

* Change files

* fix: temporary fix for site build

* chore: fix adaptive-ui build and test

* Change files

* Users/chhol/remove unnecessary site utilities (#6036)

* remove site util source directory and update website webpack loaders for assets

* fixing fast-foundation dependency version to install workspace version

* fixing test errors in fast-site-utilities

* removing eslint from site-utilties

* fixing path to spect files in adaptive-ui

* fixing color-explorer build

* remove babel-loader from website

Co-authored-by: nicholasrice <[email protected]>

* Change files

* chore: remove prettier from site-utilities

Co-authored-by: EisenbergEffect <[email protected]>
Co-authored-by: Chris Holt <[email protected]>
Co-authored-by: nicholasrice <[email protected]>

* fix: post rebase fixes

* fixing FE2 build breaks (#6044)

* add missing dependency to fast-animation

* adding missing dependency to fast-color-explorer

* update webpack in fast-animation

* Change files

* fix webpack config

Co-authored-by: nicholasrice <[email protected]>

* add PW browser install step to ci-validate-platforms process (#6045)

Co-authored-by: nicholasrice <[email protected]>

* replace custom badge URL w/ badge.fury.io path (#6046)

Co-authored-by: nicholasrice <[email protected]>

* Remove the branch specific logic for version updates (#6047)

Co-authored-by: Nicholas Rice <[email protected]>
Co-authored-by: nicholasrice <[email protected]>
Co-authored-by: Chris Holt <[email protected]>
Co-authored-by: Jane Chu <[email protected]>
Co-authored-by: EisenbergEffect <[email protected]>
Co-authored-by: William Wagner <[email protected]>
Co-authored-by: Brian Heston <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

feat: improve HTMLDirective and CSSDirective design for flexibility, consistency, and performance
5 participants