-
Notifications
You must be signed in to change notification settings - Fork 12
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
Use Typescript 4.0 build features #105
Comments
@niemyjski I had a request to update tsproject to the latest version of Typescript. Are you still using/interested in TsProject? |
Yes, we still use it and I don't think we can get off it unless it's easy to upgrade to something else. I noticed yesterday when I updated my deps that tsproject uses a specific version. |
Any ideas if real bundling will be built into typescript some day? |
@niemyjski I began updating TsProject to utilize the latest Typescript version. There is an issue with a Typescript AST change which restricts identifier names to be changes ( the field is marked readonly ). This makes the minifier with TsProject fail. |
Thanks for the update, really appreciate it. |
I was just checking in to see if there was any status updates on latest ts support :) |
Hello! Thank you for your effort. Are you planning to finish adding support for the latest TypeScript? We are looking for a way to create a merged type definitions and this tool looks like a good fit. |
@slavafomin I just don't have any time to make the changes required for the latest Typescript version. My apologies! PR would be welcomed! |
I know everyone has very little time these days including myself. I was wondering if there was any time to upgrade the deps to latest typescript? I'd be willing to donate to be on latest :) |
@niemyjski Hi Blake. If I remember correctly, (it has been a long while since I last looked at the code) there were a few changes to the Typescript AST that caused grief. I will take a few hours to at least determine the scope of work. |
@niemyjski I am updating TsProject to utilize Typescript 3.5.x. You may have to do some testing... Currently, TsProject builds using TS 3.5.1. I will update the GitHub source once I have done some testing. |
@niemyjski @slavafomin OK. I've finished my research into the scope of work required to bring TsProject up to date with Typescript 3.5. I will update the following task list to keep you informed on my progress:
Ts2Js is feature complete and testing is almost complete. Continuing to develop tests for TsMinifier and TsBundler. |
@niemyjski I am adding Mocha as the testing framework for TsTools. What is your opinion of Mocha vs other testing frameworks? |
I don't have any preference, I've typically used mocha but I know there
might be better alternatives out there but this works for me :)
Thanks
-Blake Niemyjski
…On Thu, Jun 27, 2019 at 4:46 PM Todd Thomson ***@***.***> wrote:
@niemyjski <https://github.com/niemyjski> I am adding Mocha as the
testing framework for TsTools. What is your opinion of Mocha vs other
testing frameworks?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#105?email_source=notifications&email_token=AAHZFIY4VIYI3UKL3R6OKL3P4UYM3A5CNFSM4DQ74XH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYYPAHY#issuecomment-506523679>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAHZFI762OOFLOB7SNY45YTP4UYM3ANCNFSM4DQ74XHQ>
.
|
I see you pushed a release to TS2JS, do you know exactly what I'd need to do to update to the latest releases? I get that this project is now split? Or will this just be a dependency on that and I won't have to change much? |
The Compiler (Ts2Js), Minifier, and Bundler are now just dependencies that TsProject will require. The TsProject.Src() function that is used within your gulp build pipeline will not change. |
Weekly update: The 3.0.0 release of all TsTool components is progressing. I am currently working on TsBundler and converting it to run as a Typescript custom transformer. Likely another week or 2 to get to a RC release for each. |
Awesome, thank you for all of your work! |
@niemyjski I am currently working on release 3 of TsProject. Typescript 3.6 is opening the compiler API to project "build" features. I have decided that I will take a dependency on Typescript 3.6 for TsProject. It makes sense as the release of Typescript 3.6 will be in August and TsProject will likely be released towards the end of August. |
Awesome!!!
Thanks
-Blake Niemyjski
…On Tue, Jul 30, 2019 at 10:30 AM Todd Thomson ***@***.***> wrote:
@niemyjski <https://github.com/niemyjski> I am currently working on
release 3 of TsProject. Typescript 3.6 is opening the compiler API to
project "build" features. I have decided that I will take a dependency on
Typescript 3.6 for TsProject. It makes sense as the release of Typescript
3.6 will be in August and TsProject will likely be released towards the end
of August.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#105?email_source=notifications&email_token=AAHZFI24BMHOJCJEP5Q45QLQCBNA5A5CNFSM4DQ74XH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3ELSTA#issuecomment-516471116>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAHZFI4Y2MADYVMJVCQCPL3QCBNA5ANCNFSM4DQ74XHQ>
.
|
Looks like typescript 3.7 is out with some amazing features. Hoping they made it easy to upgrade to. |
I've been running into some issues running all my tests (CORS and outdated samples...) but I think it's unrelated and I'll continue testing but I haven't ran into any errors so far. It seems to be running good from the e2e samples I've ran so far with the updated code. But I did have a question: Any ideas why it's voiding out all the exports? exports.NodeSubmissionAdapter = exports.NodeFileStorageProvider = exports.NodeRequestInfoCollector = exports.NodeModuleCollector = exports.NodeErrorParser = exports.NodeEnvironmentInfoCollector = exports.NodeFileStorage = exports.KeyValueStorageBase = exports.InMemoryStorage = exports.SubmissionMethodPlugin = exports.RequestInfoPlugin = exports.ModuleInfoPlugin = exports.EventExclusionPlugin = exports.ErrorPlugin = exports.EnvironmentInfoPlugin = exports.DuplicateCheckerPlugin = exports.ConfigurationDefaultsPlugin = exports.EventBuilder = exports.SettingsResponse = exports.Configuration = exports.ContextData = exports.ExceptionlessClient = exports.SubmissionResponse = exports.SettingsManager = exports.Utils = exports.DefaultSubmissionClient = exports.InMemoryStorageProvider = exports.DefaultEventQueue = exports.EventPluginManager = exports.EventPluginContext = exports.ReferenceIdPlugin = exports.HeartbeatPlugin = exports.NullLog = exports.ConsoleLog = exports.DefaultLastReferenceIdManager = void 0; |
@niemyjski I don't have a context to look at the issue with your exports all being assigned with void. It is likely better that I continue with my testing and if you encounter a problem then I can look at the specifics. |
I was curious if you ran into any issues? I haven't seen any yet other than this build error on the ci server (https://github.com/exceptionless/Exceptionless.JavaScript/runs/1371996235?check_suite_focus=true) but I'm getting to the point I'm going to be running mass e2e testing very soon.
|
I just submitted a pr which I think will resolve this issue. |
* TypeScript 4.0 required src changes * Update to latest tsproject and typescript * npm install ts2js --save-dev * Resolve tsproject upgrade errors ToddThomson/tsproject#105 * Updated to latest beta * Revert "Resolve tsproject upgrade errors" This reverts commit dc61860. * Cleanup tsconfig * Updated packages * Updated dist * Upgraded to eslint * Fixed eslint errors * Added default exts * Updates to how we run unit tests * Added failing unit tests for resolving log levels based on settings order and null/empty sources * Got the vs code test code runner working! * Fixed unit test asserts for deep equality * Fixed some unit test issues. * Fixed several issues with resolving log levels and pattern matching * set plugin context cancelled to default to false instead of undefined. * Cleanup and update deps * Update dist * Fix quote
@niemyjski Thank-you for your contribution to TsProject. I have not found any issues with TsProject v4. I will soon publish a new NPM package with version 4.0.0-rc.1 with your changes ( and other small changes ). |
Sounds great! Please let me know when you tag and push it |
@niemyjski NPM v4.0.0-rc.1 now published. Github dev branch has been updated to be in sync with my internal repository. |
Thanks! That resolved that issue but for some reason on linux I'm getting
No idea why it doesn't fail on macOS, I'm also going to try on windows. |
Looking at this closer something doesn't add up as the exceptionless.node.json file doesn't even have a reference to this parser at all. So I don't know why it's being referenced. Also the main tsconfig is resolving everything properly.
Is there a good way to output the logs for this? |
@niemyjski You could just run It appears that the module resolution by the typescript compiler is picking up TraceKit from somewhere. |
Is there a good way to see what arguments tsproject is passing to tsc? |
TsProject does not use '''tsc'''. It uses the Typescript API. All the configuration comes from the tsconfig.json file. TsProject doesn't add or change any config. Try running |
@niemyjski Try |
I'm not even sure how I'd pass that to tsproject via gulp, will need to figure that out. Perhaps an option we can set in our tsconfig file that tsproject could pick up? |
@niemyjski Use |
@niemyjski I will also see if I can include module resolution host tracing in the 4.0 milestone. It looks easy, but I have other features which I want to complete first. |
I think I might have to setup a build matrix or something, I get one weird error on windows and works perfectly fine on Mac but fails on linux (will have to setup a vm or something). I ran This really makes me wonder if I should move to lerna. Just so tests and dependencies can be split out better |
See issue #115 This is just a CI build issue, correct? I've found that cleaning state (everything) within the CI env usually fixes these kind of weird issues. What packages include TraceKit that you are using? Can you search the node_modules dir to TraceKit references? Sorry I can't really help you out on this! |
Thanks for #115! I don't think so, there is something going on in linux as Windows and Mac work perfectly with rc2. I would think there would be extremely close similarities between macOS And Linux. If you were curious at the differences look at the linux build step https://github.com/exceptionless/Exceptionless.JavaScript/actions. I take a hard dependency on TraceKit and there are no others that have a reference to it. I have a simple version of dependency injection. I define an interface in the core library that's shared and then at the entry point (each bundle target has it's own), I import the dependencies and set them on a singleton config instance (my di) and then these get flowed in. So in a bundle there is no way things are being resolved outside of the root file or across bundles unless something is being cached. I'll try digging into this on linux dev container. |
@niemyjski Are you OK with me closing this issue? I'd like to push the production version of TsProject 4.0.0 to npm. |
Yes, my only concern is what ever tests you have you may want to have a build matrix for them :) |
@ToddThomson I just found a breaking issue in rc2 from rc1. In rc2 all the transpired files are placed next to the original (.d.ts, .js, .js.map). They shouldn't be created and they should be piped to the dist/temp folder in the same structure. I'm not sure what changed here I can try taking a look at the comit history
|
@niemyjski Yes, the incremental compiler host now writes out the tsbuildinfo file and all individual js files. This is likely not the right thing to do. However, it will take a bit of time to determine the "right" thing to do. There is little info on the incremental API so I will need to go through the latest Typescript 4.1 code. Can you please start a new issue to track this? |
@niemyjski I have created issue #117 to track your issue. Please also note issue #116. TsProject beyond release 4.0.x will become gulp-ts-bundler. |
Thanks! |
I updated my local project to typescript 2.4 and ensured it was installed correctly and I removed my modules folder and made sure I don't have typescript installed globally. But every time my project runs it says version 2.3.4. I looked through the code and I don't see why this would be happing, do you have any ideas?
The text was updated successfully, but these errors were encountered: