bridgetown-plugin-tailwindcss 0.1.1 → 0.1.12
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/Rakefile +5 -1
- data/bridgetown-plugin-tailwindcss.gemspec +4 -4
- data/lib/bridgetown-plugin-tailwindcss.rb +3 -3
- data/lib/bridgetown-plugin-tailwindcss/command.rb +149 -83
- data/lib/bridgetown-plugin-tailwindcss/utils.rb +42 -20
- data/lib/bridgetown-plugin-tailwindcss/version.rb +1 -1
- data/package.json +5 -5
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6907ae8359a1375066abb794044ba83dacd561ddfd981200134e9958b02e36dc
|
4
|
+
data.tar.gz: d6a1ba20c529991a1c8778b54c3de218dc6710f69070066b7a8a8ccb38e17851
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3cbc34000352ca5d2e28d5357ab44cde6c6f3d4971df7d7e9947272a45b955a516b720f5a05df82ea97e3dd8cecc2d615b4fccef37f7e30aa99f3246a77becf2
|
7
|
+
data.tar.gz: ccbd01c59e859158372c934a08024934f4943e154824bcc3a6f4b4739804d42f25c4bf6a59057e23b3e872578a74a6dee40c9d596e747fd997bb3106043e2cba
|
data/Rakefile
CHANGED
@@ -9,10 +9,14 @@ RSpec::Core::RakeTask.new(:spec)
|
|
9
9
|
task :default => :spec
|
10
10
|
task :test => :spec
|
11
11
|
|
12
|
-
task :
|
12
|
+
task :deploy do
|
13
13
|
Rake.sh "./script/release"
|
14
14
|
end
|
15
15
|
|
16
|
+
task :format do
|
17
|
+
Rake.sh "./script/fmt -a"
|
18
|
+
end
|
19
|
+
|
16
20
|
|
17
21
|
namespace :bump do
|
18
22
|
task :current do
|
@@ -5,10 +5,10 @@ require_relative "lib/bridgetown-plugin-tailwindcss/version"
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "bridgetown-plugin-tailwindcss"
|
7
7
|
spec.version = TailwindCss::VERSION
|
8
|
-
spec.author = "
|
9
|
-
spec.email = "
|
10
|
-
spec.summary = "
|
11
|
-
spec.homepage = "https://github.com/
|
8
|
+
spec.author = "Konnor Rogers"
|
9
|
+
spec.email = "konnor7414@gmail.com"
|
10
|
+
spec.summary = "A plugin to add tailwindcss to a site"
|
11
|
+
spec.homepage = "https://github.com/paramagicdev/bridgetown-plugin-tailwindcss"
|
12
12
|
spec.license = "MIT"
|
13
13
|
|
14
14
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r!^(test|script|spec|features|frontend)/!) }
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "bridgetown"
|
4
|
-
require
|
5
|
-
require
|
4
|
+
require "bridgetown-plugin-tailwindcss/command.rb"
|
5
|
+
require "bridgetown-plugin-tailwindcss/utils.rb"
|
6
6
|
|
7
7
|
Bridgetown::PluginManager.new_source_manifest(
|
8
|
-
origin: TailwindCss
|
8
|
+
origin: TailwindCss
|
9
9
|
)
|
@@ -1,104 +1,170 @@
|
|
1
|
-
|
2
|
-
require_relative 'utils'
|
1
|
+
# frozen_string_literal: true
|
3
2
|
|
4
|
-
|
5
|
-
|
3
|
+
require "bridgetown"
|
4
|
+
require_relative "utils"
|
6
5
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
c.description 'Initialize config for Tailwind'
|
12
|
-
# c.option 'path', '--path', 'Choose the path to install tailwind'
|
6
|
+
module Bridgetown
|
7
|
+
module Commands
|
8
|
+
class TailwindInit < Bridgetown::Command
|
9
|
+
ACTIONS = TailwindCss::Utils::Actions.new
|
13
10
|
|
14
|
-
|
15
|
-
|
11
|
+
class << self
|
12
|
+
def init_with_program(prog)
|
13
|
+
prog.command(:tailwind_init) do |c|
|
14
|
+
c.syntax "tailwind_init"
|
15
|
+
c.description "Initialize config for Tailwind"
|
16
|
+
# c.option 'path', '--path', 'Choose the path to install tailwind'
|
17
|
+
|
18
|
+
c.action do |_args, _options|
|
19
|
+
run
|
20
|
+
end
|
21
|
+
end
|
16
22
|
end
|
17
|
-
end
|
18
|
-
end
|
19
23
|
|
20
|
-
|
24
|
+
private
|
21
25
|
|
22
|
-
|
23
|
-
|
24
|
-
|
26
|
+
def run
|
27
|
+
write_files
|
28
|
+
end
|
25
29
|
|
30
|
+
def write_files
|
31
|
+
webpack_config = File.expand_path("webpack.config.js")
|
32
|
+
tailwind_config = File.expand_path("tailwind.config.js")
|
26
33
|
|
27
|
-
|
28
|
-
|
29
|
-
|
34
|
+
ACTIONS.create_file(webpack_config, webpack_file_contents)
|
35
|
+
ACTIONS.create_file(tailwind_config, tailwind_config_contents)
|
36
|
+
prepend_to_stylesheet
|
37
|
+
end
|
30
38
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
end
|
39
|
+
def prepend_to_stylesheet
|
40
|
+
frontend_stylesheet = File.join("frontend", "styles", "index.scss")
|
41
|
+
frontend_stylesheet = File.expand_path(frontend_stylesheet)
|
35
42
|
|
36
|
-
|
37
|
-
frontend_stylesheet = File.join("frontend", "styles", "index.scss")
|
38
|
-
frontend_stylesheet = File.expand_path(frontend_stylesheet)
|
43
|
+
return unless File.exist?(frontend_stylesheet)
|
39
44
|
|
40
|
-
|
45
|
+
ACTIONS.prepend_to_file(frontend_stylesheet, import_tailwind_contents)
|
46
|
+
end
|
41
47
|
|
42
|
-
|
43
|
-
|
48
|
+
def import_tailwind_contents
|
49
|
+
<<~IMPORT
|
50
|
+
@import 'tailwindcss/base';
|
51
|
+
@import 'tailwindcss/components';
|
52
|
+
@import 'tailwindcss/utilities';
|
44
53
|
|
45
|
-
|
46
|
-
|
47
|
-
@import 'tailwindcss/base';
|
48
|
-
@import 'tailwindcss/components';
|
49
|
-
@import 'tailwindcss/utilities';
|
50
|
-
IMPORT
|
51
|
-
end
|
54
|
+
IMPORT
|
55
|
+
end
|
52
56
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
57
|
+
def tailwind_config_contents
|
58
|
+
<<~TAILWIND
|
59
|
+
module.exports = {
|
60
|
+
purge: {
|
61
|
+
enabled: true,
|
62
|
+
content: ['./src/**/*.html'],
|
63
|
+
},
|
64
|
+
theme: {
|
65
|
+
extend: {},
|
66
|
+
},
|
67
|
+
variants: {},
|
68
|
+
plugins: [],
|
69
|
+
}
|
70
|
+
TAILWIND
|
71
|
+
end
|
72
|
+
|
73
|
+
def webpack_file_contents
|
74
|
+
<<~WEBPACK
|
75
|
+
const path = require("path");
|
76
|
+
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
|
77
|
+
const ManifestPlugin = require("webpack-manifest-plugin");
|
68
78
|
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
path.resolve(__dirname, "src/_includes"),
|
83
|
-
],
|
84
|
-
},
|
79
|
+
module.exports = {
|
80
|
+
entry: "./frontend/javascript/index.js",
|
81
|
+
devtool: "source-map",
|
82
|
+
// Set some or all of these to true if you want more verbose logging:
|
83
|
+
stats: {
|
84
|
+
modules: false,
|
85
|
+
builtAt: false,
|
86
|
+
timings: false,
|
87
|
+
children: false,
|
88
|
+
},
|
89
|
+
output: {
|
90
|
+
path: path.resolve(__dirname, "output", "_bridgetown", "static", "js"),
|
91
|
+
filename: "all.[contenthash].js",
|
85
92
|
},
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
93
|
+
resolve: {
|
94
|
+
extensions: [".js", ".jsx"],
|
95
|
+
},
|
96
|
+
plugins: [
|
97
|
+
new MiniCssExtractPlugin({
|
98
|
+
filename: "../css/all.[contenthash].css",
|
99
|
+
}),
|
100
|
+
new ManifestPlugin({
|
101
|
+
fileName: path.resolve(__dirname, ".bridgetown-webpack", "manifest.json"),
|
102
|
+
}),
|
103
|
+
],
|
104
|
+
module: {
|
105
|
+
rules: [
|
106
|
+
{
|
107
|
+
test: /\.(js|jsx)/,
|
108
|
+
use: {
|
109
|
+
loader: "babel-loader",
|
110
|
+
options: {
|
111
|
+
presets: ["@babel/preset-env"],
|
112
|
+
plugins: [
|
113
|
+
"@babel/plugin-proposal-class-properties",
|
114
|
+
[
|
115
|
+
"@babel/plugin-transform-runtime",
|
116
|
+
{
|
117
|
+
helpers: false,
|
118
|
+
},
|
119
|
+
],
|
120
|
+
],
|
121
|
+
},
|
122
|
+
},
|
123
|
+
},
|
124
|
+
{
|
125
|
+
test: /\.(s[ac]|c)ss$/,
|
126
|
+
use: [
|
127
|
+
MiniCssExtractPlugin.loader,
|
128
|
+
"css-loader",
|
129
|
+
{
|
130
|
+
loader: "sass-loader",
|
131
|
+
options: {
|
132
|
+
sassOptions: {
|
133
|
+
includePaths: [
|
134
|
+
path.resolve(__dirname, "src/_components"),
|
135
|
+
path.resolve(__dirname, "src/_includes"),
|
136
|
+
],
|
137
|
+
},
|
138
|
+
},
|
139
|
+
},
|
140
|
+
],
|
141
|
+
},
|
142
|
+
{
|
143
|
+
loader: "postcss-loader",
|
144
|
+
options: {
|
145
|
+
ident: "postcss",
|
146
|
+
plugins: [
|
147
|
+
require("postcss-import"),
|
148
|
+
require("tailwindcss"),
|
149
|
+
require("autoprefixer"),
|
150
|
+
],
|
151
|
+
},
|
152
|
+
},
|
153
|
+
{
|
154
|
+
test: /\.woff2?$|\.ttf$|\.eot$|\.svg$/,
|
155
|
+
loader: "file-loader",
|
156
|
+
options: {
|
157
|
+
outputPath: "../fonts",
|
158
|
+
publicPath: "../fonts",
|
159
|
+
},
|
160
|
+
},
|
95
161
|
],
|
96
162
|
},
|
97
|
-
}
|
98
|
-
|
99
|
-
|
100
|
-
|
163
|
+
};
|
164
|
+
|
165
|
+
WEBPACK
|
166
|
+
end
|
167
|
+
end
|
101
168
|
end
|
102
169
|
end
|
103
170
|
end
|
104
|
-
|
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "thor"
|
2
4
|
|
3
5
|
module TailwindCss
|
4
6
|
module Utils
|
@@ -10,9 +12,14 @@ module TailwindCss
|
|
10
12
|
class Bump < Thor
|
11
13
|
include Thor::Actions
|
12
14
|
|
13
|
-
|
15
|
+
RUBY_VERSION_REGEX = %r!(.*VERSION.?=.*)!.freeze
|
16
|
+
NPM_VERSION_REGEX = %r!(.*"version":.*)!.freeze
|
17
|
+
VERSION_LINE = Regexp.union(RUBY_VERSION_REGEX, NPM_VERSION_REGEX)
|
18
|
+
VERSION_REGEX = %r!(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)!.freeze
|
19
|
+
GSUB_REGEX = %r!(?<version>#{VERSION_LINE})#{VERSION_REGEX}!.freeze
|
14
20
|
|
15
|
-
|
21
|
+
# rubocop:disable Metrics/BlockLength
|
22
|
+
no_commands do
|
16
23
|
def current_version
|
17
24
|
VERSION
|
18
25
|
end
|
@@ -20,44 +27,58 @@ module TailwindCss
|
|
20
27
|
def bump_version_to_string(string)
|
21
28
|
say("Bumping from #{VERSION} to #{string}", :red)
|
22
29
|
|
30
|
+
match = GSUB_REGEX.match(File.read(file))
|
31
|
+
gsub_string = "#{match[:version]}#{string}"
|
23
32
|
version_files.each do |file|
|
24
|
-
gsub_file(file,
|
33
|
+
gsub_file(file, GSUB_REGEX, gsub_string)
|
25
34
|
end
|
26
35
|
end
|
27
36
|
|
28
|
-
def bump_version(type, version: VERSION
|
29
|
-
say(version_change(type, version: version
|
30
|
-
|
37
|
+
def bump_version(type, version: VERSION)
|
38
|
+
say(version_change(type, version: version), :red)
|
31
39
|
|
32
40
|
version_files.each do |file|
|
33
|
-
|
34
|
-
|
41
|
+
match = GSUB_REGEX.match(File.read(file))
|
42
|
+
gsub_string = "#{match[:version]}#{to_version(type, version: version)}"
|
43
|
+
|
44
|
+
gsub_file(file, GSUB_REGEX,
|
45
|
+
gsub_string)
|
35
46
|
end
|
36
47
|
end
|
37
48
|
|
38
49
|
private
|
39
50
|
|
51
|
+
def gsub_match(file)
|
52
|
+
GSUB_REGEX.match(File.read(file))
|
53
|
+
end
|
54
|
+
|
40
55
|
def version_files
|
41
|
-
|
42
|
-
|
56
|
+
package_json = File.expand_path("package.json")
|
57
|
+
version_file = File.expand_path(File.join(__dir__, "version.rb"))
|
43
58
|
|
44
|
-
[
|
59
|
+
[package_json, version_file]
|
45
60
|
end
|
46
61
|
|
47
|
-
|
62
|
+
# ef version_replacement
|
63
|
+
# match = GSUB_REGEX.match(File.readlines
|
64
|
+
# end
|
65
|
+
|
66
|
+
def to_version(type, version: nil)
|
48
67
|
from = version
|
49
68
|
match = VERSION_REGEX.match(from)
|
50
69
|
|
51
70
|
groups = {
|
52
71
|
major: match[:major],
|
53
72
|
minor: match[:minor],
|
54
|
-
patch: match[:patch]
|
73
|
+
patch: match[:patch],
|
55
74
|
}
|
56
75
|
|
57
|
-
|
58
|
-
|
76
|
+
unless groups.key?(type)
|
77
|
+
raise "\nYou gave #{type} but the only accepted types are
|
78
|
+
#{groups.keys}"
|
79
|
+
end
|
59
80
|
|
60
|
-
groups[type] =
|
81
|
+
groups[type] = (groups[type].to_i + 1).to_s
|
61
82
|
|
62
83
|
bump_to_zero(type, groups)
|
63
84
|
|
@@ -74,10 +95,11 @@ module TailwindCss
|
|
74
95
|
groups[:minor] = "0"
|
75
96
|
end
|
76
97
|
|
77
|
-
def version_change(type, version: nil
|
78
|
-
"Bumping from #{version} to #{to_version(type, version: version
|
98
|
+
def version_change(type, version: nil)
|
99
|
+
"Bumping from #{version} to #{to_version(type, version: version)}"
|
79
100
|
end
|
80
|
-
|
101
|
+
end
|
102
|
+
# rubocop:enable Metrics/BlockLength
|
81
103
|
end
|
82
104
|
end
|
83
105
|
end
|
data/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "bridgetown-plugin-tailwindcss",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.12",
|
4
4
|
"main": "frontend/javascript/index.js",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
@@ -13,9 +13,9 @@
|
|
13
13
|
"files": [
|
14
14
|
"frontend"
|
15
15
|
],
|
16
|
-
"
|
17
|
-
"postcss-import": "^0.1
|
18
|
-
"postcss-loader": "^0.
|
19
|
-
"tailwindcss": "^
|
16
|
+
"dependencies": {
|
17
|
+
"postcss-import": "^12.0.1",
|
18
|
+
"postcss-loader": "^3.0.0",
|
19
|
+
"tailwindcss": "^1.4.6"
|
20
20
|
}
|
21
21
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bridgetown-plugin-tailwindcss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- Konnor Rogers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-06-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bridgetown
|
@@ -115,7 +115,7 @@ dependencies:
|
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: '0.2'
|
117
117
|
description:
|
118
|
-
email:
|
118
|
+
email: konnor7414@gmail.com
|
119
119
|
executables: []
|
120
120
|
extensions: []
|
121
121
|
extra_rdoc_files: []
|
@@ -136,11 +136,11 @@ files:
|
|
136
136
|
- package.json
|
137
137
|
- tags
|
138
138
|
- yarn.lock
|
139
|
-
homepage: https://github.com/
|
139
|
+
homepage: https://github.com/paramagicdev/bridgetown-plugin-tailwindcss
|
140
140
|
licenses:
|
141
141
|
- MIT
|
142
142
|
metadata:
|
143
|
-
yarn-add: bridgetown-plugin-tailwindcss@0.1.
|
143
|
+
yarn-add: bridgetown-plugin-tailwindcss@0.1.12
|
144
144
|
post_install_message:
|
145
145
|
rdoc_options: []
|
146
146
|
require_paths:
|
@@ -159,5 +159,5 @@ requirements: []
|
|
159
159
|
rubygems_version: 3.0.3
|
160
160
|
signing_key:
|
161
161
|
specification_version: 4
|
162
|
-
summary:
|
162
|
+
summary: A plugin to add tailwindcss to a site
|
163
163
|
test_files: []
|