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

Restructuring #299

Merged
merged 23 commits into from
Jul 18, 2017
Merged

Restructuring #299

merged 23 commits into from
Jul 18, 2017

Conversation

akosyakov
Copy link
Member

No description provided.

@akosyakov akosyakov force-pushed the ak/restructuring branch 2 times, most recently from 647c5f4 to 7da1ace Compare July 14, 2017 10:58
@svenefftinge
Copy link
Contributor

svenefftinge commented Jul 14, 2017

Nice! For others, it would be good if you could provide an overview of what you did and what the purpose is.

@svenefftinge
Copy link
Contributor

Related to #59

@akosyakov
Copy link
Member Author

akosyakov commented Jul 14, 2017

It breaks down theia-core on core and filesystem extensions and shows how they are used together for the browser example. It does not relies on ldm anymore but use lerna for linking submodules with hoisting dependencies and 2 tsconfigs, one to improve navigation in vscode, another to compile efficiently. Because of linking debugging works out of the box, without adjusting tsconfigs or generated source maps.

I am going to:

  • enable tests again
  • add an extension generator
  • restructure extensions
  • add fs-watcher extension
  • restructure examples
  • enable examples' tests
  • adapt app generators
  • add tslint rules for imports, one should always use @theia/${extension}/lib/* imports to import something from other extensions
  • update development docs
  • remove ldm

@hexa00
Copy link

hexa00 commented Jul 14, 2017

Does that sound like a good time to also change to absolute paths ?
Since you'll have to rewrite the relatives ones anyway

"name": "theia-core",
"version": "0.0.1-alpha.2",
"name": "@theia/core",
"version": "0.0.1-alpha.1",
"description": "Theia is a cloud & desktop IDE framework implemented in TypeScript.",
"repository": {
"type": "git",
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is back to .1 ?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, we should keep the version even though we change the package name.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok

@svenefftinge
Copy link
Contributor

You mean use absolute paths even within an npm package?

@hexa00
Copy link

hexa00 commented Jul 15, 2017

I did not realise at first that segmenation would do that by default with the different packages.
Sounds like it would be nide also inside the same package but I'm not sure what is involed there or what is best pratice?

@akosyakov
Copy link
Member Author

I've tried to use the absolute paths inside the same package, e.g. in core @theia/core/lib/*, and rolled back because they are getting long. But what is nice about them that you can copy imports around and move files without breaking imports often.

@akosyakov akosyakov mentioned this pull request Jul 15, 2017
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
@akosyakov akosyakov force-pushed the ak/restructuring branch 2 times, most recently from 894aa0d to e1f5991 Compare July 15, 2017 12:35
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
@svenefftinge
Copy link
Contributor

Otherwise , it worked nicely for me.
Incremental development was easy and fast. :)

Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
Signed-off-by: Anton Kosiakov <anton.kosyakov@typefox.io>
@akosyakov
Copy link
Member Author

@svenefftinge I've addressed issues which you mention and update docs.

@akosyakov akosyakov merged commit 5ba5917 into master Jul 18, 2017
@akosyakov akosyakov deleted the ak/restructuring branch July 18, 2017 12:15
@hexa00
Copy link

hexa00 commented Jul 18, 2017

I wish you had waited a bit more before merging this ?
I don't understand why this was merged without the examples ci for example ?
Sounds like we're missing some stuff compared to before....
Or I'm missing something

@akosyakov
Copy link
Member Author

Examples are there, only UI tests are switched off for now. I am looking into switching them on.

@hexa00
Copy link

hexa00 commented Jul 18, 2017

Yeah I meant their ci but ok I just think we could have waited to get this in the PR before
I think we should avoid breaking existing stuff in master

@hexa00
Copy link

hexa00 commented Jul 18, 2017

Note also the TLDR doc is now broken
should be cd examples/browser rather than cd ../../examples/browser

@akosyakov
Copy link
Member Author

ok, I will update it

@akosyakov
Copy link
Member Author

@hexa00 I've tried to get it done over the weekend that there are no merge issues. Unfortunately, there was one which I was not able to rebase already because of tree changes and had to merge. There are some small tasks left, I will clean it up next days.

@akosyakov
Copy link
Member Author

I am a bit concern about UI tests, they don't seem to do much but takes so long. Mabe better to have a separate job for them after examples are successfully build.

@akosyakov
Copy link
Member Author

Speed up is because of dependencies are downloaded once for all packages and tasks are executed in parallel there is possible.

@hexa00
Copy link

hexa00 commented Jul 18, 2017

Nice speed up for sure, the colors look nice too hehe :)

@kittaakos
Copy link
Contributor

the colors look nice too

👍

@hexa00
Copy link

hexa00 commented Jul 18, 2017

I think for the UI tests if we start a job after it will be the same as having it in the same job.

If ever our core test become long we could have 2 job in parallel one executing only the core tests and the other the UI tests only. And wait for the 2 to complete.

But I think right now it's the install/compile that is taking time... I'll have to recheck with the restructuring

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants