sasstool 0.2.2 → 0.3.0
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/README.md +0 -8
- data/bin/sasstool +2 -2
- data/lib/sasstool/cli.rb +1 -1
- data/lib/sasstool/command.rb +29 -19
- data/lib/sasstool/importer.rb +4 -3
- data/lib/sasstool/renderer.rb +5 -5
- data/lib/sasstool/version.rb +2 -2
- data/lib/sasstool.rb +0 -5
- metadata +32 -20
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 377aca589e5c58b3d7e119c2984dc03e3253887e0a880a60cb761008f9dcf035
|
|
4
|
+
data.tar.gz: b8f0c02756faf00b06f121f567c814e82952ef4f1490dbcefb4a02a18d27d339
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1ef5df69b782a307c7404014e2135080afbc471d514ee590b3453d93cfbbc1f70a913af2f05957d55e8a96ed1f25f5c305bb0de3163afc0844be14ca8ab37d97
|
|
7
|
+
data.tar.gz: 26d232f5c209ad2ae11cd57c3ea9ff24b952e24ba10a1379b661ca8d49abd8434508fca76669397799a8366b4e5224c1b366ea5bcb371dfc4df964120451237a
|
data/README.md
CHANGED
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
# Sasstool
|
|
2
2
|
|
|
3
|
-
[](https://badge.fury.io/rb/sasstool)
|
|
4
|
-
[](https://github.com/DannyBen/sasstool/actions?query=workflow%3ATest)
|
|
5
|
-
[](https://codeclimate.com/github/DannyBen/sasstool/maintainability)
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
3
|
Sass (SassC) command line renderer with globbing import support.
|
|
10
4
|
|
|
11
|
-
---
|
|
12
|
-
|
|
13
5
|
## Installation
|
|
14
6
|
|
|
15
7
|
$ gem install sasstool
|
data/bin/sasstool
CHANGED
data/lib/sasstool/cli.rb
CHANGED
data/lib/sasstool/command.rb
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'listen'
|
|
2
2
|
|
|
3
3
|
module Sasstool
|
|
4
4
|
class Command < MisterBin::Command
|
|
5
|
-
help
|
|
6
|
-
usage
|
|
7
|
-
usage
|
|
8
|
-
|
|
9
|
-
param
|
|
10
|
-
param
|
|
11
|
-
option
|
|
12
|
-
environment
|
|
13
|
-
|
|
14
|
-
example
|
|
5
|
+
help 'sasstool - SASS Command Line Renderer'
|
|
6
|
+
usage 'sasstool INFILE [OUTDIR --watch]'
|
|
7
|
+
usage 'sasstool (-h|--help)'
|
|
8
|
+
|
|
9
|
+
param 'INFILE', 'Path to SCSS or SASS input file'
|
|
10
|
+
param 'OUTDIR', 'Path to CSS output directory. Can also be provided by an environment variable'
|
|
11
|
+
option '-w, --watch', 'Watch the directory of the input file, and save on change'
|
|
12
|
+
environment 'SASSTOOL_OUTDIR', 'Path to CSS output directory'
|
|
13
|
+
|
|
14
|
+
example 'sasstool style/main.scss public/css'
|
|
15
15
|
|
|
16
16
|
def run
|
|
17
|
-
save
|
|
17
|
+
save
|
|
18
18
|
watch if args['--watch']
|
|
19
19
|
end
|
|
20
20
|
|
|
21
21
|
private
|
|
22
22
|
|
|
23
23
|
def watch
|
|
24
|
-
dir = File.dirname
|
|
25
|
-
glob =
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
dir = @dir ||= File.dirname(args['INFILE'])
|
|
25
|
+
glob = /\.s[ca]ss\z/
|
|
26
|
+
l = listener(dir, glob) { save }
|
|
27
|
+
l.start
|
|
28
|
+
block_if_needed
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
def save
|
|
32
32
|
renderer.save outdir
|
|
33
|
-
say
|
|
33
|
+
say 'Saved'
|
|
34
34
|
end
|
|
35
35
|
|
|
36
36
|
def renderer
|
|
@@ -39,8 +39,18 @@ module Sasstool
|
|
|
39
39
|
|
|
40
40
|
def outdir
|
|
41
41
|
result = args['OUTDIR'] || ENV['SASSTOOL_OUTDIR']
|
|
42
|
-
raise ArgumentError,
|
|
42
|
+
raise ArgumentError, 'Please provide an output directory' unless result
|
|
43
|
+
|
|
43
44
|
result
|
|
44
45
|
end
|
|
46
|
+
|
|
47
|
+
def listener(dir, glob, &)
|
|
48
|
+
Listen.to(dir, force_polling: true, latency: 3, only: glob, &)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def block_if_needed
|
|
52
|
+
@block_thread ||= Thread.current
|
|
53
|
+
@block_thread.join if @block_thread != Thread.current
|
|
54
|
+
end
|
|
45
55
|
end
|
|
46
56
|
end
|
data/lib/sasstool/importer.rb
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
module Sasstool
|
|
2
2
|
class Importer < SassC::Importer
|
|
3
3
|
def imports(path, parent_path)
|
|
4
|
-
if path.include?
|
|
4
|
+
if path.include? '*'
|
|
5
5
|
dir = File.dirname parent_path
|
|
6
6
|
glob = "#{dir}/#{path}"
|
|
7
|
+
extensions = ['.scss', '.sass']
|
|
7
8
|
files = Dir[glob].select do |file|
|
|
8
|
-
|
|
9
|
+
extensions.include? File.extname(file)
|
|
9
10
|
end
|
|
10
11
|
|
|
11
12
|
files.map do |file|
|
|
@@ -16,4 +17,4 @@ module Sasstool
|
|
|
16
17
|
end
|
|
17
18
|
end
|
|
18
19
|
end
|
|
19
|
-
end
|
|
20
|
+
end
|
data/lib/sasstool/renderer.rb
CHANGED
|
@@ -3,6 +3,7 @@ require 'forwardable'
|
|
|
3
3
|
module Sasstool
|
|
4
4
|
class Renderer
|
|
5
5
|
extend Forwardable
|
|
6
|
+
|
|
6
7
|
def_delegators :engine, :render, :source_map
|
|
7
8
|
attr_reader :path
|
|
8
9
|
|
|
@@ -44,11 +45,11 @@ module Sasstool
|
|
|
44
45
|
|
|
45
46
|
def options
|
|
46
47
|
@options ||= {
|
|
47
|
-
source_map_file:
|
|
48
|
+
source_map_file: "#{path.gsub(/s[ca]ss$/, 'css')}.map",
|
|
48
49
|
source_map_contents: true,
|
|
49
|
-
style:
|
|
50
|
-
importer:
|
|
51
|
-
filename:
|
|
50
|
+
style: :nested,
|
|
51
|
+
importer: Importer,
|
|
52
|
+
filename: path,
|
|
52
53
|
}
|
|
53
54
|
end
|
|
54
55
|
|
|
@@ -57,4 +58,3 @@ module Sasstool
|
|
|
57
58
|
end
|
|
58
59
|
end
|
|
59
60
|
end
|
|
60
|
-
|
data/lib/sasstool/version.rb
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
module Sasstool
|
|
2
|
-
VERSION =
|
|
3
|
-
end
|
|
2
|
+
VERSION = '0.3.0'
|
|
3
|
+
end
|
data/lib/sasstool.rb
CHANGED
metadata
CHANGED
|
@@ -1,71 +1,84 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sasstool
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Danny Ben Shitrit
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
13
|
+
name: colsole
|
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
|
16
15
|
requirements:
|
|
17
16
|
- - "~>"
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0
|
|
18
|
+
version: '1.0'
|
|
20
19
|
type: :runtime
|
|
21
20
|
prerelease: false
|
|
22
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
22
|
requirements:
|
|
24
23
|
- - "~>"
|
|
25
24
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0
|
|
25
|
+
version: '1.0'
|
|
27
26
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
27
|
+
name: listen
|
|
29
28
|
requirement: !ruby/object:Gem::Requirement
|
|
30
29
|
requirements:
|
|
31
30
|
- - "~>"
|
|
32
31
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
32
|
+
version: '3.9'
|
|
34
33
|
type: :runtime
|
|
35
34
|
prerelease: false
|
|
36
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
36
|
requirements:
|
|
38
37
|
- - "~>"
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
39
|
+
version: '3.9'
|
|
41
40
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
41
|
+
name: logger
|
|
43
42
|
requirement: !ruby/object:Gem::Requirement
|
|
44
43
|
requirements:
|
|
45
44
|
- - "~>"
|
|
46
45
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
46
|
+
version: '1.7'
|
|
48
47
|
type: :runtime
|
|
49
48
|
prerelease: false
|
|
50
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
50
|
requirements:
|
|
52
51
|
- - "~>"
|
|
53
52
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
53
|
+
version: '1.7'
|
|
55
54
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
55
|
+
name: mister_bin
|
|
57
56
|
requirement: !ruby/object:Gem::Requirement
|
|
58
57
|
requirements:
|
|
59
58
|
- - "~>"
|
|
60
59
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: '
|
|
60
|
+
version: '0.7'
|
|
62
61
|
type: :runtime
|
|
63
62
|
prerelease: false
|
|
64
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
65
64
|
requirements:
|
|
66
65
|
- - "~>"
|
|
67
66
|
- !ruby/object:Gem::Version
|
|
68
|
-
version: '
|
|
67
|
+
version: '0.7'
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: sassc
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - "~>"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '2.4'
|
|
75
|
+
type: :runtime
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '2.4'
|
|
69
82
|
description: Sass command line renderer with globbing import support
|
|
70
83
|
email: db@dannyben.com
|
|
71
84
|
executables:
|
|
@@ -84,8 +97,8 @@ files:
|
|
|
84
97
|
homepage: https://github.com/dannyben/sasstool
|
|
85
98
|
licenses:
|
|
86
99
|
- MIT
|
|
87
|
-
metadata:
|
|
88
|
-
|
|
100
|
+
metadata:
|
|
101
|
+
rubygems_mfa_required: 'true'
|
|
89
102
|
rdoc_options: []
|
|
90
103
|
require_paths:
|
|
91
104
|
- lib
|
|
@@ -93,15 +106,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
93
106
|
requirements:
|
|
94
107
|
- - ">="
|
|
95
108
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: 2
|
|
109
|
+
version: '3.2'
|
|
97
110
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
111
|
requirements:
|
|
99
112
|
- - ">="
|
|
100
113
|
- !ruby/object:Gem::Version
|
|
101
114
|
version: '0'
|
|
102
115
|
requirements: []
|
|
103
|
-
rubygems_version:
|
|
104
|
-
signing_key:
|
|
116
|
+
rubygems_version: 4.0.3
|
|
105
117
|
specification_version: 4
|
|
106
118
|
summary: Sass command line renderer
|
|
107
119
|
test_files: []
|