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

26 Коммитов

Автор SHA1 Сообщение Дата
Tyler Butler 778aa66ef6
build: Set prefer-frozen-lockfile=true in all .npmrc files (#21922)
We always want to prefer a headless install and require explicit action
update the lockfiles. pnpm supports CLI arguments set in npmrc files, so
we set [frozen-lockfile](https://pnpm.io/cli/install#--frozen-lockfile)
to true, which will make the default install experience error out when a
lockfile update is needed. Users can pass --no-frozen-lockfile to
override and update the lockfile.
2024-07-16 18:19:41 -07:00
Tyler Butler 458f23f593
build(client): Add are-the-types-wrong check to client packages (#18650)
This PR adds [the
CLI](https://github.com/arethetypeswrong/arethetypeswrong.github.io/tree/main/packages/cli)
from <https://arethetypeswrong.github.io> to our client packages and
adds a script that runs it against the package. The check is slow
because it packs the package first and runs on the packed contents.

Because the check is slow, it does not run automatically during local
builds but can be triggered manually. In CI the checks run as a test
since they rely on the build output. Ideally this check would be done in
the "pack" phase since we are already packing packages there and could
run on the packed content directly. But that is a bigger CI-centric
change, so I opted not to do that right now.

There are several azure projects that are [producing invalid ESM
types](https://github.com/arethetypeswrong/arethetypeswrong.github.io/blob/main/docs/problems/FalseCJS.md).
Those failures are ignored for now using .attw.json config files in the
individual projects - they'll be cleaned up as we fix the types/exports
field for those packages.

This PR also removes the exports field from most packages, so that we
can re-enable exports in a controlled fashion, while being protected
from releasing bad types by attw.
2023-12-05 17:48:06 -08:00
Tyler Butler 0e587bef3e
build: Limit use of lerna in server CI pipelines (#16052)
We currently use lerna in some places in CI, but it is called via npx
and thus its dependencies are not locked to a particular version., This
means that lerna releases can break our pipelines. This PR adds lerna as
a root dependency to the server release groups, so that it and its
dependencies versions are pinned.

Despite the fact that lerna is still installed, I updated the scripts of
the release groups to use pnpm -r run instead of lerna. That reduces the
use of lerna so it will be easier to remove once we can.
2023-08-17 17:39:03 -07:00
Tyler Butler 87a416e5fc
build: Revert to older pnpm lockfile format (#16082)
This reverts the changes made in #15377, going back to the older pnpm
lockfile format. This is needed because component governance doesn't yet
work on the new lockfile.

Fixes
[AB#4675](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/4675).
2023-06-20 12:30:59 -07:00
Tyler Butler b7685ccf6e
build: Upgrade pnpm lockfile format (#15377)
## Description

pnpm v8 introduces a new lockfile format, but v7 can produce that
lockfile format to make it easier to move to pnpm 8. This change adds a
setting to the .npmrc file for each package and release group to use the
v6 lockfile format (which is admittedly confusing since v8 is the pnpm
version in which it becomes the default).

Unfortunately, testing has revealed that pnpm 8 will still make lockfile
changes in packages/workspaces that use peer dependencies, even when
using the v6 lockfile format. This is unfortunate, but only affects the
client release group.

To update I used the following commands:

```shell
pnpm exec flub exec -a --releaseGroupRoots -- "echo '# Use pnpm v8 lockfile format\nuse-lockfile-v6=true' >> .npmrc"
pnpm exec flub exec -a --releaseGroupRoots -- "pnpm i"
```
2023-05-10 11:22:27 -07:00
Tyler Butler 33c9231a8a
build: Disable pnpm update checks (#14956) 2023-04-04 17:02:24 -07:00
Tyler Butler ea4d651cf3
build(client): Set strict-peer-dependencies=true (#14806)
We don't have any peer dependency violations in client now, so we can
enable strict peer dependencies.
2023-03-29 10:07:12 -07:00
Tyler Butler fc27201bb6
build(client): Use pnpm in client release group (#13554)
This PR changes the client release group to use pnpm instead of npm.
lerna now uses the pnpm workspace config and uses pnpm to execute
scripts.

## Things that should still work

Note: `fluid-build` === `npm run build:fast`

- fluid-build should continue to build the repo incrementally.
- `fluid-build --install` should use pnpm for the release groups that
use it and npm elsewhere.
- You can still use npm to run scripts, e.g. `npm run build`, or you can
switch to pnpm e.g. `pnpm build`.

Co-authored-by: Rishhi Balakrishnan <107130183+RishhiB@users.noreply.github.com>
2023-01-25 14:36:03 -08:00
Tyler Butler d94056653b
build: Require at least node >=14.13.0 and npm ^6 (#12922)
Reviving #10847.

Enforce that the version of node used is at least 14.13.0 (released on
2020-09-29), which according to
https://www.the-guild.dev/blog/support-nodejs-esm means it should
support ESM. This uses the mechanism documented in
https://docs.npmjs.com/cli/v8/configuring-npm/package-json#engines.

This produces an error when running `npm i` in the root if using an
older version of node.

Note that the 14 branch of node is the oldest supported branch (see
https://nodejs.org/en/about/releases/), no one should be one node older
than 14, so updating to at least 14.13.0 should be a non-breaking
change.

Additionally, our `.nvmrc` file specifies node 14, and our readme says
to use that version.

Since this is in the root package.json, not one we ship to users, it
should have no impact on consumers of our packages.

## Example Error

If I force requiring version 15 instead (so my system errors) the error
looks like:

```
$ npm i
npm ERR! code ENOTSUP
npm ERR! notsup Unsupported engine for root@0.14.0: wanted: {"node":">=15.13.0"} (current: {"node":"14.19.3","npm":"6.14.17"})
npm ERR! notsup Not compatible with your version of node/npm: root@0.14.0
npm ERR! notsup Not compatible with your version of node/npm: root@0.14.0
npm ERR! notsup Required: {"node":">=15.13.0"}
npm ERR! notsup Actual:   {"npm":"6.14.17","node":"14.19.3"}
```

I have confirmed `npm ci` also produces this error.
2022-11-14 18:53:56 -08:00
Curtis Man da8341e54b
Update client to use npm registry (#3452)
Disable end-to-end test for now. Will reenable it after the client package is published.
2020-08-31 21:12:03 -07:00
Daniel Lehenbauer 8491ab6744
Pick up Tiny-Calc from the public NPM repo instead of offnet (#2511)
* Remove @tiny* from .npmrc
* Fix missing row/col invalidations in Sheetlet
2020-06-12 11:28:58 -07:00
Curtis Man 747db28acc
Update @fluidframework dependencies on common packages (#2267) 2020-05-21 09:25:55 -07:00
Curtis Man 0faac08e11
Cleanup some mention of chaincode (#2265) 2020-05-20 23:32:37 -07:00
Curtis Man f1906fa1c1
Upgrade literate host to 0.18 (#2244)
Also remove all mention of @component namespace
2020-05-20 19:35:59 -07:00
Curtis Man 36d5ca7023
Cleanup: Delete unused code and unused reference to old namespace (#2243) 2020-05-19 20:51:54 -07:00
Curtis Man ac1d509c14
Switch to our offnet feed (#2116) 2020-05-09 01:35:36 -07: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
sumedhb1995 0c4d083965
No more references to the term "chaincode" (#1134)
* rename all references

* remove unnecessary dir

* address skyler's comments

* remove all refs to chaincode

* fix docs

* restore waterpark chaincode

* Remove component duplicates

* fix component

* fix monaco

* fix data share

* newline

* add issue comment

* fix breaking

* revert literate

* revert demos

* spacing
2020-02-05 15:57:30 -08:00
Kurt Berglund 022279c394
Rev verdaccio account details (#661)
* rev verdaccio base user accounts

* Update verdaccio details in related READMEs
2019-11-25 22:55:41 -08:00
Curtis Man 95eb74b5f0
Revert the scope change back to @microsoft in .npmrc (#342) 2019-10-15 12:44:11 -07:00
Curtis Man 185e72f389
Scope @microsoft to @microsoft/fluid- in .npmrc (#341) 2019-10-15 11:35:02 -07:00
Daniel Lehenbauer 73afeb73d7 MarkFlow: Unsubscribe caret event handlers when replacing formatter (#3472) 2019-09-06 13:54:24 -07:00
Wes Carlson ad6b72d8c6 rename clicker package (#3455) 2019-09-06 10:58:31 -07:00
kurtb bcac72ab12 Bump to latest prague-dev-server (#2715)
Newest version supports the IComponentHTMLVisual interface as well as updated code quorum.
2019-07-12 09:06:42 -07:00
Daniel Lehenbauer 75c8a4024e Table-Document: Add dependency on '@tiny-calc/nano' (#2374) 2019-06-06 14:40:48 -07:00
Curtis Man 561817b701 Moving packages out of routerlicious/move routerlicious to server (#2133)
The packages can be built locally via npm scripts at the root. server/routerlicious will use docker to build the packages as well (on top of composing the server)

Also moved shared/test-utils and shared/tools-core to server as they are only used by the server.

packages/server will eventually move out in the future when we are ready to independently rev the versions
2019-04-29 06:12:48 -07:00