-
Notifications
You must be signed in to change notification settings - Fork 123
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
OC is very strict on server-side dependency resolving strategies #390
Comments
Hello all, http://doodle.com/poll/x35kruy2q93xxm6s please feel free to share it w/ who might be interested. If you are not sure about time zones and stuff this can be a very useful link: http://www.worldtimebuddy.com/?pl=1&lid=5391959,2643743&h=2643743 //cc @debopamsengupta @ferewuz @cezarp @matthewdavidson @opentable/new-markets @opentable/open-components-team @navamgupta |
Hello, Monday 06, March 2017 I will send you a Google Hangouts link beforehand. As well as some more details about the format of this workshop so that you can prepare yourself upfront. save the date! //cc @debopamsengupta @ferewuz @cezarp @matthewdavidson @opentable/new-markets @opentable/open-components-team @navamgupta |
OC dependency management workshopDuring this workshop, we will discuss how to improve dependency management at the OC registry level. In particular, we will try to answer the following questions:
Ideally, we would like to look back at how we are using OC and understand if there are things that are accelerating our team's workflow and if there are others that are anchoring it instead. When?Monday 06, March 2017 PrerequisitesIt'd be good if you:
BoardThere is a Trello board that we will use during the workshop; let me know if you have got any issue when you try to access it (it should be public but you'll never know). Google Hangout@matteofigus can you confirm the link of the Google Hangout you would like to use for this meeting? //cc @debopamsengupta @ferewuz @cezarp @matthewdavidson @opentable/new-markets @opentable/open-components-team @navamgupta |
@matteofigus @mattiaerre Hey guys, is there a Hangouts link posted anywhere for the meeting? |
On the top right corner of the Trello Board we are going to use there is a link to a Google hangout; we can use that one unless @matteofigus has got another public one he would like to use instead https://hangouts.google.com/hangouts/_/event/trello.com/b/neeWL9uR-zesty-mosquito //cc @debopamsengupta @ferewuz @cezarp @matthewdavidson @opentable/new-markets @opentable/open-components-team @navamgupta |
I confirm, we will use this Google Hangout link: https://hangouts.google.com/hangouts/_/2xe5soc4enedhpdxi5aq26friye //cc @debopamsengupta @ferewuz @cezarp @matthewdavidson @opentable/new-markets @opentable/open-components-team @navamgupta |
email: [email protected] |
|
Apologies guys got stuck resolving another problem. Looking forward to your final decision :) |
no problem at all @navamgupta I will send you guys ASAP some notes re this meeting. |
Hello, let me know if you cannot access it and also feel free to add your comments. |
Hi @mattiaerre we're unable to access the document, possible to grant us permission ? |
@debopamsengupta you should be able to access it now; as you've done you need to request access. Let me know if you are still unable to access it. |
As promised, this is my proposal (simplified):
Goals are:
Comments on this? Specifically,
|
Nice overview of the proposal! Overall I think it's a good balance between registry complexity / maintenance and component creator happiness. Your point about possibly opening up the webpack bundling process to consumers is interesting. I've seen similar approaches in next.js and react-storybook - they could be good inspiration. Anyways, 👍 from me. |
@matteofigus |
@navamgupta I don't think this will be a problem if declared as |
@matteofigus in order to be super clear it is possible to create a couple of example use cases where we can see what kind of problem we are trying to solve here? thanks 😅 |
@matteofigus are we ready to start integrating the dependency-resolving functionality into OC ? |
I think we should be able to using https://github.com/debopamsengupta/requirey for that.
const oc = require('oc');
const registry = new oc.Registry(configuration);
registry.installComponentsDependencies(callback); ^ this could be used as own script to be run as npm post-install for the registry app. |
@mattiaerre I think the easiest use case I can think about is the registry using [email protected] which has a security issue and want to upgrade to [email protected] which fixes but with breaking changes. We want to allow components to use both, possibly to safely migrate to foo@3, and then possibly remove foo@2 later. (Applies not only to security issues but to any dependency that introduces breaking changes.) |
@matteofigus let me know if there is anything else I can do re this conversation; happy to help w/ the code also |
Since version 6 of npm you can use aliases for packages, with syntax like this: This could be a solution, instead of using npm-install-version, which right now does not even work. You can keep declaring your different versions on package.json and there is no need to install them after starting the registry, you would just need the logic to identify aliases on the dependencies array. |
As you all know, OC is very strict about allowing components to use node dependencies on the
server.js
.Currently, the registry has a whitelist of allowed dependencies, and its discretion and responsibility of registry owners to ensure components load correctly with the installed versions.
Some contributors put together a beautiful document with ideas about how to make this better: https://drive.google.com/file/d/0B_XTziQjKDm4aFB3TjdnOEhrOE0/view
Today as 2017-02-24 we had a meeting at OpenTable where we discussed the purposed 5 approaches.
This is the outcome: https://docs.google.com/document/d/17n9uaObBOwcZuM7rLmr50ZnQACehTuadOncPERzNnh4/edit?usp=sharing
@mattiaerre will organise and lead an open retrospective that we'll do via google hangouts, anyone free to attend - to discuss further actions.
/cc @debopamsengupta @ferewuz @cezarp @matthewdavidson @opentable/new-markets @opentable/open-components-team
The text was updated successfully, but these errors were encountered: