Skip to content

Commit d09ffdc

Browse files
documentation: include migration guide
The commit introduces a `migration guide` to the framework to help downstream extensions and applications migrate to newer versions of the framework. Signed-off-by: vince-fugnitto <vincent.fugnitto@ericsson.com> Co-authored-by: Paul Maréchal <paul.marechal@ericsson.com>
1 parent dece352 commit d09ffdc

File tree

2 files changed

+55
-0
lines changed

2 files changed

+55
-0
lines changed

README.md

+1
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ Read below how to engage with Theia community:
8686
- Useful Links:
8787
- [Developing](doc/Developing.md)
8888
- [Testing](doc/Testing.md)
89+
- [Migration Guide](doc/Migration.md)
8990
- [API Integration Testing](doc/api-testing.md)
9091
- [Coding Guidelines](https://github.com/eclipse-theia/theia/wiki/Coding-Guidelines)
9192
- [Code Organization](https://github.com/eclipse-theia/theia/wiki/Code-Organization)

doc/Migration.md

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Migration Guide
2+
3+
## Description
4+
5+
The following guide highlights potential migration steps necessary during `theia` upgrades discovered when adopting the framework.
6+
Please see the latest version (`master`) for the most up-to-date information.
7+
8+
## Guide
9+
10+
### v1.16.0
11+
12+
[Release](https://github.com/eclipse-theia/theia/releases/tag/v1.16.0)
13+
14+
- N/A.
15+
16+
### v1.15.0
17+
18+
[Release](https://github.com/eclipse-theia/theia/releases/tag/v1.15.0)
19+
20+
#### Keytar:
21+
22+
- [`keytar`](https://github.com/atom/node-keytar) was added as a dependency for the secrets API. and may require `libsecret` in your particular distribution to be functional:
23+
- Debian/Ubuntu: `sudo apt-get install libsecret-1-dev`
24+
- Red Hat-based: `sudo yum install libsecret-devel`
25+
- Arch Linux: `sudo pacman -S libsecret`
26+
- It is possible that a `yarn resolution` is necessary for `keytar` to work on older distributions (the fix was added in `1.16.0` by downgrading the dependency version):
27+
28+
```json
29+
"resolutions": {
30+
"**/keytar": "7.6.0",
31+
}
32+
```
33+
34+
- `keytar` uses [`prebuild-install`](https://github.com/prebuild/prebuild-install) to download prebuilt binaries. If you are experiencing issues where some shared libraries are missing from the system it was originally built upon, you can tell `prebuild-install` to build the native extension locally by setting the environment variable before performing `yarn`:
35+
36+
```sh
37+
# either:
38+
export npm_config_build_from_source=true
39+
yarn
40+
# or:
41+
npm_config_build_from_source=true yarn
42+
```
43+
44+
#### Webpack
45+
46+
- The version of webpack was upgraded from 4 to 5 and may require additional shims to work properly given an application's particular setup.
47+
- The `webpack` dependency may need to be updated if there are errors when performing a `production` build of the application due to a bogus `webpack-sources` dependency. The valid `webpack` version includes `^5.36.2 <5.47.0`. If necessary, you can use a `yarn resolution` to fix the issue:
48+
49+
```json
50+
"resolutions": {
51+
"**/webpack": "5.46.0",
52+
}
53+
```
54+

0 commit comments

Comments
 (0)