File tree 13 files changed +93
-64
lines changed
13 files changed +93
-64
lines changed Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
4
4
5
5
## [ 0.8.0] - in progress
6
6
- save tutorial progress to localStorage
7
+ - check for tutorial package updates
7
8
8
9
## [ 0.7.0] - 2016-04-23
9
10
Original file line number Diff line number Diff line change 1
1
"use strict" ;
2
2
var check_system_1 = require ( './check-system' ) ;
3
3
var store_1 = require ( '../../store' ) ;
4
- var check_tutorials_1 = require ( '../tutorials/check-tutorials ' ) ;
4
+ var check_1 = require ( '../tutorials/check' ) ;
5
5
var result = function ( x ) { return x ; } ;
6
6
function allTrue ( obj ) {
7
7
return Object . values ( obj ) . every ( function ( x ) { return x === true ; } ) ;
@@ -15,7 +15,7 @@ function setupVerify() {
15
15
packageJson = ! ! pj ;
16
16
}
17
17
if ( dir && packageJson ) {
18
- tutorial = ! ! check_tutorials_1 . searchForTutorials ( pj . dependencies ) . length || ! ! check_tutorials_1 . searchForTutorials ( pj . devDependencies ) . length ;
18
+ tutorial = ! ! check_1 . searchForTutorials ( pj . dependencies ) . length || ! ! check_1 . searchForTutorials ( pj . devDependencies ) . length ;
19
19
}
20
20
var checks = {
21
21
system : {
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ var fs_1 = require('fs');
4
4
var exists_1 = require ( '../../services/exists' ) ;
5
5
var is_tutorial_1 = require ( './is-tutorial' ) ;
6
6
var store_1 = require ( '../../store' ) ;
7
+ var update_1 = require ( './update' ) ;
7
8
function searchForTutorials ( deps ) {
8
9
if ( ! ! deps && Object . keys ( deps ) . length > 0 ) {
9
10
var dir_1 = store_1 . default . getState ( ) . dir ;
@@ -23,6 +24,7 @@ function searchForTutorials(deps) {
23
24
return {
24
25
name : name ,
25
26
version : version ,
27
+ latest : ! update_1 . canUpdateTutorial ( name , version )
26
28
} ;
27
29
} ) ) ;
28
30
}
Original file line number Diff line number Diff line change 1
1
"use strict" ;
2
2
var _types_1 = require ( '../../actions/_types' ) ;
3
- var update_tutorial_1 = require ( './update-tutorial ' ) ;
3
+ var update_1 = require ( './update' ) ;
4
4
var store_1 = require ( '../../store' ) ;
5
- var check_tutorials_1 = require ( './check-tutorials ' ) ;
5
+ var check_1 = require ( './check' ) ;
6
6
function tutorialsReducer ( tutorials , action ) {
7
7
if ( tutorials === void 0 ) { tutorials = [ ] ; }
8
8
switch ( action . type ) {
9
9
case _types_1 . TUTORIAL_UPDATE :
10
- update_tutorial_1 . tutorialUpdate ( action . payload . name ) ;
10
+ update_1 . tutorialUpdate ( action . payload . name ) ;
11
11
case _types_1 . TUTORIALS_FIND :
12
12
var packageJson = store_1 . default . getState ( ) . packageJson ;
13
13
return ( [ ]
14
- . concat ( check_tutorials_1 . searchForTutorials ( packageJson . dependencies ) )
15
- . concat ( check_tutorials_1 . searchForTutorials ( packageJson . devDependencies ) ) ) ;
14
+ . concat ( check_1 . searchForTutorials ( packageJson . dependencies ) )
15
+ . concat ( check_1 . searchForTutorials ( packageJson . devDependencies ) ) ) ;
16
16
default :
17
17
return tutorials ;
18
18
}
Load Diff This file was deleted.
Original file line number Diff line number Diff line change
1
+ "use strict" ;
2
+ var command_line_1 = require ( '../../services/command-line' ) ;
3
+ var store_1 = require ( '../../store' ) ;
4
+ var actions_1 = require ( '../../actions' ) ;
5
+ function tutorialUpdate ( name ) {
6
+ command_line_1 . default ( 'npm' , "install --save-dev " + name )
7
+ . then ( function ( ) {
8
+ store_1 . default . dispatch ( actions_1 . tutorialsFind ( ) ) ;
9
+ } ) ;
10
+ }
11
+ exports . tutorialUpdate = tutorialUpdate ;
12
+ function canUpdateTutorial ( name , currentVersion ) {
13
+ if ( ! navigator . onLine ) {
14
+ return false ;
15
+ }
16
+ return ( command_line_1 . default ( 'npm' , "outdated " + name ) . then ( function ( res ) {
17
+ console . log ( res ) ;
18
+ if ( res . length > 0 ) {
19
+ var linked = res . match ( / [ 0 - 9 \. ] + \s + l i n k e d / ) ;
20
+ if ( linked ) {
21
+ return false ;
22
+ }
23
+ var match = res . match ( / [ 0 - 9 \. ] + \s + [ 0 - 9 \. ] + \s + ( [ 0 - 9 \. ] + ) / ) ;
24
+ if ( match . length >= 2 ) {
25
+ return true ;
26
+ }
27
+ }
28
+ return false ;
29
+ } ) ) ;
30
+ }
31
+ exports . canUpdateTutorial = canUpdateTutorial ;
Original file line number Diff line number Diff line change 38
38
"atom" : " >=1.0.0 <2.0.0"
39
39
},
40
40
"dependencies" : {
41
- "classnames" : " 2.2.3 " ,
41
+ "classnames" : " 2.2.4 " ,
42
42
"highlights" : " 1.3.1" ,
43
43
"marked" : " 0.3.5" ,
44
44
"material-ui" : " 0.15.0-beta.2" ,
Original file line number Diff line number Diff line change 1
1
import { npmMinVersion , nodeMinVersion } from './check-system' ;
2
2
import store from '../../store' ;
3
- import { searchForTutorials } from '../tutorials/check-tutorials ' ;
3
+ import { searchForTutorials } from '../tutorials/check' ;
4
4
5
5
const result = x => x ;
6
6
function allTrue ( obj : Object ) : boolean {
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ import {readFileSync} from 'fs';
3
3
import { fileExists } from '../../services/exists' ;
4
4
import { isTutorial , tutorialError } from './is-tutorial' ;
5
5
import store from '../../store' ;
6
- // import {canUpdateTutorial} from './update-tutorial ';
6
+ import { canUpdateTutorial } from './update' ;
7
7
8
8
export function searchForTutorials ( deps : Object ) : Tutorial . Info [ ] {
9
9
if ( ! ! deps && Object . keys ( deps ) . length > 0 ) {
@@ -25,14 +25,14 @@ export function searchForTutorials(deps: Object): Tutorial.Info[] {
25
25
}
26
26
27
27
let tutorialPackageJson = JSON . parse ( readFileSync ( pathToTutorialPackageJson , 'utf8' ) ) ;
28
- const version = tutorialPackageJson . version ;
28
+ const version = tutorialPackageJson . version ;
29
29
30
- return {
31
- name,
32
- version,
33
- // latest: ! !canUpdateTutorial(name, version)
34
- } ;
35
- } ) ) ;
30
+ return {
31
+ name,
32
+ version,
33
+ latest : ! canUpdateTutorial ( name , version )
34
+ } ;
35
+ } ) ) ;
36
36
} else {
37
37
return [ ] ;
38
38
}
Original file line number Diff line number Diff line change 1
1
import { TUTORIAL_UPDATE , TUTORIALS_FIND } from '../../actions/_types' ;
2
- import { tutorialUpdate } from './update-tutorial ' ;
2
+ import { tutorialUpdate } from './update' ;
3
3
import store from '../../store' ;
4
- import { searchForTutorials } from './check-tutorials ' ;
4
+ import { searchForTutorials } from './check' ;
5
5
6
6
export default function tutorialsReducer (
7
7
tutorials = [ ] , action : Action
8
8
) : Tutorial . Info [ ] {
9
9
switch ( action . type ) {
10
10
case TUTORIAL_UPDATE :
11
11
tutorialUpdate ( action . payload . name ) ;
12
- /* falls through */
12
+ /* falls through */
13
13
case TUTORIALS_FIND :
14
- const packageJson = store . getState ( ) . packageJson ;
15
- return ( [ ]
16
- . concat ( searchForTutorials ( packageJson . dependencies ) )
17
- . concat ( searchForTutorials ( packageJson . devDependencies ) ) ) ;
14
+ const packageJson = store . getState ( ) . packageJson ;
15
+ return ( [ ]
16
+ . concat ( searchForTutorials ( packageJson . dependencies ) )
17
+ . concat ( searchForTutorials ( packageJson . devDependencies ) ) ) ;
18
18
default :
19
19
return tutorials ;
20
20
}
Load Diff This file was deleted.
Original file line number Diff line number Diff line change
1
+ import commandLine from '../../services/command-line' ;
2
+ import store from '../../store' ;
3
+ import { tutorialsFind } from '../../actions' ;
4
+
5
+ export function tutorialUpdate ( name : string ) : void {
6
+ commandLine ( 'npm' , `install --save-dev ${ name } ` )
7
+ . then ( ( ) => {
8
+ store . dispatch ( tutorialsFind ( ) ) ;
9
+ } ) ;
10
+ }
11
+
12
+ export function canUpdateTutorial (
13
+ name : string , currentVersion : string
14
+ ) : Promise < boolean > | boolean {
15
+ if ( ! navigator . onLine ) {
16
+ return false ;
17
+ }
18
+ return ( commandLine ( 'npm' , `outdated ${ name } ` ) . then (
19
+ ( res : string ) => {
20
+ console . log ( res ) ;
21
+ if ( res . length > 0 ) {
22
+ let linked = res . match ( / [ 0 - 9 \. ] + \s + l i n k e d / ) ;
23
+ if ( linked ) { return false ; }
24
+ let match = res . match ( / [ 0 - 9 \. ] + \s + [ 0 - 9 \. ] + \s + ( [ 0 - 9 \. ] + ) / ) ;
25
+ if ( match . length >= 2 ) {
26
+ // return match[1];
27
+ return true ;
28
+ }
29
+ }
30
+ return false ;
31
+ } )
32
+ ) ;
33
+ }
Original file line number Diff line number Diff line change 106
106
" src/reducers/test-run/test-result.ts" ,
107
107
" src/reducers/tutorial/index.ts" ,
108
108
" src/reducers/tutorial/tutorial-config.ts" ,
109
- " src/reducers/tutorials/check-tutorials .ts" ,
109
+ " src/reducers/tutorials/check.ts" ,
110
110
" src/reducers/tutorials/index.ts" ,
111
111
" src/reducers/tutorials/is-tutorial.ts" ,
112
- " src/reducers/tutorials/update-tutorial .ts" ,
112
+ " src/reducers/tutorials/update.ts" ,
113
113
" src/services/command-line.ts" ,
114
114
" src/services/exists.ts" ,
115
115
" src/services/polyfills.ts" ,
You can’t perform that action at this time.
0 commit comments