rake_npm 0.1.0.pre.8 → 0.1.0.pre.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: de873fed8319a4bbb3c453cd4321b287e38c9b22534b8a0db777962b25e639ca
4
- data.tar.gz: 831a84ac0a97d43759189190a095d019f30994032a9ecc7a19c41de3be96ae66
3
+ metadata.gz: bcbfd303e9c9ba8ee3564f3dd8e8cd9f02daaf074b59e66db64e8efe9d495674
4
+ data.tar.gz: fcf29130503636a353948a0dfaefa75ae805c3f63c64133cbdfcf62feddb553d
5
5
  SHA512:
6
- metadata.gz: fa7bd402aa4ec927672082151833fa8ccbbf816194d10a06940eb71c77a6d1fea3992af12e4cd131027277cc9673a4a4a6d9d401f873d37e92899c63ff553b5b
7
- data.tar.gz: 82e87f14da0e9580c4bc2bd0418f20a9114198c94b826c9c62afd865a3741b3a1c51a506e3de06ea494b5c188dbd97226ebedb8d5545b34a6503fe0183dc54d9
6
+ metadata.gz: bcaf382a7a8a9275029fc7baeb3339b79da0d7f6cc034a7ba3138c7262d50710e1097f9847f9f1b6febbfd832785aa462494636dfa6597c1d090f4fc001b910e
7
+ data.tar.gz: f9e5959168e78a8b7c9cbcbaaf493a3be907fdcb903ba78ae8aff7534e6f4965c561a07177f2e1c81853c8734a8d2ca6f4f7a45b10c08546702153ce226ccd64
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_npm (0.1.0.pre.8)
4
+ rake_npm (0.1.0.pre.10)
5
5
  colored2 (~> 3.1)
6
6
  rake_dependencies (~> 3.1)
7
7
  rake_factory (~> 0.23)
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module RakeNPM
4
+ module Mixins
5
+ module Directoried
6
+ def in_directory(directory, &block)
7
+ if directory
8
+ Dir.chdir(directory, &block)
9
+ else
10
+ block.call
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -3,9 +3,13 @@
3
3
  require 'rake_factory'
4
4
  require 'ruby_npm'
5
5
 
6
+ require_relative '../mixins/directoried'
7
+
6
8
  module RakeNPM
7
9
  module Tasks
8
10
  class Install < RakeFactory::Task
11
+ include Mixins::Directoried
12
+
9
13
  default_name :install
10
14
  default_description(RakeFactory::DynamicValue.new do |_t|
11
15
  'Install NPM dependencies'
@@ -15,13 +19,28 @@ module RakeNPM
15
19
  parameter :fund, default: false
16
20
  parameter :audit, default: true
17
21
 
22
+ parameter :directory
23
+
24
+ parameter :environment, default: {}
25
+
18
26
  action do |task|
19
- puts 'Installing NPM dependencies...'
20
- RubyNPM.install(
21
- color: task.color,
22
- fund: task.fund,
23
- audit: task.audit
27
+ logged_directory = task.directory || '.'
28
+ puts(
29
+ 'Installing NPM dependencies ' \
30
+ "in directory: '#{logged_directory}'..."
24
31
  )
32
+ in_directory(task.directory) do
33
+ RubyNPM.install(
34
+ {
35
+ color: task.color,
36
+ fund: task.fund,
37
+ audit: task.audit
38
+ },
39
+ {
40
+ environment: task.environment
41
+ }
42
+ )
43
+ end
25
44
  end
26
45
  end
27
46
  end
@@ -3,21 +3,46 @@
3
3
  require 'rake_factory'
4
4
  require 'ruby_npm'
5
5
 
6
+ require_relative '../mixins/directoried'
7
+
6
8
  module RakeNPM
7
9
  module Tasks
8
10
  class RunScript < RakeFactory::Task
11
+ include Mixins::Directoried
12
+
9
13
  default_name :run_script
10
14
  default_description(RakeFactory::DynamicValue.new do |t|
11
15
  "Runs the NPM #{t.script} script"
12
16
  end)
13
17
 
14
18
  parameter :script, required: true
19
+ parameter :arguments
20
+
21
+ parameter :color, default: 'always'
22
+
23
+ parameter :environment, default: {}
24
+
25
+ parameter :directory
15
26
 
16
27
  action do |task|
17
- puts "Running NPM script: '#{task.script}'..."
18
- RubyNPM.run_script(
19
- script: task.script
28
+ logged_directory = task.directory || '.'
29
+ puts(
30
+ "Running NPM script: '#{task.script}' " \
31
+ "in directory: '#{logged_directory}'..."
20
32
  )
33
+
34
+ in_directory(task.directory) do
35
+ RubyNPM.run_script(
36
+ {
37
+ script: task.script,
38
+ arguments: task.arguments,
39
+ color: task.color
40
+ },
41
+ {
42
+ environment: task.environment
43
+ }
44
+ )
45
+ end
21
46
  end
22
47
  end
23
48
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RakeNPM
4
- VERSION = '0.1.0.pre.8'
4
+ VERSION = '0.1.0.pre.10'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_npm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre.8
4
+ version: 0.1.0.pre.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - InfraBlocks Maintainers
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-01-02 00:00:00.000000000 Z
11
+ date: 2023-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colored2
@@ -279,6 +279,7 @@ files:
279
279
  - bin/console
280
280
  - bin/setup
281
281
  - lib/rake_npm.rb
282
+ - lib/rake_npm/mixins/directoried.rb
282
283
  - lib/rake_npm/task_sets.rb
283
284
  - lib/rake_npm/task_sets/npm.rb
284
285
  - lib/rake_npm/tasks.rb