Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to TypeScript 3.7 #7522

Merged
merged 5 commits into from Nov 15, 2019
Merged

Upgrade to TypeScript 3.7 #7522

merged 5 commits into from Nov 15, 2019

Conversation

jasongrout
Copy link
Contributor

@jasongrout jasongrout commented Nov 14, 2019

References

This supersedes #7428.

Code changes

Upgrade to Typescript 3.7, and use skipLibChecks on the vega extensions (see #7428 for more details).

User-facing changes

None

Backwards-incompatible changes

Upgraded Typescript

jasongrout added 2 commits Nov 14, 2019
Typscript 3.7 throws some errors when compiling Vega-lite 2 and 3, so we turn off lib checks.

This was investigated much more deeply in jupyterlab#7428, where we deleted the vega 4 extension and upgraded the vega 5 extension to vega-lite 4.0b11. The vega-lite upgrade was not going smoothly, so we moved it to a separate issue and redid the Typescript upgrade by just using the skipLibCheck flag.
@jasongrout jasongrout added this to the 2.0 milestone Nov 14, 2019
@jupyterlab-dev-mode
Copy link

@jupyterlab-dev-mode jupyterlab-dev-mode bot commented Nov 14, 2019

Thanks for making a pull request to JupyterLab!

To try out this branch on binder, follow this link: Binder

@blink1073
Copy link
Member

@blink1073 blink1073 commented Nov 14, 2019

There is a newer version of typedoc that supports TS3.7: TypeStrong/typedoc#1129

@jasongrout
Copy link
Contributor Author

@jasongrout jasongrout commented Nov 14, 2019

There is a newer version of typedoc that supports TS3.7: TypeStrong/typedoc#1129

Oh wow, that has to be a record for typedoc supporting a new release! Nice!

jasongrout added 2 commits Nov 15, 2019
This does not build coreutils docs because it complains about the .json file that is imported. This is probably a typescript or a typedoc bug.
@jasongrout
Copy link
Contributor Author

@jasongrout jasongrout commented Nov 15, 2019

The doc build seems to work, except for coreutils:

[snip]/jupyterlab/packages/coreutils% jlpm run docs
yarn run v1.15.2
$ typedoc src src/plugin-schema.json

Using TypeScript 3.7.2 from /[snip]/jupyterlab/node_modules/typescript/lib
Error: /[snip]/jupyterlab/packages/coreutils/src/settingregistry.ts(23)
 File '/[snip]/jupyterlab/packages/coreutils/src/plugin-schema.json' is not listed within the file list of project ''. Projects must list all files or use an 'include' pattern.
error Command failed with exit code 4.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Not sure what is going on here.

For now, I'm skipping building docs for coreutils.

@jasongrout
Copy link
Contributor Author

@jasongrout jasongrout commented Nov 15, 2019

Also with this config, it seems that one package's docs don't link to other packages (for example if they import and use definitions from another package, I would love if their docs would link to the definitions in the other package). I'm not sure if this is a change, or if it's broken in our current docs anyway.

For some reason, typescript itself works fine, but typedoc has this error:

 File ‘[snip]/jupyterlab/packages/coreutils/src/plugin-schema.json' is not listed within the file list of project ''. Projects must list all files or use an 'include' pattern.

This avoids this issue somehow by setting composite to false for typedoc doc builds.
@jasongrout
Copy link
Contributor Author

@jasongrout jasongrout commented Nov 15, 2019

Also with this config, it seems that one package's docs don't link to other packages (for example if they import and use definitions from another package, I would love if their docs would link to the definitions in the other package). I'm not sure if this is a change, or if it's broken in our current docs anyway.

Looks like this is also a problem in the current docs, so no change here on that.

@jasongrout
Copy link
Contributor Author

@jasongrout jasongrout commented Nov 15, 2019

For now, I'm skipping building docs for coreutils.

I figured out a way around the problem. It looks like it is a bug upstream in either typedoc or typescript, dealing with the composite build flag and specifying json files to be included as modules.

@jasongrout
Copy link
Contributor Author

@jasongrout jasongrout commented Nov 15, 2019

Okay, @blink1073 - ready for review again.

Copy link
Member

@blink1073 blink1073 left a comment

Thanks! I kicked the flaky usage test.

@jasongrout jasongrout merged commit 879970c into jupyterlab:master Nov 15, 2019
9 checks passed
@lock lock bot added the status:resolved-locked label Dec 15, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Dec 15, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status:resolved-locked
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants