-
Notifications
You must be signed in to change notification settings - Fork 364
Expand file tree
/
Copy pathpnpm-workspace.yaml
More file actions
136 lines (136 loc) · 5.96 KB
/
pnpm-workspace.yaml
File metadata and controls
136 lines (136 loc) · 5.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# NOTE: The `devDeps` and `peerDeps` catalogs in this file are
# generated from khan/frontend's pnpm-workspace.yaml. To update them, run:
#
# utils/sync-dependencies.ts ../frontend/pnpm-workspace.yaml
#
# We have two separate catalogs for dev deps and peer deps to ensure
# that:
#
# - we know exactly which version of each package we're installing in
# dev. That way, we can truthfully claim to support all versions
# compatible with that one.
# - our peer dependencies can specify a range of versions. For peer
# deps, want to accept any version compatible with the one we
# installed in dev. For example, if we installed version 1.2.3 in
# dev, then we want to accept ^1.2.3 (which means "any 1.x.x version
# equal to or later than 1.2.3") as a peer dep. We want peer deps
# to be specified as a range so clients don't get spurious warnings
# if their dependency versions are slightly different than the ones
# we use.
#
# The sync-dependencies.ts script ensures that peer deps are always
# specified as a range, and the dev deps are always pinned to the
# version at the bottom of that range.
#
# To add a new package:
# 1. Add the new package both in peerDeps and devDeps below.
# 2. Then it both in devDependencies and peerDependencies of the relevant package
# example, in packages/perseus/package.json file:
# devDependencies -> "@khanacademy/wonder-blocks-link": "catalog:devDeps",
# peerDependencies -> "@khanacademy/wonder-blocks-link": "catalog:peerDeps",
# 3. Run pnpm install in root
#
# pnpm configuration:
# - minimumReleaseAge: We require a minimum release age of 3-days
# (specified in minutes) before a package can be used in this project.
# https://pnpm.io/settings#minimumreleaseage
# - minimumReleaseAgeExclude: We exclude our own packages from this minimum
# release age so that we can upgrade to a new release immediately.
minimumReleaseAge: 4320
minimumReleaseAgeExclude:
- "@khanacademy/*"
packages:
- config/build
- dev
- packages/*
- vendor/*
overrides:
# Newer versions of jsdom break our tests. Examples of the problems:
# - The `window` property of `window` is non-configurable, so we can't
# mock it. (21.0.0)
# - window.getComputedStyle() returns bizarre results for background
# color, e.g. `rgb(255, 0, 0)` instead of `green`. (21.1.0)
jest-environment-jsdom>jsdom: 20.0.3
catalogs:
peerDeps:
react: ^18.2.0
react-dom: ^18.2.0
aphrodite: ^1.2.5
classnames: ^1.1.4
jquery: ^2.1.1
prop-types: ^15.8.1
underscore: ^1.4.4
"@phosphor-icons/core": ^2.0.2
"@popperjs/core": ^2.10.2
"@khanacademy/mathjax-renderer": ^3.0.0
"@khanacademy/wonder-blocks-accordion": ^3.1.53
"@khanacademy/wonder-blocks-announcer": ^1.1.0
"@khanacademy/wonder-blocks-banner": ^5.0.18
"@khanacademy/wonder-blocks-button": ^11.4.2
"@khanacademy/wonder-blocks-clickable": ^8.1.5
"@khanacademy/wonder-blocks-core": ^12.4.3
"@khanacademy/wonder-blocks-data": ^15.0.1
"@khanacademy/wonder-blocks-dropdown": ^10.8.3
"@khanacademy/wonder-blocks-form": ^7.5.6
"@khanacademy/wonder-blocks-icon-button": ^11.1.6
"@khanacademy/wonder-blocks-icon": ^5.3.9
"@khanacademy/wonder-blocks-labeled-field": ^4.0.16
"@khanacademy/wonder-blocks-layout": ^3.1.46
"@khanacademy/wonder-blocks-link": ^10.1.7
"@khanacademy/wonder-blocks-modal": ^8.6.0
"@khanacademy/wonder-blocks-pill": ^3.1.57
"@khanacademy/wonder-blocks-popover": ^6.1.56
"@khanacademy/wonder-blocks-progress-spinner": ^3.1.46
"@khanacademy/wonder-blocks-search-field": ^5.1.63
"@khanacademy/wonder-blocks-switch": ^3.3.30
"@khanacademy/wonder-blocks-tabs": ^0.5.6
"@khanacademy/wonder-blocks-theming": ^4.0.2
"@khanacademy/wonder-blocks-timing": ^7.0.4
"@khanacademy/wonder-blocks-tokens": ^16.1.0
"@khanacademy/wonder-blocks-toolbar": ^5.1.48
"@khanacademy/wonder-blocks-tooltip": ^4.1.69
"@khanacademy/wonder-blocks-typography": ^4.2.31
"@khanacademy/wonder-stuff-core": ^3.0.0
devDeps:
react: 18.2.0
react-dom: 18.2.0
aphrodite: 1.2.5
classnames: 1.1.4
jquery: 2.1.1
prop-types: 15.8.1
tiny-invariant: 1.3.1
underscore: 1.4.4
vite: 5.4.0
"@phosphor-icons/core": 2.0.2
"@popperjs/core": 2.10.2
"@khanacademy/mathjax-renderer": 3.0.0
"@khanacademy/wonder-blocks-accordion": 3.1.53
"@khanacademy/wonder-blocks-announcer": 1.1.0
"@khanacademy/wonder-blocks-banner": 5.0.18
"@khanacademy/wonder-blocks-button": 11.4.2
"@khanacademy/wonder-blocks-clickable": 8.1.5
"@khanacademy/wonder-blocks-core": 12.4.3
"@khanacademy/wonder-blocks-data": 15.0.1
"@khanacademy/wonder-blocks-dropdown": 10.8.3
"@khanacademy/wonder-blocks-form": 7.5.6
"@khanacademy/wonder-blocks-icon-button": 11.1.6
"@khanacademy/wonder-blocks-icon": 5.3.9
"@khanacademy/wonder-blocks-labeled-field": 4.0.16
"@khanacademy/wonder-blocks-layout": 3.1.46
"@khanacademy/wonder-blocks-link": 10.1.7
"@khanacademy/wonder-blocks-modal": 8.6.0
"@khanacademy/wonder-blocks-pill": 3.1.57
"@khanacademy/wonder-blocks-popover": 6.1.56
"@khanacademy/wonder-blocks-progress-spinner": 3.1.46
"@khanacademy/wonder-blocks-search-field": 5.1.63
"@khanacademy/wonder-blocks-switch": 3.3.30
"@khanacademy/wonder-blocks-tabs": 0.5.6
"@khanacademy/wonder-blocks-theming": 4.0.2
"@khanacademy/wonder-blocks-timing": 7.0.4
"@khanacademy/wonder-blocks-tokens": 16.1.0
"@khanacademy/wonder-blocks-toolbar": 5.1.48
"@khanacademy/wonder-blocks-tooltip": 4.1.69
"@khanacademy/wonder-blocks-typography": 4.2.31
"@khanacademy/wonder-stuff-core": 3.0.0
prodDeps:
tiny-invariant: 1.3.1