Title: [Tracking] Scoped Packages · Issue #7895 · NativeScript/NativeScript · GitHub
Open Graph Title: [Tracking] Scoped Packages · Issue #7895 · NativeScript/NativeScript
X Title: [Tracking] Scoped Packages · Issue #7895 · NativeScript/NativeScript
Description: Original issue/idea discussed in #4041 Link to design document @nativescript/core package Move all the code to @nativescript/core generate the tns-core-modules compatibility package generate tests that validate that compatibility package...
Open Graph Description: Original issue/idea discussed in #4041 Link to design document @nativescript/core package Move all the code to @nativescript/core generate the tns-core-modules compatibility package generate tests ...
X Description: Original issue/idea discussed in #4041 Link to design document @nativescript/core package Move all the code to @nativescript/core generate the tns-core-modules compatibility package generate tests ...
Opengraph URL: https://github.com/NativeScript/NativeScript/issues/7895
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"[Tracking] Scoped Packages","articleBody":"Original issue/idea discussed in #4041\r\n[Link to design document](https://docs.google.com/document/d/1ifC9f6hlw9gedd7K8DUQ43AUjryes7G4B3i7Fhkdxck/edit?usp=sharing)\r\n\r\n- [x] `@nativescript/core` package\r\n - [x] Move all the code to `@nativescript/core` generate the `tns-core-modules` compatibility package\r\n - [x] generate tests that validate that compatibility package exports all modules\r\n - [x] Update [developer workflow](https://github.com/NativeScript/NativeScript/blob/scoped-packages-generate-master/DevelopmentWorkflow.md). There should be an easy way to setup the `nativescript/nativescript` repo so that you can run the `tests` and all `e2e` projects with linked modules and HMR.\r\n - [ ] Do a detailed review of the barrel exports:\r\n - [x] [`@nativescript/core`](https://github.com/NativeScript/NativeScript/blob/scoped-packages-generate-master/nativescript-core/index.ts)\r\n - [x] [`@nativescript/core/ui`](https://github.com/NativeScript/NativeScript/blob/scoped-packages-generate-master/nativescript-core/ui/index.ts)\r\n - [x] [`@nativescript/core/ui/layouts`](https://github.com/NativeScript/NativeScript/blob/scoped-packages-generate-master/nativescript-core/ui/layouts/index.ts)\r\n - [ ] Missing modules. Style, FormattedString etc.\r\n - [ ] `Styling` -\u003e there are a couple of useful things from styling modules:\r\n - [x] `export { addTaggedAdditionalCSS, removeTaggedAdditionalCSS } from \"./styling/style-scope\";`\r\n - [x] `export { Style } from \"./styling/style\";`\r\n - [x] `FormattedString`, `Text`, `Span`\r\n - [x] Move methods exported by modules into static class-mehtods, thus eliminating the need of `ns` prefix-ed objects. Problematic modules:\r\n - [x] `Frame`\r\n - [x] `Builder`\r\n - [x] `ImageSource`\r\n - [x] `Application`\r\n - [x] `Application-settings`\r\n - [x] `Connectivity`\r\n - [x] `Http`\r\n - [x] `Profiling`\r\n - [x] `Trace`\r\n - [x] `Utils` \r\n - [x] consider using namespaces where appropriate\r\n - [x] Move modules into `ui`. Create re-exports on the original place for back-compat. Models that should be moved in `ui`:\r\n - [x] `FormattedString` and `Span`\r\n - [ ] Handle EventDatas and clashing interfaces names. Try to define all event-data interfaces in one place only and reuse.\r\n\r\n - [x] generate documentation (with typedoc) for the scoped packages. \r\n - [x] Research if we can generate typedoc for barrel files (seems now that re-exported modules are not documented). **Result**: rollup d.ts generated with `api-extractor`.\r\n - [ ] Docs for functions re-exported inside objects (ex. `Trace`, `Utils`) are not visible in the docs.\r\n - [ ] Run the `e2e/scoped-packages` application on CI\r\n \r\n- [ ] `@nativescript/angular` package\r\n - [x] Move all the code to `@nativescript/angular` and create `nativescript-angular` compatibility package (either generate it or manually create it)\r\n - [ ] Update developer workflow. There should be an easy way to setup the `nativescript-angular` repo so that you can run the `tests` and all `e2e` projects with linked modules and HMR.\r\n\r\n- [ ] `nativescript-dev-webpack` package\r\n - [x] Remove the `tns-core-module/xml` dependency in the `xml-namespace-loader`\r\n - [x] Make sure webpack works with the `tns-core-modules` compatibility package without the need to change configuration. \r\n - [ ] Make sure all generated code from webpack loaders uses the scoped packages. This way people won't have to still include the compat packages in their projects. Add a check that scoped-packages exist in the project and show \"not compatible\" error otherwise.\r\n\r\n- [ ] `nativescript-cli`\r\n - [ ] ...\r\n\r\n- [ ] https://github.com/NativeScript/NativeScript/issues/8131 Migration tool (eslint rule with auto-fix). It should:\r\n - convert all `tns-core-modules` imports to `@nativescript/core` imports\r\n - convert all `nativescript-angular` imports to `@nativescript/angular` imports\r\n","author":{"url":"https://github.com/vakrilov","@type":"Person","name":"vakrilov"},"datePublished":"2019-10-02T12:52:42.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/7895/NativeScript/issues/7895"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:f226c496-2a1d-ef63-c382-3a5b4f00c7b5 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | D5A2:1D8164:48CDAB:6687F7:6979BAEF |
| html-safe-nonce | e7b4aae94901779c03ba17978133de0ae4bdfdf5a297a6f30bf99f46d2e121ae |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJENUEyOjFEODE2NDo0OENEQUI6NjY4N0Y3OjY5NzlCQUVGIiwidmlzaXRvcl9pZCI6IjE0MjQ5MjQzOTUzMTg2Mjc2NyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | bca53e61cc30858013d420ce2ad312d6ac03d5985e5179f2541f9031faf5bd7a |
| hovercard-subject-tag | issue:501470041 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/NativeScript/NativeScript/7895/issue_layout |
| twitter:image | https://opengraph.githubassets.com/941815daa14be5e9df7c2d62150a3e0ceede3c5449bf282a9e0aa897b96bdfe7/NativeScript/NativeScript/issues/7895 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/941815daa14be5e9df7c2d62150a3e0ceede3c5449bf282a9e0aa897b96bdfe7/NativeScript/NativeScript/issues/7895 |
| og:image:alt | Original issue/idea discussed in #4041 Link to design document @nativescript/core package Move all the code to @nativescript/core generate the tns-core-modules compatibility package generate tests ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | vakrilov |
| hostname | github.com |
| expected-hostname | github.com |
| None | c049b65ec7e54cbf2521f5a560b6527714c612b0bd169188e2ea6e16f83bd5f4 |
| turbo-cache-control | no-preview |
| go-import | github.com/NativeScript/NativeScript git https://github.com/NativeScript/NativeScript.git |
| octolytics-dimension-user_id | 7392261 |
| octolytics-dimension-user_login | NativeScript |
| octolytics-dimension-repository_id | 31492490 |
| octolytics-dimension-repository_nwo | NativeScript/NativeScript |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 31492490 |
| octolytics-dimension-repository_network_root_nwo | NativeScript/NativeScript |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 87b137883e35e2766c3d0f6a257c4044f6390b83 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width