Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commite49261d

Browse files
committed
check for tutorial package updates
1 parent9688277 commite49261d

File tree

13 files changed

+93
-64
lines changed

13 files changed

+93
-64
lines changed

‎CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
44

55
##[0.8.0] - in progress
66
- save tutorial progress to localStorage
7+
- check for tutorial package updates
78

89
##[0.7.0] - 2016-04-23
910

‎lib/reducers/checks/verify.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use strict";
22
varcheck_system_1=require('./check-system');
33
varstore_1=require('../../store');
4-
varcheck_tutorials_1=require('../tutorials/check-tutorials');
4+
varcheck_1=require('../tutorials/check');
55
varresult=function(x){returnx;};
66
functionallTrue(obj){
77
returnObject.values(obj).every(function(x){returnx===true;});
@@ -15,7 +15,7 @@ function setupVerify() {
1515
packageJson=!!pj;
1616
}
1717
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;
1919
}
2020
varchecks={
2121
system:{

‎lib/reducers/tutorials/check-tutorials.jsrenamed to‎lib/reducers/tutorials/check.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ var fs_1 = require('fs');
44
varexists_1=require('../../services/exists');
55
varis_tutorial_1=require('./is-tutorial');
66
varstore_1=require('../../store');
7+
varupdate_1=require('./update');
78
functionsearchForTutorials(deps){
89
if(!!deps&&Object.keys(deps).length>0){
910
vardir_1=store_1.default.getState().dir;
@@ -23,6 +24,7 @@ function searchForTutorials(deps) {
2324
return{
2425
name:name,
2526
version:version,
27+
latest:!update_1.canUpdateTutorial(name,version)
2628
};
2729
}));
2830
}

‎lib/reducers/tutorials/index.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
"use strict";
22
var_types_1=require('../../actions/_types');
3-
varupdate_tutorial_1=require('./update-tutorial');
3+
varupdate_1=require('./update');
44
varstore_1=require('../../store');
5-
varcheck_tutorials_1=require('./check-tutorials');
5+
varcheck_1=require('./check');
66
functiontutorialsReducer(tutorials,action){
77
if(tutorials===void0){tutorials=[];}
88
switch(action.type){
99
case_types_1.TUTORIAL_UPDATE:
10-
update_tutorial_1.tutorialUpdate(action.payload.name);
10+
update_1.tutorialUpdate(action.payload.name);
1111
case_types_1.TUTORIALS_FIND:
1212
varpackageJson=store_1.default.getState().packageJson;
1313
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)));
1616
default:
1717
returntutorials;
1818
}

‎lib/reducers/tutorials/update-tutorial.js

Lines changed: 0 additions & 11 deletions
This file was deleted.

‎lib/reducers/tutorials/update.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
"use strict";
2+
varcommand_line_1=require('../../services/command-line');
3+
varstore_1=require('../../store');
4+
varactions_1=require('../../actions');
5+
functiontutorialUpdate(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+
functioncanUpdateTutorial(name,currentVersion){
13+
if(!navigator.onLine){
14+
returnfalse;
15+
}
16+
return(command_line_1.default('npm',"outdated "+name).then(function(res){
17+
console.log(res);
18+
if(res.length>0){
19+
varlinked=res.match(/[0-9\.]+\s+linked/);
20+
if(linked){
21+
returnfalse;
22+
}
23+
varmatch=res.match(/[0-9\.]+\s+[0-9\.]+\s+([0-9\.]+)/);
24+
if(match.length>=2){
25+
returntrue;
26+
}
27+
}
28+
returnfalse;
29+
}));
30+
}
31+
exports.canUpdateTutorial=canUpdateTutorial;

‎package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"atom":">=1.0.0 <2.0.0"
3939
},
4040
"dependencies": {
41-
"classnames":"2.2.3",
41+
"classnames":"2.2.4",
4242
"highlights":"1.3.1",
4343
"marked":"0.3.5",
4444
"material-ui":"0.15.0-beta.2",

‎src/reducers/checks/verify.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import{npmMinVersion,nodeMinVersion}from'./check-system';
22
importstorefrom'../../store';
3-
import{searchForTutorials}from'../tutorials/check-tutorials';
3+
import{searchForTutorials}from'../tutorials/check';
44

55
constresult=x=>x;
66
functionallTrue(obj:Object):boolean{

‎src/reducers/tutorials/check-tutorials.tsrenamed to‎src/reducers/tutorials/check.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {readFileSync} from 'fs';
33
import{fileExists}from'../../services/exists';
44
import{isTutorial,tutorialError}from'./is-tutorial';
55
importstorefrom'../../store';
6-
//import {canUpdateTutorial} from './update-tutorial';
6+
import{canUpdateTutorial}from'./update';
77

88
exportfunctionsearchForTutorials(deps:Object):Tutorial.Info[]{
99
if(!!deps&&Object.keys(deps).length>0){
@@ -25,14 +25,14 @@ export function searchForTutorials(deps: Object): Tutorial.Info[] {
2525
}
2626

2727
lettutorialPackageJson=JSON.parse(readFileSync(pathToTutorialPackageJson,'utf8'));
28-
constversion=tutorialPackageJson.version;
28+
constversion=tutorialPackageJson.version;
2929

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+
}));
3636
}else{
3737
return[];
3838
}

