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

docs: 3rd Party Library Design Doc. #255

Closed
wants to merge 0 commits into from
Closed

Conversation

hansl
Copy link
Contributor

@hansl hansl commented Feb 26, 2016

No description provided.

@jkuri
Copy link
Contributor

jkuri commented Feb 26, 2016

thanks for this. lgtm

1. Metadata storage by thirdparties in `package.json`. This must be accessible by plugins for
the build process or even when scaffolding.
1. Proper configuration of SystemJs in the browser.
1. SystemJs configuration needs to be kept separated from the autogenerated part.
Copy link
Member

Choose a reason for hiding this comment

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

minor: SystemJS

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

@filipesilva
Copy link
Contributor

I really like the appData bit. Not so much the hooks bit though.

I can't imagine that a lib that uses these hooks could be used without angular-cli, and that leads to a divide we are trying to avoid - having angular2-* versions of libs.

All these configuration options also seem to severely be overloading package.json. It is not hard to imagine that an app using 4-5 libraries would have the majority of it's package.json occupied by angular-cli module configuration. At that point, it's better to simply have an angular-cli.json file.

Perhaps the key issue here is the separation of cli addons vs simple libraries. Addons should change the functioning of the CLI, whereas simple libraries should be no more than imported and perhaps have some simple prompts for automatically add providers/configuration to an app.

We will not use SystemJS bundles in development. This is for better debugging, future proofing
(when moving the build system) and better CDN support, as many of the loaded files will end up
being pulled from a CDN in production. During the `ng build` process for production, the
SystemJS configuration script will be rebuilt to fetch from the CDN.
Copy link
Contributor

Choose a reason for hiding this comment

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

It feels a bit superfluous to have a strong commitment to SystemJS (for the CDN functionality) and still keep the brocolli build step.

Perhaps we could move to SystemJS TS browser compilation for dev builds, and have the production build step simply compile TS to spare SystemJS from doing it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We have no strategy for a production build, but it will involve concatenating + minifying, so it's safe to say we'll have to revisit broccoli.

@hansl hansl force-pushed the thirdparties branch 2 times, most recently from 6771e54 to 76d6b66 Compare February 26, 2016 19:09
@hansl hansl force-pushed the thirdparties branch 3 times, most recently from cc54f64 to 7a88bae Compare March 4, 2016 23:38
@hansl
Copy link
Contributor Author

hansl commented Mar 17, 2016

@wesleycho you said you wanted to take a look at this proposal.

@hansl hansl changed the title design(): 3rd Party Library Design Doc. docs: 3rd Party Library Design Doc. Mar 19, 2016
@hansl hansl closed this Mar 24, 2016
@hansl hansl deleted the thirdparties branch March 31, 2016 18:10
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 9, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants