sewing_kit 0.27.2 → 0.27.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/README.md +6 -1
- data/lib/sewing_kit/version.rb +1 -1
- data/lib/sewing_kit/webpack/compiler.rb +4 -0
- data/lib/sewing_kit/webpack/manifest.rb +0 -19
- data/lib/sewing_kit/webpack/manifest/base.rb +2 -0
- data/lib/sewing_kit/webpack/webpack.rb +29 -0
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 54caa1fe8a4c60c1040e465c857f5d255c111964
|
4
|
+
data.tar.gz: 80662d8a0a5c5995ab9a4294ff2ee3b002aa759a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 69db1d5bb726b8dd4189175b1556f5b053688f5a7252a26f990d10e09a58c3e3843afab12e83704e8118c7db12a5fd18ba18fd361c53ccda241cd6602bda2708
|
7
|
+
data.tar.gz: 57cce427b05e3de2b2b795ad0ef0cf7bc137b927f4a9121a5c64915cc6d8bbf77bdefbe04a2c616006f3eeb4151ae95ce85364a97eed1e0edb68d2ce86937289
|
data/README.md
CHANGED
@@ -28,7 +28,7 @@ sewing_kit looks for JavaScript in `app/ui/index.js`. The code in `index.js` (a
|
|
28
28
|
The `main` bundle is imported into `erb` files using Rails helpers:
|
29
29
|
|
30
30
|
```erb
|
31
|
-
<%= sewing_kit_link_tag *sewing_kit_assets('main') %>
|
31
|
+
<%= sewing_kit_link_tag *sewing_kit_assets('main', extension: 'css') %>
|
32
32
|
<%= sewing_kit_script_tag *sewing_kit_assets('main') %>
|
33
33
|
```
|
34
34
|
|
@@ -82,6 +82,11 @@ A typical Polaris app will use React to render views and components. The follow
|
|
82
82
|
└── Home.js
|
83
83
|
```
|
84
84
|
|
85
|
+
## Which version of sewing-kit can I use?
|
86
|
+
Assume that the sewing_kit gem's latest minor version requires _at least_ the same minor version of the sewing-kit package.
|
87
|
+
|
88
|
+
If sewing-kit makes a breaking change, this gem's minor version will be bumped to match the required sewing-kit version.
|
89
|
+
|
85
90
|
## Transitioning from sprockets-commoner
|
86
91
|
It is currently not recommended to use `sprockets-commoner` and `sewing_kit` in the same project.
|
87
92
|
Minimally, it is required that the project does not have its own `babel-*` libraries that `sewing-kit` currently has as [dependencies](https://github.com/Shopify/sewing-kit/blob/master/package.json#L97~L102).
|
data/lib/sewing_kit/version.rb
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
require 'sewing_kit/webpack/webpack'
|
3
|
+
|
2
4
|
module SewingKit
|
3
5
|
module Webpack
|
4
6
|
class Compiler
|
5
7
|
def compile
|
8
|
+
raise NodeSewingKitNotRunnable, node_env unless File.exist?('node_modules/.bin/sewing-kit')
|
9
|
+
|
6
10
|
result = Kernel.system(
|
7
11
|
{ 'NODE_ENV' => node_env },
|
8
12
|
*command,
|
@@ -6,25 +6,6 @@ module SewingKit
|
|
6
6
|
module Webpack
|
7
7
|
# Webpack manifest loading, caching & entry point retrieval
|
8
8
|
class Manifest
|
9
|
-
# Raised if the node sewing-kit isn't installed/runnable.
|
10
|
-
class NodeSewingKitNotRunnable < StandardError
|
11
|
-
def initialize(mode, cause)
|
12
|
-
env_message = if 'production' == mode
|
13
|
-
"\nIf this is a container build, try:\n" \
|
14
|
-
" - Adding `YARN_PRODUCTION=false` to your pipeline's environment variables\n" \
|
15
|
-
" - Adding the node buildpack: https://github.com/heroku/heroku-buildpack-nodejs"
|
16
|
-
else
|
17
|
-
"Try `yarn add --dev @shopify/sewing-kit`"
|
18
|
-
end
|
19
|
-
|
20
|
-
super(
|
21
|
-
"Could not fetch manifest because node sewing-kit is not runnable. " \
|
22
|
-
"#{env_message}\n" \
|
23
|
-
"Original error #{cause}"
|
24
|
-
)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
9
|
class NodeSewingKitManifestMissing < StandardError
|
29
10
|
def initialize(mode, node_error_message)
|
30
11
|
env_message = if 'production' == mode
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
def highlight(message)
|
4
|
+
"\u001b[1m\u001b[37m#{message}\u001b[39m\u001b[22m"
|
5
|
+
end
|
6
|
+
|
7
|
+
module SewingKit
|
8
|
+
module Webpack
|
9
|
+
# Raised if the node sewing-kit isn't installed/runnable.
|
10
|
+
class NodeSewingKitNotRunnable < StandardError
|
11
|
+
def initialize(mode, cause = nil)
|
12
|
+
env_message = if 'development' == mode
|
13
|
+
"Try `yarn add --dev @shopify/sewing-kit`"
|
14
|
+
else
|
15
|
+
"\nIf this is a container build, try:\n" \
|
16
|
+
" - Adding #{highlight('https://github.com/heroku/heroku-buildpack-nodejs')} to your " \
|
17
|
+
"#{highlight('.buildpacks')} file\n" \
|
18
|
+
" - Adding #{highlight('YARN_PRODUCTION=false')} to your pipeline's environment variables\n" \
|
19
|
+
end
|
20
|
+
|
21
|
+
super(
|
22
|
+
"sewing-kit is not runnable.\n" \
|
23
|
+
"#{env_message}\n" +
|
24
|
+
(cause ? "Original error #{cause}" : '')
|
25
|
+
)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sewing_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.27.
|
4
|
+
version: 0.27.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Sauve
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -85,6 +85,7 @@ files:
|
|
85
85
|
- lib/sewing_kit/webpack/manifest/base.rb
|
86
86
|
- lib/sewing_kit/webpack/manifest/development.rb
|
87
87
|
- lib/sewing_kit/webpack/manifest/production.rb
|
88
|
+
- lib/sewing_kit/webpack/webpack.rb
|
88
89
|
- lib/tasks/sewing_kit.rake
|
89
90
|
homepage:
|
90
91
|
licenses:
|
@@ -109,5 +110,5 @@ rubyforge_project:
|
|
109
110
|
rubygems_version: 2.6.14
|
110
111
|
signing_key:
|
111
112
|
specification_version: 4
|
112
|
-
summary: Shopify
|
113
|
+
summary: Shopify's modern front-end tooling, nicely packaged for Rails
|
113
114
|
test_files: []
|