Граф коммитов

241 Коммитов

Автор SHA1 Сообщение Дата
Craig Macomber (Microsoft) adc25b0961
[bump] client: 2.10.0 => 2.11.0 (minor) (#23134)
## Description

Bumped client from 2.10.0 to 2.11.0.
2024-11-18 19:23:30 -08:00
Craig Macomber (Microsoft) 3cd1f01a14
Generate changelogs (#23132)
## Description

Generate change logs with `pnpm exec flub generate changelog -g client`
2024-11-19 00:16:38 +00:00
Craig Macomber (Microsoft) 662d7a5fe2
Update build-tools version used by client (#23097)
## Description

This used:

1. `pnpm exec flub bump deps client -g  -t latest`
2. Manually update version in root package.json
3. pnpm install --no-frozen-lockfile
4. Remove no longer needed type test breaks from tree (this update had
some fixes to handling of never and system types in type tests)
5. `pnpm run build:fast`
2024-11-14 15:13:41 -08:00
Tyler Butler 0b57176375
build(client): Update build-tools to latest release 0.50.0 (#22974)
Updated the following:

  client (release group)

Dependencies on build-tools updated:

  @fluid-tools/build-cli: 0.50.0
  @fluidframework/build-tools: 0.50.0
  @fluidframework/bundle-size-tools: 0.50.0
  @fluid-tools/version-tools: 0.50.0
2024-11-05 19:56:25 +00:00
Jatin Garg 11971262b8
Bump client minor 2.10.0 (#22978)
## Description

Bump client minor 2.10.0

---------

Co-authored-by: Jatin Garg <jatingarg@Jatins-MacBook-Pro-2.local>
2024-11-05 02:35:05 +00:00
Jatin Garg 54f2a18248
build(client): changelog generation for minor release 2.5.0 (#22976)
## Description

build(client): changelog generation for minor release 2.5.0

Co-authored-by: Jatin Garg <jatingarg@Jatins-MacBook-Pro-2.local>
2024-11-05 01:39:52 +00:00
Tyler Butler f2a97b2a9d
build(client,build-tools): Upgrade biome to 1.9.3 (#22721) 2024-10-15 19:41:20 -07:00
Jatin Garg a390d2f246
build(client): Bump build-tools dependencies to 0.49.0 (#22808)
build(client): Bump build-tools dependencies to 0.49.0

---------

Co-authored-by: Jatin Garg <jatingarg@Jatins-MacBook-Pro-2.local>
2024-10-15 19:28:02 +00:00
Tyler Butler b053eb67bd
build(client): Generate changelogs for 2.4 release (#22798) 2024-10-14 19:38:11 -07:00
Tyler Butler 3d5cbdc22c
[bump] client: 2.4.0 => 2.5.0 (minor) (#22799)
Bumped client from 2.4.0 to 2.5.0.

Some new packages in the client had `workspace:^` deps that were
corrected to use tilde, so the lockfile had to be updated.

Command used:

```shell
flub release -g client -v
```
2024-10-14 15:57:23 -07:00
Tyler Butler a1146fc590
build(client): Update build-tools deps to 0.48.0 (#22770) 2024-10-09 15:42:37 -07:00
Jatin Garg 0689b0e535
build(client): Bump build-tools dependencies to 0.47.0 (#22734)
build(client): Bump build-tools dependencies to 0.47.0 

This contains changes in build-tools to help enforce code coverage
policies in client repo.

Co-authored-by: Jatin Garg <jatingarg@Jatins-MacBook-Pro-2.local>
2024-10-04 23:32:03 +00:00
Alex Villarreal be09928028
refactor: Update React dependencies (#22726)
## Description

Update React from 17 to 18 in our examples and in Devtools. Also cleans
up the `@types/react-dom` dev dependency from packages that don't import
`react-dom`, and adds `@types/react` and `@types/react-dom` as dev
dependencies to a package that uses both of them but didn't have a
dependency on the types.

This is motivated by work on the Fluid AI Collab experiment which uses a
NextJS app as an example (because it wants to run some code server side)
and NextJS requires React 18.
2024-10-04 15:56:26 -05:00
Craig Macomber (Microsoft) b4aa210b44
Bump client version to 2.4 (#22528)
## Description

Must merge after https://github.com/microsoft/FluidFramework/pull/22527

Ran
`pnpm exec flub release -g client`

Which modified the versions of the packages (as it should) and also
replace all "workspace:~" version with "^2.4.0" (which it shouldn't)
then crashed in `pnpm i` due to trying to modify the lock file when it
shouldn't (without --no-frozen-lockfile).

I don't think that script should modify dependencies or pnpm install, so
I think those issues are bugs.

I reverted all the dependency changes.
2024-09-16 16:03:20 -07:00
Craig Macomber (Microsoft) 5dd8c21a2c
Generate ChangeLogs for client 2.3 (#22527)
## Description

Generate ChangeLogs for client 2.3.

I had to manually remove the package references from the changeset from
the propertyDDS package removal to avoid
https://github.com/changesets/changesets/issues/1403 before generating
these.

Generated using: 
```
pnpm flub generate changelog -g client
```

Release notes will be generated by going to the commit before this
merged, and reprocessing the changesets.
2024-09-16 13:11:31 -07:00
Tyler Butler 42ecec2f72
build(client): Bump build-tools dependencies to 0.46.0 (#22482)
Updates the build-tools to 0.46.0 in the client release group.

Primary changes:

The biggest changes in this release are in the type tests.

- The tests are now output in order sorted by type name.
- New in 0.46, the type tests no longer depend on any other build task,
so the task config has been updated accordingly. Also, the default
entrypoint that is tested in each package is now explicitly recorded in
package.json (those changes are in #22495).

Additional changes:

- The config now has a version property set to 1. This is a schema
version that we can change as needed when we make schema changes to the
config(s).
- The `"check:exports"` task config for test-loader-utils needed manual
updates because it does not have an api task. It has been updated with a
custom task definition.
- Several packages had task overrides that were incomplete/incorrect
because they did not inherit the global task config. Those packages have
been updated to inherit the global config.
- The same packages from the previous step also have an additional task
config for the "build:esnext" task to depend on typetests:gen; this is
needed so that ESM and CJS can be built separately. The packages in
question do not have a build:test task since they build tests as part of
their standard build. Without the build:esnext -> typetests:gen task dep
in each package, the ESM builds would not trigger typetest generation as
they should.
2024-09-14 00:49:00 +00:00
Tyler Butler 51ac6498c9
build(client): Set type test default entrypoints to internal for all packages (#22495) 2024-09-13 08:30:04 -07:00
Matt Rakow d9f0c37395
Update webpack-related dependencies (#22447) 2024-09-10 23:11:36 +00:00
Rishhi Balakrishnan f4cddf007c
bump(client): bump all client packages to use the new eslint-config-fluid (#22349)
Bumping every eslint-config-fluid in client to version ^5.4.0

[AB#11815](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/11815)
2024-09-03 09:39:50 -07:00
Tyler Butler dda812637f
build(client): Update build-tools dependencies to latest (0.44) (#22297)
Updated the following:

  client (release group)

Dependencies on build-tools updated:

  @fluid-tools/build-cli: 0.44.0
  @fluidframework/build-tools: 0.44.0
  @fluidframework/bundle-size-tools: 0.44.0
  @fluid-tools/version-tools: 0.44.0

I also made two small changes to the root Biome config and the
test-snapshots Biome config. The configs exposed a case where `git
ls-files` will return a path to a directory - if that directory is a
submodule. These config changes enable the Biome task caching to work
even with this ls-files oddity by ensuring the directory path doesn't
make it into the cached file list.
2024-08-23 00:49:37 +00:00
Tyler Butler 30ce7b9586
[bump] client: 2.2.0 => 2.3.0 (minor) (#22248)
Bumped client from 2.2.0 to 2.3.0.

Command used:

```shell
p flub release -g client
```
2024-08-16 18:16:36 -07:00
Tyler Butler 7de7760f5b
build(client): Generate changelogs for 2.2 release (#22241)
Command used:

```shell
pnpm flub generate changelog -g client
```
2024-08-16 23:23:32 +00:00
Tyler Butler 91560d1629
build(client): Bump build-tools dependencies to 0.43 (#22238)
Bumps build-tools dependencies in client to the latest release. Command
used:

```shell
pnpm exec flub bump deps build-tools -g client --updateChecker homegrown
```
2024-08-16 21:29:06 +00:00
Tyler Butler c7011bb4b2
build(client): Upgrade build-tools deps to latest prerelease (#22135)
Upgrades build-tools in client to the latest prerelease version.

The primary reason to pick up this prerelease is to get the updated
changeset and release note tools, as well as fixes for `flub release
history`.
2024-08-06 17:45:33 -07:00
Mark Fields 29b51fdb9b
Bump build-tools to 0.42 (for client release group) (#22079)
via `flub bump deps build-tools -g client -t latest --updateChecker
homegrown -v -x`
2024-07-31 21:26:42 +00:00
Joshua Smithrud 5448913317
refactor(markdown-magic): Rename example app header template (#22019)
The template is for use specifically in example _app_ READMEs. We also
have example _library_ packages, which are better served by our library
README template. This PR renames the example app template to make this
distinction more clear.
2024-07-25 01:04:56 +00:00
Joshua Smithrud 52dc0d3131
docs: Update package READMEs to leverage `markdown-magic` header and footer templates (#22013)
Also makes a few misc. cleanup changes
2024-07-24 15:56:23 -07:00
Joshua Smithrud fda237f2bb
refactor(markdown-magic): Simplify template names (#21964)
See the updates in `markdown-magic/README` for the full list of renames.

Also note that in addition to the rename from `EXAMPLE_PACKAGE_README`
TO `EXAMPLE_README_HEADER`, that template was updated to _only_ include
"header" contents (for now, this is just the "Getting Started" section).
It now omits the "footer" contents which are now available via the
renamed `README_FOOTER` template. There were no existing usages of this
updated template outside of tests, so no usages had to be updated. I
will likely update many of our examples to use this updated template in
a follow-up PR.
2024-07-22 16:33:44 -07:00
Craig Macomber (Microsoft) 489cbdedd9
[bump] client: 2.1.0 => 2.2.0 (minor) (#21960)
## Description

Bumped client from 2.1.0 to 2.2.0.
2024-07-19 16:58:09 -07:00
Craig Macomber (Microsoft) 50438c397b
Generate changelogs for client 2.1 release (#21957)
## Description

pnpm flub generate changelog -g client
2024-07-19 21:10:11 +00:00
Joshua Smithrud a8d7dfdaa4
docs: Update package READMEs to leverage new markdown-magic templates (#21900)
Improves discoverability of our policies by surfacing them in various
package READMEs
2024-07-18 14:08:11 -07:00
Tyler Butler a97d2a19bc
build(client): Bump dependencies on build-tools to 0.41.0 (#21933)
Bumps the client dependencies on build-tools to 0.41.0.

## Automated changes

- The type test generator was updated in this build-tools release, so
the output of all type tests was regenerated.

## Manual changes

- The type test generator uses new names in some cases, which means
existing test disables in package.json had to be renamed. This extra
step could have been avoided if I'd done the bump after the next
release, when the type tests are all reset and the disables are all
reset. But this release contains useful changes and is worth getting
into the release branch as well.
- The azure-client disables needed an additional entry,
"RemovedClassStatics_AzureFunctionTokenProvider" which is expected.
2024-07-18 10:05:44 -07:00
Jason Hartman b70b836ee2
tools(client+build-tools): update Biome to 1.8.3 (#21869)
Changes:
1. Remove production dependency in
@fluid-example/bubblebench-shared-tree
2. Update versions to ~1.8.3 (and set config to want ~)
3. Handle deprecations
a. Replace "javascript.formatter.trailingComma" with "...trailingCommas"
   b. Replace cli argument `--apply` with `--write`
4. Apply formatting updates
5. Add Biome to npm-package-json-script-dep
6. Remove unused `--formatter-enabled=true` from commands
7. Add missing biome devDeps in build-tools

Under 1.7.3 VS Code extensions users could experience server connection failures and need 1.8 version to get support from Biome. See [biomejs/biome-vscode#261](https://github.com/biomejs/biome-vscode/issues/261)
2024-07-12 21:26:58 +00:00
Tyler Butler d77a29b906
build(client): Update build-tools deps to 0.40.0 (#21783)
Updated the following:

  client (release group)

Dependencies on build-tools updated:

  @fluid-tools/build-cli: 0.40.0
  @fluidframework/build-tools: 0.40.0
  @fluidframework/bundle-size-tools: 0.40.0
  @fluid-tools/version-tools: 0.40.0

## Automated changes

This update caused two major changes:

- type tests are now more compact and several bugs have been addressed.
- Some api reports have comment-only changes.

## Manual changes

I also noticed that odsp-doclib-utils had a lint config that did not
extend from "prettier," so some lint rules that shouldn't be running
were getting triggered on the type tests. Extending the prettier config
resolved the problem.

Finally, I added an exclusion of the npm-metadata-and-sorting policy for
the root package.json because of
[AB#8640](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/8640),
which I'll resolve later.
2024-07-08 12:26:43 -07:00
Joshua Smithrud 667b3971d3
docs: Update README "Help" template to point to our website, rather than primarily pointing to our github wiki (#21736)
Our github wiki isn't really tailored for public consumers; that's what
our website is for.

This PR updates our README "Help" template (and all consuming READMEs)
to point users exclusively to our website for learning.
2024-07-01 23:07:42 +00:00
Tyler Butler 357d30e1f2
fix(client): Correct repository.directory field (#21689)
The repository.directory field is not correct for some packages. I
updated the broken ones using the policy in #21605. That policy will
protect against future issues once it's merged and brought into the
client release group.
2024-06-28 12:03:50 -05:00
Tyler Butler cd0126edd6
[bump] client: 2.0.0-rc.5.0.0 => 2.1.0 (#21531)
Bumped client from 2.0.0-rc.5.0.0 to 2.1.0, the next version we intend
to release from main.

Command used:

```shell
flub bump client --exact 2.1.0
```

Includes the changes in #21346 which were needed to get this PR to pass
CI.

---------

Co-authored-by: Scott Norton <scottnorton@microsoft.com>
2024-06-19 14:54:23 -07:00
Tyler Butler b4697f1144
build(client): Generate changelogs for 2.0.0-rc.5.0.0 (#21534)
Consumes changesets and generates per-package changelogs for RC5.

Command used:

```shell
flub generate changelog -g client
```
2024-06-19 14:14:40 -07:00
Tyler Butler 9629f1d93a
build(client): Update server dependencies to 5.0.0 (#21514)
Updated the following:

  client (release group)

Dependencies on server updated:

  @fluidframework/gitresources: ^5.0.0
  @fluidframework/server-kafka-orderer: ^5.0.0
  @fluidframework/server-lambdas: ^5.0.0
  @fluidframework/server-lambdas-driver: ^5.0.0
  @fluidframework/server-local-server: ^5.0.0
  @fluidframework/server-memory-orderer: ^5.0.0
  @fluidframework/protocol-base: ^5.0.0
  @fluidframework/server-routerlicious: ^5.0.0
  @fluidframework/server-routerlicious-base: ^5.0.0
  @fluidframework/server-services: ^5.0.0
  @fluidframework/server-services-client: ^5.0.0
  @fluidframework/server-services-core: ^5.0.0
  @fluidframework/server-services-ordering-kafkanode: ^5.0.0
  @fluidframework/server-services-ordering-rdkafka: ^5.0.0
  @fluidframework/server-services-ordering-zookeeper: ^5.0.0
  @fluidframework/server-services-shared: ^5.0.0
  @fluidframework/server-services-telemetry: ^5.0.0
  @fluidframework/server-services-utils: ^5.0.0
  @fluidframework/server-test-utils: ^5.0.0
  tinylicious: ^5.0.0

Command used:

```
flub bump deps server -g client --updateChecker homegrown
```

I also updated the lockfile resolution of the debug package to be 4.3.5,
the latest patch. Command used:

```shell
flub modify lockfile -g client --dependencyName=debug --version=^4.3.5
```

This was needed because the new server version brought in the new debug
version, so we had two versions when bundled, which our bundle-size
tests caught. By resolving uniformly to the latest, we unified the
version across client and server.
2024-06-19 10:33:59 -07:00
Tyler Butler c17c13634e
build(client): Enable biome as default formatter (#21298)
## Summary

The client release group is updated to use biome for formatting instead
of prettier.

## Changes

1. The `format` script in each package now calls biome instead of
prettier.
2. The root `format` task runs a single biome command from the root
instead of running format in every package.
3. The vscode root workspace settings have been updated to set the biome
extension as the default formatter.
4. The root biome config is now in JSONC instead of JSON.
5. Paths outside the client and build-tools release groups are ignored
in the biome config because they're not using biome (yet).

## Known issues

- Despite best efforts, formatting back and forth between biome and
prettier is not 100% fidelity. Some changes that biome makes prettier
does not revert, though it also doesn't start failing or anything. You
can see examples by running `pnpm format && pnpm format:prettier` from
the root and looking and the remaining changes.
- Reformatting does sometimes cause lint disable statements to get
misplaced and they have to be manually fixed up.
2024-06-17 16:57:07 -07:00
Jason Hartman 13653ef556
build(client): Update deps on build-tools to 0.39 (#21360)
Updated the following:
 - client (release group)
 - client-release-group-root

Dependencies on build-tools updated:
-  `@fluid-tools/build-cli`: 0.39.0
-  `@fluidframework/build-tools`: 0.39.0
-  `@fluidframework/bundle-size-tools`: 0.39.0
-  `@fluid-tools/version-tools`: 0.39.0
- `@oclif/core` allowed to update - required by `@fluid` updates

Ran build to generate new typetest sources for changes in
https://github.com/microsoft/FluidFramework/pull/19224.

- `@sealed` tag to disables "forwards" compatibility testing making
extending sealed types not a breaking change. More docs are in progress
about this in https://github.com/microsoft/FluidFramework/pull/14421
- Make type tests import type preprocessors instead of inlining their
source. This (among other things) allows navigating to their
implementations and viewing the IntelliSense documenting the different
validators mentioned above.
- Add support for "MinimalType" (`@type-test-minimal`) and "FullType"
(``@type-test-full``) tags to opt into stricter validation or out of
validation via type preprocessors. These are mainly intended as
workarounds for type-testing limitations, and an incremental step toward
enabling more strict testing by default.

---------

Co-authored-by: Tyler Butler <tyler@tylerbutler.com>
2024-06-12 12:56:01 -07:00
Tyler Butler 6d9b7891fc
build(client): Add biome formatting scripts (#19380)
## Summary

Adds several scripts that can be run to convert projects in the client
release group to use the biome formatter. The process can be effectively
reversed by running another script, so projects can switch between
prettier and biome using the scripts and the build will continue to
work.

After enabling biome formatting, you can manually format using biome
with the `format:biome`script.

Once projects are completely on biome and we no longer need to port
changes between prettier branches and biome branches, then we can remove
prettier completely using the remove-prettier script. We should only do
that once the last release branch using prettier is no longer in
service.

## Scripts

### add-biome.sh

This script adds biome formatting scripts to a project. It also adds a
local biome config file to the project if needed.

The `format:prettier` and `check:prettier` tasks are left intact, and
the `format` task still calls prettier. This
enables one to manually format using biome while leaving the overall
build using prettier.

After running this script, you can clean up the package.json files by
running `pnpm policy-check:fix`.

**This PR includes the changes made by running this script across the
client release group.**

### enable-biome.sh

This script enables biome formatting in a project. It updates the
`format` and `check:format` scripts to call biome. It
should only be run on projects that have already had biome added to it.

### enable-prettier.sh

This script enables prettier formatting in a project. It updates the
`format` and `check:format` scripts to call
prettier. It's the opposite of the enable-biome.sh script.

### remove-prettier.sh

Once a project is completely switched to biome and no longer needs
prettier, this script will remove the prettier
dependency and any related scripts and config files.
2024-06-11 11:13:59 -07:00
Rishhi Balakrishnan 8a7107b762
Enable exactOptionalPropertyTypes for FF repo (#21354)
Minimum file changes needed to enable exactOptionalPropertyTypes for FF
repo

[AB#8109](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/8109)
2024-06-10 13:12:00 -07:00
WillieHabi 014ae3b93e
Bump server deps to prerelease version on client (#21241)
Bumping server dependencies to prerelease version in the client release
group to access new [targeted signal
capabilities](https://github.com/microsoft/FluidFramework/pull/19519) on
the client side.

Will need confirmation from FF release engineer(s) since they will be
the person who will have to do the real server release.

I used the following command to complete the bump from the repo root:  
`flub bump deps server -g client -t greatest --prerelease`

I then did `pnpm install` to update the pnpm-lock file.
2024-06-03 20:08:25 -04:00
Tyler Butler 48092e5319
build(client): Upgrade biome to 1.7.3 (#21261) 2024-06-01 17:14:00 -07:00
Tyler Butler b07c6cbbc4
Update deps (minor) on eslint-config-fluid in the client release group (#20970)
Updated the following:

  client (release group)

Dependencies on @fluidframework/eslint-config-fluid updated:

  @fluidframework/eslint-config-fluid: 5.3.0

There were some code changes needed to adhere to the lint config. They
were partially automated then I manually fixed up others.
2024-06-01 00:51:46 +00:00
Craig Macomber (Microsoft) 0e6256c722
Update to TypeScript 5.4 (#21214)
## Description

Update Client to TypeScript 5.4

## Reviewer Guidance

The review process is outlined on [this wiki
page](https://github.com/microsoft/FluidFramework/wiki/PR-Guidelines#guidelines).
2024-05-28 15:42:32 -07:00
Matt Rakow 2730787209
Add compat mode option to AzureClient and TinyliciousClient (#20997) 2024-05-21 14:25:02 -07:00
Zach Newton 0ab6c0d89b
bump Tinylicious to 4.0.1 in client deps (#21181)
## Description

Patches Quorum issue in Tinylicious v4 (#21126).
2024-05-21 13:13:06 -07:00
Craig Macomber (Microsoft) 7ac0f4f709
Update client to TypeScript 5.3.3 (#20994)
## Description

Typescript 5.3 brings useful features like support for
[Symbol.hasInstance
narrowing](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-3.html#instanceof-narrowing-through-symbolhasinstance),
type checking optimizations and much more. Since ClientRequirements.md
lists our requirement at TypeScript 5.4, this should be ok (from the
perspective of aligning with that requirement)

See
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-2.html
and
https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-3.html
for more details.

Based on a two test runs, this change makes `pnpm run build:compile`
about 7% faster. (105.438 and 107.011 seconds instead of 113.816 and
114.096 without the change)

## Breaking Changes

This is not expected to break anything, however its possible that the
compile TypeScript is slightly different, which could cause issues in
some edge cases.

This will enable code to start relying on newer features, which when
used in public APIs could in turn cause breakages for users of older
versions of TypeScript.

There are a couple cases where type-tests were impacted. These seemed to
be a fix of typescript capturing more accurate types, especially around
index signatures, and cases where the TypeScript compiler wouldn't
provide any useful information about what changed with the only
difference being inside the `...` non-printed parts of the types. As the
changes seem relatively minor they seem unlikely to cause any real
issues (didn't break lots of examples/tests) and since we only support
customers using TypeScript 5.4 and plan to move to 5.4 ourselves at some
point, if this causes a breaking change in some edge case, that probably
a good thing to get out of the way now while we are still in the RC
phase.
2024-05-20 18:37:16 +00:00