filearts / plunker

Plnkr.co front-end and backend
MIT License
598 stars 119 forks source link

proposal: have ability to implement core file templates for frameworks and libraries #137

Open xtianus79 opened 6 years ago

xtianus79 commented 6 years ago

Perhaps this is in the wrong section.

But I wanted to propose the ability to have a core template system for framesworks such as angular 2+ that would use certain portions of the files, i.e. core files, that could be integrated into a plunker that would not affect other areas of the plunker such as the exampled code.

ggoodman commented 6 years ago

@xtianus79 I think I might understand your idea, but I would love to hear you give a bit more detail. If I understand correctly, I can see how this would be very helpful.

The challenge with 'hiding the boilerplate' is basically the same challenge that is (mostly) solved by create-react-app's concept of 'ejecting'. Once you 'eject' there's no coming back. Maybe a similar approach would be helpful for Plunker.

xtianus79 commented 6 years ago

@ggoodman sorry, when I wrote that yesterday I was dead tired. Let me provide more detail and context.

The issue is that materia, which uses angular, is usually contected of a system of npm packages that point to specific core @angular components... Pointing to these packages usually is something to the effect of this...

      '@angular/animations/browser': 'npm:@angular/animations/bundles/animations-browser.umd.js',
      '@angular/core': 'npm:@angular/core/bundles/core.umd.js',
      '@angular/common': 'npm:@angular/common/bundles/common.umd.js',
      '@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js',

The issue with this is that those versions are the equivilent of "your latest version" so things are updating out of any other codes control.

The problem is that while we want the latest code there are adjustments that need to happen to those core files along with example files that should be in and of itself seperate.

With material for Angular there are about 50 components that need to have in the least the core components adjusted all at once from a single point everytime there is an angular and or material update.

With this ability now the only thing a person would have to do is change any deprecating code, breaking code or add new functionality to that components api.

I dont' think anything needs to be hidden but rather the referrence ability to a single core set of files would be the goal here.

What are your thoughts.