Skip to content
This repository was archived by the owner on Aug 16, 2022. It is now read-only.

Next steps #34

Closed
4 of 13 tasks
yyx990803 opened this issue Dec 16, 2017 · 4 comments
Closed
4 of 13 tasks

Next steps #34

yyx990803 opened this issue Dec 16, 2017 · 4 comments
Assignees

Comments

@yyx990803
Copy link
Member

yyx990803 commented Dec 16, 2017

Prior design thread: #28

Thanks to the great work by @znck we now have a good start to iterate on. I did a quick review of the current codebase and here's a list of things I think we should work on next:

Feature Sync with Latest vue-loader

To avoid having to maintain both side in parallel, I'll temporarily limit new features in vue-loader until we refactor it to use this package internally.

Questions still open to Discussion

  • Current implementation seems to be assuming a module bundler environment, but technically this package should not be limited to that. (discussion in Assemble in line function #33)

  • Should hot-reload be handled in here? Currently the hot-reload logic is quite specific to webpack, which should be the responsibility of vue-loader.

  • How to distribute the runtime (normalizeComponent and style injection code)? I think this is tricky since it involves how the bundler can locate the packages, and in some cases the runtime may need to be directly inlined (related to Assemble in line function #33).

We might need to rethink how assemble works altogether. Rough idea: the base assemble function should assume much less and try to allow the user to decide how to handle styles, hot-reload and the normalization.

/cc @znck @eddyerburgh

@znck znck self-assigned this Dec 17, 2017
@Akryum
Copy link
Member

Akryum commented Dec 17, 2017

For meteor, I would just need the component definition JS and the style (not sure how to manage pre-processors though - currently, it's a set of individual atmosphere packages that exposes a global to the .vue processor). I already made a HMR system that works in Meteor and since it's quite specific, I agree it should be left to the implementation outside of the component compiler.

@rigor789
Copy link

For nativescript-vue we would need multiple template and script blocks (style already supports multiple blocks). I have opened a PR in the Vue repository to add support for this: vuejs/vue#7264

Another thing that we should consider is allowing changing the template-compiler for a given block, for example if we have a <template web /> block, we would like to use the official vue-template-compiler package, but for <template native /> we would like to use our own fork which includes some custom compiler modules specific to nativescript-vue.

@znck
Copy link
Member

znck commented Dec 19, 2017

I have moved all open tasks to the board.

I would be actively working on these tasks from this Friday.
If anyone is picking something, please convert the task to issue and assign it to yourself. If you don't access then ping me, I'll do it for you.

@znck
Copy link
Member

znck commented Jan 20, 2018

The only open issue from this list is #36, tracked separately.

@znck znck closed this as completed Jan 20, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants