jspreprocessor 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.bowerrc +3 -0
- data/.gitignore +3 -1
- data/JSPreprocessor.gemspec +2 -1
- data/README.md +2 -0
- data/bin/jspre +10 -0
- data/bower.json +21 -0
- data/example_js/main.js +2 -0
- data/lib/JSPreprocessor.rb +24 -3
- data/spec/spec_helper.rb +1 -0
- metadata +21 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1268df9f8dcc9e147298260e76bb765b7454ac3
|
4
|
+
data.tar.gz: 1e47e6d33206c3485d23d834c1854403f95d0474
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 29eacebabfb80ceaf6c098b8b9d37ad49988b01578ddb48ef38b3812c7c2c76eabf2bad5c278e1be1b29d772b071051b604eca0e079f6ed6fc14c1418aac120a
|
7
|
+
data.tar.gz: 991fb5e29c093d0b13320210c8713f389b49791ecb3250aedc83ca72f98e130856ddaabe15e73611cfcd7c0022d579df8d1888f537f84566e7e19dceaa35bef9
|
data/.bowerrc
ADDED
data/.gitignore
CHANGED
data/JSPreprocessor.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "jspreprocessor"
|
7
|
-
spec.version = '0.0.
|
7
|
+
spec.version = '0.0.3'
|
8
8
|
spec.authors = ["Caleb Albritton"]
|
9
9
|
spec.email = ["ithinkincode@gmail.com"]
|
10
10
|
spec.summary = %q{Like Browserify but the C way.}
|
@@ -20,4 +20,5 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.add_development_dependency 'bundler', '~> 1.6'
|
21
21
|
spec.add_development_dependency 'rake'
|
22
22
|
spec.add_development_dependency 'rspec', '~> 2.14'
|
23
|
+
spec.add_development_dependency 'pry'
|
23
24
|
end
|
data/README.md
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
Like Browserify but the C way.
|
4
4
|
Include JavaScript files directly into your source code using #include 'somefile'
|
5
|
+
Include files installed via bower with inclusion guards: #include <undsercore>
|
5
6
|
Use #define FOO bar to replace every instance of FOO with bar.
|
6
7
|
|
7
8
|
## Installation
|
@@ -29,6 +30,7 @@ Or install it yourself as:
|
|
29
30
|
|
30
31
|
## JavaScript Usage
|
31
32
|
|
33
|
+
#include <underscore> // This will only work if you've installed underscore via bower
|
32
34
|
#include 'lib/stuff'
|
33
35
|
|
34
36
|
#define FOO bar
|
data/bin/jspre
ADDED
data/bower.json
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
{
|
2
|
+
"name": "test",
|
3
|
+
"version": "0.0.0",
|
4
|
+
"authors": [
|
5
|
+
"Caleb Albritton <ithinkincode@gmail.com>"
|
6
|
+
],
|
7
|
+
"private": true,
|
8
|
+
"ignore": [
|
9
|
+
"**/.*",
|
10
|
+
"node_modules",
|
11
|
+
"bower_components",
|
12
|
+
"test",
|
13
|
+
"tests"
|
14
|
+
],
|
15
|
+
"dependencies": {
|
16
|
+
"bootstrap": "~3.1.1",
|
17
|
+
"bootstrap-social": "*",
|
18
|
+
"html2canvas": "0.4.1",
|
19
|
+
"underscore": "*"
|
20
|
+
}
|
21
|
+
}
|
data/example_js/main.js
CHANGED
data/lib/JSPreprocessor.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'json'
|
2
|
+
|
1
3
|
class JSPreprocessor
|
2
4
|
|
3
5
|
def initialize
|
@@ -13,9 +15,28 @@ class JSPreprocessor
|
|
13
15
|
def recurse_files(cwd, file)
|
14
16
|
file.each_with_index do |line, index|
|
15
17
|
if line.include? '#include'
|
16
|
-
|
17
|
-
|
18
|
-
|
18
|
+
if line.include? '<' #inclusion guards, use bower
|
19
|
+
if File.file? '.bowerrc' # check if they keep the bower files somewhere else
|
20
|
+
bowerrc = JSON.parse File.open('.bowerrc').read
|
21
|
+
if !bowerrc['directory'].nil? # if a custom directory has been set
|
22
|
+
@bower_dir = bowerrc['directory']
|
23
|
+
else
|
24
|
+
@bower_dir = 'bower_components'
|
25
|
+
end
|
26
|
+
else
|
27
|
+
@bower_dir = 'bower_components'
|
28
|
+
end
|
29
|
+
|
30
|
+
package = line.match(/<(.*)>/)[1]
|
31
|
+
package_json = "#{@bower_dir}/#{package}/bower.json"
|
32
|
+
package_path = JSON.parse(File.open(package_json).read)['main']
|
33
|
+
library = File.open("#{@bower_dir}/#{package}/#{package_path}").read
|
34
|
+
file[index] = library
|
35
|
+
else
|
36
|
+
to_include = cwd + line[10..-2] + '.js'
|
37
|
+
next_wd = Pathname.new(to_include).dirname.to_s + '/'
|
38
|
+
file[index] = recurse_files next_wd, File.open(to_include).read.split("\n")
|
39
|
+
end
|
19
40
|
elsif line.include? '#define'
|
20
41
|
@defines << line[8..-1].split(' ')
|
21
42
|
file.delete_at index
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jspreprocessor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Caleb Albritton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -52,20 +52,38 @@ dependencies:
|
|
52
52
|
- - ~>
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '2.14'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pry
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
description: 'Include JavaScript files directly into your source code using #include
|
56
70
|
''somefile'''
|
57
71
|
email:
|
58
72
|
- ithinkincode@gmail.com
|
59
|
-
executables:
|
73
|
+
executables:
|
74
|
+
- jspre
|
60
75
|
extensions: []
|
61
76
|
extra_rdoc_files: []
|
62
77
|
files:
|
78
|
+
- .bowerrc
|
63
79
|
- .gitignore
|
64
80
|
- Gemfile
|
65
81
|
- JSPreprocessor.gemspec
|
66
82
|
- LICENSE.txt
|
67
83
|
- README.md
|
68
84
|
- Rakefile
|
85
|
+
- bin/jspre
|
86
|
+
- bower.json
|
69
87
|
- example_js/lib/morestuff.js
|
70
88
|
- example_js/lib/other.js
|
71
89
|
- example_js/lib/stuff.js
|