‎src/reducers/tutorials/index.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
import{TUTORIAL_UPDATE,TUTORIALS_FIND}from'../../actions/_types';
2-
import{tutorialUpdate}from'./update-tutorial';
2+
import{tutorialUpdate}from'./update';
33
importstorefrom'../../store';
4-
import{searchForTutorials}from'./check-tutorials';
4+
import{searchForTutorials}from'./check';
55

66
exportdefaultfunctiontutorialsReducer(
77
tutorials=[],action:Action
88
):Tutorial.Info[]{
99
switch(action.type){
1010
caseTUTORIAL_UPDATE:
1111
tutorialUpdate(action.payload.name);
12-
/* falls through */
12+
/* falls through */
1313
caseTUTORIALS_FIND:
14-
constpackageJson=store.getState().packageJson;
15-
return([]
16-
.concat(searchForTutorials(packageJson.dependencies))
17-
.concat(searchForTutorials(packageJson.devDependencies)));
14+
constpackageJson=store.getState().packageJson;
15+
return([]
16+
.concat(searchForTutorials(packageJson.dependencies))
17+
.concat(searchForTutorials(packageJson.devDependencies)));
1818
default:
1919
returntutorials;
2020
}

‎src/reducers/tutorials/update-tutorial.ts

Lines changed: 0 additions & 27 deletions
This file was deleted.

‎src/reducers/tutorials/update.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
importcommandLinefrom'../../services/command-line';
2+
importstorefrom'../../store';
3+
import{tutorialsFind}from'../../actions';
4+
5+
exportfunctiontutorialUpdate(name:string):void{
6+
commandLine('npm',`install --save-dev${name}`)
7+
.then(()=>{
8+
store.dispatch(tutorialsFind());
9+
});
10+
}
11+
12+
exportfunctioncanUpdateTutorial(
13+
name:string,currentVersion:string
14+
):Promise<boolean>|boolean{
15+
if(!navigator.onLine){
16+
returnfalse;
17+
}
18+
return(commandLine('npm',`outdated${name}`).then(
19+
(res:string)=>{
20+
console.log(res);
21+
if(res.length>0){
22+
letlinked=res.match(/[0-9\.]+\s+linked/);
23+
if(linked){returnfalse;}
24+
letmatch=res.match(/[0-9\.]+\s+[0-9\.]+\s+([0-9\.]+)/);
25+
if(match.length>=2){
26+
// return match[1];
27+
returntrue;
28+
}
29+
}
30+
returnfalse;
31+
})
32+
);
33+
}

‎tsconfig.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,10 +106,10 @@
106106
"src/reducers/test-run/test-result.ts",
107107
"src/reducers/tutorial/index.ts",
108108
"src/reducers/tutorial/tutorial-config.ts",
109-
"src/reducers/tutorials/check-tutorials.ts",
109+
"src/reducers/tutorials/check.ts",
110110
"src/reducers/tutorials/index.ts",
111111
"src/reducers/tutorials/is-tutorial.ts",
112-
"src/reducers/tutorials/update-tutorial.ts",
112+
"src/reducers/tutorials/update.ts",
113113
"src/services/command-line.ts",
114114
"src/services/exists.ts",
115115
"src/services/polyfills.ts",

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp