sewing_kit 0.122.1 → 0.123.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c35fc352107f7ecbb619a6009058eb25612d7d7efd4ed545799db01c7cc4f7c6
4
- data.tar.gz: 50185d9023bcca21c9a7786eb4ccbe8cda808869f70233feae7aeeca41444d26
3
+ metadata.gz: ad8a311afdf9ea5efa60527866ac02247e3c91189a636aa78c9dde602f304e0f
4
+ data.tar.gz: 65e3897e31a73ae2ec5b3756672a35ccfda44df1d3cffa22a7473193aaf40b3a
5
5
  SHA512:
6
- metadata.gz: 3da3fdace73c7260722287173e69c5c21efa9318503f02a6e56948a301e5bedb2747492003e262f6569d314ec63f4de6d07b65ac92a287c6a8aeae37c924afb4
7
- data.tar.gz: 7d360097fbc3f400e21d7147c1f60d6735c6a5939073b8e7bbb721cd6aee12ce142a2c8b5c2d904120768d2746aeae859c8d0e08963b29d8149cd66a8dc461bc
6
+ metadata.gz: 9c0706c23cb462eb4240def360fcfc0d2afd158f3b3db2846290ddcbea176ea94b00ec3a9cbf2471c372ea8cef7668a625bb55fca2f0e8429c8514ee59cc2d65
7
+ data.tar.gz: d255523fbb50e830708ac1dfaec86aede73ab3b815e0653627cf51488c16f25a234effceea37b177dd9cb28d46a30fa4bff5c7c4160820c7d610eff2796d1ea4
data/README.md CHANGED
@@ -19,6 +19,12 @@ yarn
19
19
  dev up
20
20
  ```
21
21
 
22
+ ### Run generator
23
+
24
+ `rails generate sewing_kit:install`
25
+
26
+ will generate a package.json file with common sewing-kit script tasks, default lint, format configuration; a sewing-kit configuration file, and other project default configurations.
27
+
22
28
  ### Add JavaScript
23
29
 
24
30
  sewing_kit looks for JavaScript in `app/ui/index.js`. The code in `index.js` (and any imported JS/CSS) will be built into a `main` bundle.
@@ -146,7 +152,7 @@ If sewing-kit makes a breaking change, this gem's minor version will be bumped t
146
152
 
147
153
  By moving everything into `package.json#dependencies`. This is necessary because Rails 5.2 prunes `devDependencies` during asset compilation.
148
154
 
149
- ### How can I test a production verison of my changes?
155
+ ### How can I test a production version of my changes?
150
156
 
151
157
  Ideally, by deploying to a `staging` environment. If that is not possible, a production-like local development experience is available via:
152
158
 
@@ -176,3 +182,15 @@ SewingKit.configure do |config|
176
182
  config.log_level = :warn # may be `:inherit`, `:debug`, `:info`, `:warn`, or `:error`
177
183
  end
