bowerfresh 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 74736ff96d1adb8db443d6ce5da2c6fa579f2e51
4
+ data.tar.gz: 703042af67e2d0735d663df69c06efdcfaef8e51
5
+ SHA512:
6
+ metadata.gz: 6efc2efc29d730bf886466d04aa712541bf497ed9d6a03ad4a40e4028fb6586c7c8e26abd7056433606fa6703c959170c445dac4d2bf5ecda00c7c4ad1ff9ec5
7
+ data.tar.gz: 38ea8fb5eb5cc067dcfcf099281167e68f92e53c31689ff6c6816fb9ee319c39163b80a76e73d876a771bf9d2c9eeece7def0328458d180d8b77dc8747db0dee
data/.bowerrc ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "directory": "bower_components"
3
+ }
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ bower_components/
2
+ node_modules/
3
+ .idea/
4
+ bowerfresh-*
data/README.md ADDED
@@ -0,0 +1,25 @@
1
+ bowerfresh
2
+ ==========
3
+
4
+ Purpose is to make sure some dependencies (especially gitrepo's (master)) are always fresh.
5
+ It does this by:
6
+
7
+ - cleaning bower cache
8
+ - uninstalling the dependencies
9
+
10
+ To uilize bowerfresh add the **sofresh** property. See [this bower file](./bower.json).
11
+ Then in your buidl routine (package.json or something), do a preinstall and run bowerfresh.
12
+
13
+ bower.json (add to)
14
+ ```
15
+ "sofresh": [
16
+ "dep1",
17
+ "dep2"
18
+ ]
19
+ ```
20
+ preinstall in package.json as an example
21
+ ```
22
+ "scripts": {
23
+ "preinstall": "bowerfresh",
24
+ },
25
+ ```
data/bin/bowerfresh ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ require('../index.js');
data/bin/bowerfreshrb ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require_relative '../index.rb'
data/bower.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "bowerfresh",
3
+ "main": "index.js",
4
+ "version": "0.0.0",
5
+ "homepage": "https://github.com/nmccready/bowerfresh",
6
+ "authors": [
7
+ "Nick McCready <nmccready@gmail.com>"
8
+ ],
9
+ "description": "test",
10
+ "license": "MIT",
11
+ "private": true,
12
+ "sofresh": [
13
+ "ns2"
14
+ ],
15
+ "dependencies": {
16
+ "ns2": "~1.0.3"
17
+ }
18
+ }
@@ -0,0 +1,13 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = 'bowerfresh'
3
+ s.version = '0.0.1'
4
+ s.summary = "keep bower dependencies fresh"
5
+ s.description = "keep bower dependencies fresh"
6
+ s.authors = ["Nick McCready"]
7
+ s.email = 'nemtcan@gmail.com'
8
+ s.files = `git ls-files`.split($\)
9
+ s.executables = ["bowerfreshrb"]
10
+ s.homepage = 'https://github.com/nmccready/bowerfresh'
11
+ s.license = 'MIT'
12
+ s.require_paths = ["/"]
13
+ end
data/index.js ADDED
@@ -0,0 +1,14 @@
1
+ var fs = require('fs');
2
+ var sh = require('execSync')
3
+
4
+ var str = fs.readFileSync('bower.json', 'utf8');
5
+ // console.log(str);
6
+ var bowerObj = JSON.parse(str);
7
+
8
+ commands = ["bower uninstall", "bower cache clean"];
9
+ bowerObj["sofresh"].forEach(function(dep) {
10
+ commands.forEach(function(cmd) {
11
+ run = cmd + ' ' + dep;
12
+ console.log(sh.exec(run).stdout);
13
+ });
14
+ });
data/index.rb ADDED
@@ -0,0 +1,13 @@
1
+ require 'json'
2
+
3
+ str = File.read 'bower.json'
4
+ # puts str
5
+ bowerObj = JSON.parse(str)
6
+
7
+ commands = ["bower uninstall","bower cache clean"]
8
+ bowerObj["sofresh"].each do |dep|
9
+ commands.each do |cmd|
10
+ run="#{cmd} #{dep}"
11
+ puts `#{run}`
12
+ end
13
+ end
data/package.json ADDED
@@ -0,0 +1,32 @@
1
+ {
2
+ "name": "bowerfresh",
3
+ "version": "0.0.1",
4
+ "description": "keep bower dependencies fresh",
5
+ "main": "./bin/bowerfresh",
6
+ "scripts": {
7
+ "start": "./bin/bowerfresh",
8
+ "test": "mocha spec/*_spec.js; rspec;",
9
+ "ruby": "./bin/bowerfreshrb"
10
+ },
11
+ "bin": {
12
+ "bowerfresh": "./bin/bowerfresh"
13
+ },
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "https://github.com/nmccready/bowerfresh.git"
17
+ },
18
+ "keywords": [
19
+ "bower",
20
+ "fresh",
21
+ "dependencies"
22
+ ],
23
+ "author": "Nicholas McCready",
24
+ "license": "MIT",
25
+ "bugs": {
26
+ "url": "https://github.com/nmccready/bowerfresh/issues"
27
+ },
28
+ "homepage": "https://github.com/nmccready/bowerfresh",
29
+ "dependencies": {
30
+ "execSync": "^1.0.2"
31
+ }
32
+ }
data/spec/main_spec.js ADDED
@@ -0,0 +1,19 @@
1
+ var fs = require('fs');
2
+ var sh = require('execSync');
3
+ var assert = require('assert');
4
+
5
+ describe('bowerfresh index.js', function() {
6
+ beforeEach(function() {
7
+ sh.run('bower install');
8
+ assert(fs.existsSync('bower_components/ns2/bower.json'));
9
+ });
10
+ it("should remove dependency", function() {
11
+ require('../index.js')
12
+ assert.notEqual(fs.existsSync('bower_components/ns2/bower.json'));
13
+ });
14
+ it("should remove dependency from cache", function() {
15
+ require('../index.js')
16
+ var out = sh.exec('bower cache list | grep ns2').stdout;
17
+ assert(out, '');
18
+ });
19
+ });
data/spec/main_spec.rb ADDED
@@ -0,0 +1,18 @@
1
+ describe 'bowerfresh index.rb' do
2
+ before do
3
+ puts `bower install`
4
+ expect( File.exist? 'bower_components/ns2/bower.json').to be
5
+ end
6
+
7
+ it "should remove dependency" do
8
+ `'./bin/bowerfreshrb'`
9
+ expect(File.exist? 'bower_components/ns2/bower.json').to_not be
10
+ end
11
+
12
+ it "should remove dependency from cache" do
13
+ `'./bin/bowerfreshrb'`
14
+ out = `bower cache list | grep ns2'1`
15
+ puts out
16
+ expect(out).to eql('')
17
+ end
18
+ end
metadata ADDED
@@ -0,0 +1,56 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bowerfresh
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Nick McCready
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-10-16 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: keep bower dependencies fresh
14
+ email: nemtcan@gmail.com
15
+ executables:
16
+ - bowerfreshrb
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - ".bowerrc"
21
+ - ".gitignore"
22
+ - README.md
23
+ - bin/bowerfresh
24
+ - bin/bowerfreshrb
25
+ - bower.json
26
+ - bowerfresh.gemspec
27
+ - index.js
28
+ - index.rb
29
+ - package.json
30
+ - spec/main_spec.js
31
+ - spec/main_spec.rb
32
+ homepage: https://github.com/nmccready/bowerfresh
33
+ licenses:
34
+ - MIT
35
+ metadata: {}
36
+ post_install_message:
37
+ rdoc_options: []
38
+ require_paths:
39
+ - "/"
40
+ required_ruby_version: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ required_rubygems_version: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '0'
50
+ requirements: []
51
+ rubyforge_project:
52
+ rubygems_version: 2.2.2
53
+ signing_key:
54
+ specification_version: 4
55
+ summary: keep bower dependencies fresh
56
+ test_files: []