sprockets-vue 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d583936aac8d4545115b613b67d93925fbd92f2a
4
- data.tar.gz: 1233ee5c42b9d7a68687bcee5b73d9d555dff87e
3
+ metadata.gz: 239c914f12ec2c7c5041677fa054c7921647ca21
4
+ data.tar.gz: 6e479798569761e657df1b53afc3a1211888fea5
5
5
  SHA512:
6
- metadata.gz: 733626d2774ce4b875bf2769db5e36ab217ce7c1379367112f5cba3bcf256216223e7c16b430b9fb96b1628e73566b01811a9be8ccd0352a1b5bad56c4dde03e
7
- data.tar.gz: f9c7313dbb3c23c666c0dbaa8729bf35c96e5a2309fc0c5828d01e4e06d358ef1d59b79baca46a5333edbfe712fc47ef9baaf1e4c6be298682e90ec365a22629
6
+ metadata.gz: 5ba9d9567a0c6f3c429d7601bc1d6172158c7d13409fe6304fd50bef9ef0adc8c695a85ab351802f474118099c52348e84d66a84fdaa22086bf420f4cafbdf1c
7
+ data.tar.gz: 92235b72db685b62276e77b83016f84ee92110a3d380427267fe987dd7a2816ccebd101cace506c43b2c5c1df4139a18d2d69ddd1e6cb6c35724d2fec22b0a46
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # sprockets-vue
2
2
  A Sprockets transformer that converts .vue file into js object.
3
3
 
4
+ # install
5
+ add `gem 'sprockets-vue'` to Gemfile, and run bundle, currently works with sprockets 3.
4
6
  # example
5
7
  * index.vue
6
8
  ```vue
data/lib/sprockets/vue.rb CHANGED
@@ -1,49 +1,14 @@
1
1
  require 'sprockets'
2
2
  require 'sprockets/vue/version'
3
+ require 'sprockets/vue/script'
4
+ require 'sprockets/vue/style'
3
5
 
4
6
  module Sprockets
5
- class Vue
6
- class << self
7
- include ActionView::Helpers::JavaScriptHelper
8
- SCRIPT_COMPILES = {
9
- 'coffee' => ->(s, input){
10
- CoffeeScript.compile(s, sourceMap: true, sourceFiles: [input[:source_path]], no_wrap: true)
11
- },
12
- 'es6' => ->(s, input){
13
- Babel::Transpiler.transform(data, {}) #TODO
14
- }
15
- }
16
- def call(input)
17
- data = input[:data]
18
- name = input[:name]
19
- input[:cache].fetch([cache_key, input[:filename], data]) do
20
- script_r = /\<script *(lang="(\w+)")?\>([\s\S]+)\<\/script\>/
21
- template_r = /\<template\>([\s\S]+)\<\/template\>/
22
- script = script_r.match(data)
23
- lang = script[2]
24
- template = template_r.match(data)
25
-
26
- result = SCRIPT_COMPILES[lang].call(script[3], input)
27
-
28
- output = ";if (typeof(VCompents)==='undefined')VCompents = {};
29
- VCompents['#{name}'] = #{result['js']};"
30
- output << "VCompents['#{name}'].template = '#{escape_javascript template[1]}';" if template
31
-
32
- { data: output }
33
- end
34
- end
35
-
36
- def cache_key
37
- [
38
- self.name,
39
- VERSION,
40
- ].freeze
41
- end
42
- end
43
- end
44
7
  if respond_to?(:register_transformer)
45
8
  register_mime_type 'text/vue', extensions: ['.vue'], charset: :unicode
46
- register_transformer 'text/vue', 'application/javascript', Vue
9
+ register_transformer 'text/vue', 'application/javascript', Vue::Script
47
10
  register_processor 'text/vue', Sprockets::DirectiveProcessor
11
+
12
+ register_transformer 'text/vue', 'text/css', Vue::Style
48
13
  end
49
14
  end
@@ -1,5 +1,5 @@
1
1
  module Sprockets
2
2
  class Vue
3
- VERSION = '0.0.2'
3
+ VERSION = '0.0.3'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sprockets-vue
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - kikyous
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-25 00:00:00.000000000 Z
11
+ date: 2016-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sprockets