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

101 Коммитов

Автор SHA1 Сообщение Дата
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
Joshua Smithrud bd5d909183
docs: Update README dependency instruction templates to offer guidance for unstable API use (#21740)
Updates the guidance for use of `^` to be specific to using our public
APIs. Recommends `~` dependencies for unstable APIs.
2024-07-02 18:11:55 +00:00
Rishhi Balakrishnan 7dea35e751
Update readme with common workflows and patterns (#21196)
## Common Workflows and Patterns

This section contains common workflows and patterns to increase inner
dev loop efficiency.

### Build

- `pnpm install` from the root of the repository to install
dependencies. This is necessary for new clones or after pulling changes
from the main branch.
- `pnpm run build:fast` from the root of the repository to perform an
incremental build that matches the CI build process. Incremental builds
tend to leave extra files laying around, so running a clean is sometimes
needed to cleanup ghost tests
- `pnpm run build:fast -- <path>` to build only a specific part of the
repository.
-   `pnpm run build` within a package directory to build that package.
-   `pnpm run build:compile` for cross-package compilation.
-   `pnpm run format` to format the code.

- `fluid-build --vscode` to output error message to work with default
problem matcher in vscode. If `fluid-build` is not installed, please
install it with `npm i -g @fluidframework/build-tools`.

#### Multi package setup

- `fluid-build -t build <NAME_OF_PACKAGES>` to build a multiple
space-separated packages along with all their dependencies. If
`fluid-build` is not installed, please install it with `npm i -g
@fluidframework/build-tools`.

### Debug

- You can also use the VSCode JS debug terminal, then run the test as
normal.

- Sometimes, uncommitted changes can cause build failures. Committing
changes might be necessary to resolve such issues.

### Troubleshooting

-   `pnpm clean` if random build failures, especially with no changes
- `git clean -xdf` to remove extraneous files if debugging becomes slow
or hangs.

## Testing

You can run all of our tests from the root of the repo, or you can run a
scoped set of tests by running the `test`
command from the package you're interested in.

Note: Some of the tests depend on test collateral that lives in a
submodule here:
<https://github.com/microsoft/FluidFrameworkTestData>. You may choose to
fetch that collateral into your local
repository, which is required to run all the tests - otherwise some will
be skipped.

First, ensure you have installed [Git LFS](https://git-lfs.com/).
Then, from the repo root:

```shell
git lfs install
git submodule init
git submodule update
```

### Run the tests

Before running the tests, the project has to be built. Depending on what
tests you want to run, execute the following command in the package
directory or at the root:

```shell
npm run test
```

- To run a single test within a module, add `.only` to `it` or
`describe`. To exclude a test, use `.skip`.
- You can use `ts-mocha` to quickly run specific test files without
needing to make the whole project compile. For more details on test
filtering using CLI arguments, refer to the [Mocha
documentation](https://mochajs.org/#command-line-usage).

-   Our test setup generally requires building before running the tests.
- Incremental builds may leave extra files, which can result in ghost
tests. To avoid this, consider running a clean build with the following
command:

```shell
pnpm clean <package>
```

This removes any leftover files from previous builds, providing a clean
testing environment.


[AB#4739](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/4739)
2024-05-23 10:35:27 -07:00
Joshua Smithrud 61c8003301
docs(markdown-magic): Add missing `README_PACKAGE_SCOPE_NOTICE` transform documentation (#19763)
Adds notes to the package README, and fills in missing source code
comment.

Also fills in some gaps in our larger repo workflow documentation in the root README.
2024-02-22 23:53:17 +00:00
Tyler Butler 17347f4f88
docs: Remove internal version guidelines from READMEs (#19075)
All the current READMEs reference the internal version format which is
no longer supported. I updated the template and regenerated the files.

Once merged, this will be cherry-picked to the RC1 release branch.

AB#6738
2024-01-04 10:13:43 -05:00
Joshua Smithrud 788bd9a0c3
remove(location-redirection-utils): Remove package from the repository (#18202)
The package has been deprecated for some time, and had very few external
usages. The time has come to remove it from the repo.


[AB#5070](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/5070)
2023-12-05 02:31:52 +00:00
Ji Kim 3d8c453d06
Move Tinylicious to Server-release group (#17766)
#### Description


[5812](https://dev.azure.com/fluidframework/internal/_workitems/edit/5812/)


This PR moves `tinylicious` package to the server release group (inside
the `routerlicious` package).

#### Related PR

https://github.com/microsoft/FluidFramework/pull/16381

---------

Co-authored-by: Alex Villarreal <716334+alexvy86@users.noreply.github.com>
2023-10-31 14:35:00 -07:00
Curtis Man ea93640f5c
docs(fluid-build): README.md update (#17617)
Update `fluid-build`'s README.md:
- Removing legacy information
- Add more examples for task and package selection
- Describe the task and dependency definition system
- Update how incremental is detected.
- Describe experimental worker mode
- Describe where to fine the specification for release groups.

Also:
- Update spacing on command line help
- Update some comment to make it easier to read.
2023-10-04 20:37:15 +00:00
Joshua Smithrud c7b138e1b5
docs: Update generated README content (#16966)
No template changes were made. I simply ran `npm run build` from the
docs directory, and these were the resulting changes.

The only other change here was moving some contents that had been
incorrectly added to an auto-generated content region outside of that
region so it will not be blown away in the future.
2023-08-22 15:30:29 -07:00
Joshua Smithrud cef60f6cac
test(devtools-view): Add visual regression testing infrastructure to the view package (#16378)
Adds infrastructure for running image-based visual regression tests for
our devtools view components. Also adds a couple of initial sample
tests.

Instructions for how to use these have been added to the README.

Every test
[story](https://storybook.js.org/docs/react/writing-stories/introduction)
is run in all 3 of our supported themes, to ensure our styling works as
expected (and to ensure our high-contrast support is working correctly).

Other changes:
* Updates devtools-view to build as ESM instead of CommonJS
* The `@previewjs` libraries are ESM only - this seemed the easiest path
forward for resolving that issue. And since the devtools-view package is
not publicly available, we don't have any CommonJS compatibility
requirements for it.

---------

Co-authored-by: Alex Villarreal <716334+alexvy86@users.noreply.github.com>
2023-08-22 13:21:02 -07:00
Curtis Man bad3df8314
Fix `tsc:fast` (#15870)
Change `fluid-build` `-s` switch to `-t`
2023-06-06 13:33:00 -07:00
Craig Macomber (Microsoft) 6e59e286ce
Update Readme (#15520)
## Description

Move general install and build instructions out of the Mac specific
section.

Remove use of lerna in descriptions of release groups as it is no longer
accurate.

Update list of release groups to account for changes with azure.
2023-05-09 11:19:05 -07:00
Tyler Butler 4691513382
build: Add dependency guidelines to package READMEs (#15191)
Now that we are using `~` interdependencies within the repo, we want to
make sure that customers know that they should continue to use `^`
dependencies when depending on Fluid Framework packages. This PR adds a
new markdown-magic script and updates READMEs across the client release
group accordingly.

BREAKING CHANGE: This is technically a breaking change since the default
output for some functions changed.
2023-04-19 16:00:52 -07:00
Tyler Butler c5693dc552
ci(build-tools): Use tilde interdependencies (#15121)
I've updated the build-tools release group pipeline to use `~`
interdependency ranges by default. It's overridable at build-time in the
ADO UI.

I also moved the "update package versions" inline script into a file
because it ensures that _any_ non-0 exit code from within the script
causes the step to fail. This will make debugging easier by causing a
failure in the actual step that failed.
2023-04-17 15:25:29 -07:00
Tyler Butler 1a4435fc96
ci: Use corepack to control package manager versions (#14935) 2023-04-03 13:47:59 -07:00
Joshua Smithrud 63b3d92cbb
build: Extract markdown-magic library into a repo-private package (#14629)
Does not change when / where the tooling is invoked, it simply hoists
the underlying logic into its own tooling library.

Subsequent changes will update the patterns for when / where we invoke
the tooling to better encapsulate doc generation in different parts of
the repo.

Notes:
* Abstracting the logic required updating how `INCLUDE` pragma paths are
represented. Previously, these were all written relative to the repo
root. Now they are relative to the document containing the pragma.
* Since the home of the logic changes, the generated content notices
added to documents was updated.
* A few pragma names were changed to make the usage semantics a bit more
explicit.
* The default value of `usesTinylious` for "Getting Started" sections
was changed from `false` to `true`, as the majority of our uses specify
true.

All of the changes to documentation files should be due to one of the
above - no other functional / content changes are expected.

---------

Co-authored-by: Tyler Butler <tyler@tylerbutler.com>
Co-authored-by: Alex Villarreal <716334+alexvy86@users.noreply.github.com>
2023-03-24 10:39:07 -07:00
Joshua Smithrud 150aee45b3
docs: Add bullet points for notable VSCode setting options (#14059)
Adds a couple of recommended setting options and a sample screenshot.
2023-02-08 14:24:06 -08:00
Tyler Butler fd672a30fe
build: Add a format:changed script (#14014)
This change adds a `format:changed` script to the root package.json that
uses [pretty-quick](https://github.com/azz/pretty-quick) to run prettier
only on changed files. pretty-quick supports a `--branch` argument that
I set to `main` for the default, but there is also a
`format:changed:next` script to run against next.
2023-02-07 13:50:42 -08:00
Tyler Butler 74bc654f7e
build: Add jest and mocha to root dependencies (#13990)
This change adds devDependencies on the mocha and jest testing tools to
the root package.json in the repo. This is to enable easier test running
and debugging using VSCode. However, this makes it possible for projects
to have a 'phantom dependency' on
these tools, so I added a dev note to the readme describing why the root
deps are there and warns about phantom deps.
2023-02-03 10:49:58 -08:00
Tyler Butler be68e1b803
build: Include and format package.json and other projects (#13938)
CI runs have a step that sets the version of packages, which edits the
package.json and changes the whitespace formatting. We have a couple of
different ways we set versions, so the quickest fix seemed to be to add
steps to the "set package version" workflow that:

1. Runs a prettier check on just the package.json files in the release
group BEFORE setting versions.
2. Runs a prettier format on just the package.json files in the release
group AFTER setting versions.

Step 1 is needed because otherwise, badly formatted package.json files
would go undetected, because we force them to be formatted in CI in step
2. The no extraneous files check already ignores package.json files
because they change when the package version changes, so we can't rely
on it as a backstop; we need to check them elsewhere in the pipeline.

An alternative to this workaround is to update our pipelines to use flub
to set versions, and update flub to not touch whitespace. That will take
more time, and this approach seems sufficient.

I also opportunistically updated the scripts and config for the
benchmark project since it was outdated, and I updated the scripts for
the release groups so that they lint and format the files in the root of
the release group. And I updated the .prettierignore file as needed to
exclude stuff.

Finally, there were some examples and PropertyDDS projects that did not
have a config file, so I added one and formatted all the code.
2023-02-02 11:33:40 -08:00
Craig Macomber (Microsoft) 3e69dc4cf1
Document how to ignore formatting changes in git blame (#13939)
Document how to ignore formatting changes in git blame in read me,
including the recent prettier formatting changes.
2023-02-02 09:11:18 -08:00
Joshua Smithrud 5ca6c37146
docs: Add notes about prettier to repo README (#13866)
Adds some simple notes about how [prettier](https://prettier.io/) fits
into our repository's infrastructure.
2023-01-27 15:44:24 -08:00
Tyler Butler 865762ffaa
docs: Update installation instructions for pnpm (#13729)
This is a companion PR to #13554. This PR contains only documentation
updates to reflect that we use pnpm for package management in the client
release group (after the other PR is merged). I split it out to make the
PRs easier to review.
2023-01-26 17:12:36 -08:00
Joshua Smithrud d4783042f3
tools(docs): Update md-magic config to include prettier-ignore directives in generated content blocks (#13627)
Intended to prevent contention between our generated documentation
contents and prettier's formatting opinions.

Note the change to common/build/eslint-config-fluid/README.md where
prettier had previously re-formatted its generated script contents.
2023-01-13 16:05:48 -08:00
Joshua Smithrud c1dd97009c
tools: Update md-magic template infra, and update contribution guidelines template to match root README (#13580)
Updates our markdown-magic logic in the following ways:
- Simplifies code with new helper functionality
- Extracts basic templates into md files
- Ensures the generated content disclaimer is included in all gen'd doc
sections

Also updates the contribution guidelines template to match the content
in the repo README, and updates that README to use md-magic.

The primary changes to review are:
- `./docs/md-magic-config.js`
- the new md files under `./md-magic-templates`

The remaining changes are all generated using md-magic.
2023-01-13 11:32:56 -08:00
Craig Macomber (Microsoft) 4b9671a0a2
Document that build-tools exists (#12812)
## Description

Update list of lerna managed release groups to include build-tools.

Co-authored-by: Tyler Butler <tyler@tylerbutler.com>
2022-12-06 16:44:08 -08:00
justus-camp e08c825da4
Add installation instructions for native addon modules (#12596) 2022-10-30 18:43:41 -07:00
Tyler Butler b19e7339e2
Move build-tools to new release group (#10875)
Moves build-tools and build-cli into a new release group. This will make it easier to modify the build tools and CLI in lockstep. The packages were moved using git mv.
2022-06-30 16:47:39 -07:00
Craig Macomber (Microsoft) b08ddf3586
Update "Code structure" in readme (#10824)
Co-authored-by: Craig Macomber <Craig.Macomber@microsoft.com>
Co-authored-by: Joshua Smithrud <54606601+Josmithr@users.noreply.github.com>
2022-06-23 21:19:06 -07:00
Joshua Smithrud 321b3f25f8
docs: Update repository README (#10360)
Specifically, updates notes about build requirements around node-gyp and Execution Policy on Windows.
2022-05-23 16:04:53 -07:00
Tyler Butler 371f12d17d
Extract Azure API packages to new release group (#10138)
Moves the azure-client, azure-service-utils, and the app-integration-external-controller example to a new lerna monorepo in azure/. This enables us to version and release the Azure-related packages separately from the core platform packages.
2022-05-06 11:20:47 -07:00
Tyler Butler 12fd7ff0e8
Direct people to GitHub Discussions for community participation (#8062) 2021-10-30 15:22:37 -07:00
Sam Broner b0908fa920
Generalize our Readme to appeal to JavaScript & TypeScript users (#6078)
javascript library instead of TS library
(mimics other frameworks)
2021-05-10 09:45:00 -07:00
Daniel Lehenbauer e4807f601e
Node: Use latest '12.x' release (#6014) 2021-05-04 04:49:05 -07:00
Curtis Man dee44aa309
Clean up old test:ci* script (#3625)
CI npm script should have ci:*.
Since our CI are running on linux, updated instruction on how to replicate it and give different instruction for windows in the README.md. (and note that the instruction is just different for windows, not that it doesn't support windows)
2020-09-14 11:29:53 -07:00
Tyler Butler 03bd2d241e
Clarify repo structure in readme (#3555) 2020-09-08 11:45:55 -07:00
Skyler Jokiel 093238316c
update stackoverflow tag to "fluid-framework" (#3553)
* update stackoverflow tag to fluid-framework. having the - is part of the convention since it's two separate words
2020-09-08 10:58:02 -07:00
Curtis Man c75b39bc8d
Repo Policy Check: Enforce description field in non-private packages (#3427)
Also random spelling fixes
2020-08-31 11:45:09 -07:00
Tony Murphy 9bcee86b2a
Clean up the term component from readmes (#3398)
Co-authored-by: Tony Murphy <anthonm@microsoft.com>
2020-08-28 11:20:56 -07:00
Micah Godbolt 6f124543e0
update root readme to remove references to component (#3290)
* update root readme to remove references to component

* Update README.md

Co-authored-by: Skyler Jokiel <skjokiel@microsoft.com>

* Update README.md

Co-authored-by: Skyler Jokiel <skjokiel@microsoft.com>

* Update README.md

Co-authored-by: Skyler Jokiel <skjokiel@microsoft.com>

* removed example hosts line

Co-authored-by: Skyler Jokiel <skjokiel@microsoft.com>
2020-08-21 16:02:27 -07:00
Curtis Man 83542d11ad
Removing master (Round 1) (#3253) 2020-08-18 19:53:02 -07:00
Mark Fields e5094fe7ac
Minor edits to the root README.md (#2707) 2020-06-29 15:03:56 -07:00
Dan Roney 19e302d456
Added trademark verbiage (#2550)
* Removing old diagram

* Add trademark info to readme and documentation site
2020-06-17 07:56:24 -07:00
Mark Fields 013248d098
Improvements to root readme and dir contents (#2477) 2020-06-12 14:27:57 -07:00
Tyler Butler 3a7f87bb77
Docs reorganization: first pass (#2284) 2020-06-09 11:50:48 -07:00
Mark Fields 71f1831253
Document code structure in root readme (#2220)
And add some stub readme's
2020-05-20 09:28:23 -07:00
Mark Fields 70a95d8a20
Root readme.md changes (#2024)
Modify readme.md to be a helpful landing page for folks exploring the project and wanting to contribute.
2020-05-12 15:39:18 -07:00
Tyler Butler 2addfb7bad
Remove image from README (#1858) 2020-04-21 13:47:51 -07:00
Tyler Butler c1d8a89310
Documentation updates (#1374)
Fixes #853
2020-02-27 18:47:59 -08:00
sumedhb1995 5b8e0eda01
Revert "No more references to the term "chaincode" (#1134)" (#1174)
This reverts commit 0c4d083965.
2020-02-05 16:36:40 -08:00