178
184
  ```
185
+
186
+ ### How do I run sewing-kit in debug mode?
187
+
188
+ You can launch sewing-kit in debug mode by setting the `SK_DEBUG` environment flag.
189
+
190
+ ```bash
191
+ $ SK_DEBUG=1 dev run
192
+ ```
193
+
194
+ This runs your rails app with the sewing-kit development server in debug mode. This is useful for when you want to debug sewing-kit from a rails app.
195
+
196
+ Tip: Install the [Node.js V8 --inspector Manager (NiM)](https://chrome.google.com/webstore/detail/nodejs-v8-inspector-manag/gnhhdgbaldcilmgcpfddgdbkhjohddkj?hl=en) Chrome extension. This will launch a chrome debugger automatically for you.
@@ -0,0 +1,5 @@
1
+ Description:
2
+ This generator creates a sewing-kit config file.
3
+
4
+ Example:
5
+ rails generate sewing_kit:install
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module SewingKit
4
+ class InstallGenerator < Rails::Generators::Base
5
+ source_root File.expand_path('templates', __dir__)
6
+
7
+ desc "This generator creates a sewing-kit config file."
8
+
9
+ def initialize(args, *options)
10
+ @application_name = Rails.application.class.module_parent.to_s.underscore
11
+ super(args, *options)
12
+ end
13
+
14
+ def create_package_json
15
+ package_json_path = "package.json"
16
+
17
+ copy_file(package_json_path)
18
+ gsub_file(package_json_path, "\${application_name}", @application_name)
19
+ end
20
+
21
+ def create_sk_config
22
+ sk_config_path = "config/sewing-kit.config.ts"
23
+
24
+ copy_file("sewing-kit.config.ts", sk_config_path)
25
+ gsub_file(sk_config_path, "\${application_name}", @application_name)
26
+ end
27
+
28
+ def create_config_files
29
+ copy_file("editorconfig", ".editorconfig")
30
+ copy_file("eslintignore", ".eslintignore")
31
+ copy_file("prettierignore", ".prettierignore")
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,15 @@
1
+ # editorconfig.org
2
+ root = true
3
+
4
+ [*]
5
+ charset = utf-8
6
+ indent_size = 2
7
+ indent_style = space
8
+ insert_final_newline = true
9
+ trim_trailing_whitespace = true
10
+
11
+ # Markdown syntax specifies that trailing whitespaces can be meaningful,
12
+ # so let’s not trim those. e.g. 2 trailing spaces = linebreak (<br />)
13
+ # See https://daringfireball.net/projects/markdown/syntax#p
14
+ [*.md]
15
+ trim_trailing_whitespace = false
@@ -0,0 +1,2 @@
1
+ node_modules
2
+ build
@@ -0,0 +1,31 @@
1
+ {
2
+ "name": "${application_name}",
3
+ "private": true,
4
+ "sideEffects": false,
5
+ "scripts": {
6
+ "dev": "sewing-kit dev",
7
+ "check": "sewing-kit check",
8
+ "lint": "sewing-kit lint",
9
+ "type-check": "sewing-kit type-check",
10
+ "nuke": "sewing-kit nuke",
11
+ "test": "sewing-kit test"
12
+ },
13
+ "eslintConfig": {
14
+ "extends": [
15
+ "plugin:@shopify/typescript",
16
+ "plugin:@shopify/react",
17
+ "plugin:@shopify/prettier",
18
+ "plugin:@shopify/jest",
19
+ "plugin:@shopify/polaris"
20
+ ]
21
+ },
22
+ "prettier": "@shopify/prettier-config",
23
+ "stylelint": {
24
+ "extends": [
25
+ "@shopify/stylelint-plugin/prettier"
26
+ ]
27
+ },
28
+ "resolutions": {
29
+ "babel-plugin-dynamic-import-node": "2.3.0"
30
+ }
31
+ }
@@ -0,0 +1,7 @@
1
+ package.json
2
+ .sewing-kit
3
+ .dev
4
+ node_modules
5
+ tmp
6
+ public
7
+ *.svg
@@ -0,0 +1,11 @@
1
+ /* eslint-env node */
2
+
3
+ import {Plugins} from '@shopify/sewing-kit';
4
+
5
+ export default function sewingKitConfig(plugins: Plugins) {
6
+ return {
7
+ name: "${application_name}",
8
+ plugins: [
9
+ ],
10
+ };
11
+ }
@@ -1,15 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  require 'rails'
3
3
  require 'rails/railtie'
4
- begin
5
- # Force assets:precompile to be defined before sewing_kit's railtie tries to
6
- # extend it.
7
- require "sprockets/railtie" if defined? Rails
8
- # rubocop:disable Lint/HandleExceptions
9
- rescue
10
- #
11
- end
12
- # rubocop:enable Lint/HandleExceptions
4
+
13
5
  require 'sewing_kit/webpack/compiler'
14
6
  require 'sewing_kit/webpack/helper'
15
7
  require 'sewing_kit/webpack/dev'
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module SewingKit
3
- VERSION = "0.122.1"
3
+ VERSION = "0.123.0"
4
4
  end
@@ -14,8 +14,10 @@ namespace :sewing_kit do
14
14
  end
15
15
  end
16
16
 
17
- if Rake::Task.task_defined?('assets:precompile')
18
- Rake::Task['assets:precompile'].enhance do
17
+ if Rake::Task.task_defined?("assets:precompile")
18
+ Rake::Task["assets:precompile"].enhance do
19
19
  Rake::Task['sewing_kit:build'].invoke
20
20
  end
21
+ else
22
+ Rake::Task.define_task("assets:precompile" => %w(sewing_kit:build))
21
23
  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.122.1
4
+ version: 0.123.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Sauve
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-17 00:00:00.000000000 Z
11
+ date: 2020-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: railties
@@ -102,6 +102,13 @@ extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
104
  - README.md
105
+ - lib/generators/sewing_kit/USAGE
106
+ - lib/generators/sewing_kit/install_generator.rb
107
+ - lib/generators/sewing_kit/templates/editorconfig
108
+ - lib/generators/sewing_kit/templates/eslintignore
109
+ - lib/generators/sewing_kit/templates/package.json
110
+ - lib/generators/sewing_kit/templates/prettierignore
111
+ - lib/generators/sewing_kit/templates/sewing-kit.config.ts
105
112
  - lib/hacks/user_agent_parser.rb
106
113
  - lib/sewing_kit.rb
107
114
  - lib/sewing_kit/configuration.rb