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

Commit36db2bc

Browse files
committed
fixes, refactor for faster package loads
1 parent81150fe commit36db2bc

File tree

17 files changed

+91
-130
lines changed

17 files changed

+91
-130
lines changed

‎lib/actions/actions.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ function setPosition(position) {
2323
}
2424
exports.setPosition=setPosition;
2525
functionloadTutorial(tutorial){
26-
tutorial_package_1.default.selectPackage(tutorial.name);
26+
tutorial_package_1.default.set(tutorial.name);
2727
store_1.store.dispatch(setProject());
2828
store_1.store.dispatch(setPosition({chapter:0,page:0}));
2929
store_1.store.dispatch(setProgress());
@@ -34,10 +34,6 @@ function toggleLog() {
3434
return{type:actionTypes_1.TOGGLE_LOG,payload:{open:open}};
3535
}
3636
exports.toggleLog=toggleLog;
37-
functionlogMessage(message){
38-
return{type:actionTypes_1.LOG_MESSAGE,payload:{message:message}};
39-
}
40-
exports.logMessage=logMessage;
4137
varpage_actions_1=require('./page-actions');
4238
exports.setPage=page_actions_1.setPage;
4339
exports.nextPage=page_actions_1.nextPage;

‎lib/components/menu/menu.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ var MenuLink = (function (_super) {
3333
_super.apply(this,arguments);
3434
}
3535
MenuLink.prototype.render=function(){
36-
var_a=this.props,route=_a.route,title=_a.title;
37-
returnReact.createElement(MenuItem_1.default,{primaryText:title ?title :route,onTouchTap:this.props.routeTo.bind(route),key:route});
36+
var_a=this.props,route=_a.route,title=_a.title,routeTo=_a.routeTo;
37+
returnReact.createElement(MenuItem_1.default,{primaryText:title ?title :route,onTouchTap:routeTo.bind(this,route),key:route});
3838
};
3939
MenuLink=__decorate([
4040
react_redux_1.connect(null,function(dispatch){
@@ -85,7 +85,6 @@ var AppMenu = (function (_super) {
8585
AppMenu=__decorate([
8686
react_redux_1.connect(null,function(dispatch){
8787
return{
88-
routeToProgress:function(){returndispatch(actions_1.setRoute('progress'));},
8988
routeToPage:function(){
9089
varposition=_this.props.position;
9190
dispatch(actions_1.setPage(position));

‎lib/reducers/checks/check-setup.js

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"use strict";
22
varcheck_tutorials_1=require('../tutorials/check-tutorials');
3+
varroot_package_1=require('../../services/root-package');
34
functionhasDirectory(){
45
return!!window.coderoad.dir;
56
}
@@ -9,15 +10,8 @@ function hasPackageJson() {
910
}
1011
exports.hasPackageJson=hasPackageJson;
1112
functionhasTutorialDep(){
12-
varpackageJson=hasPackageJson ?check_tutorials_1.loadRootPackageJson() :null;
13-
return!!packageJson&&_tutorialInstalled(packageJson.dependencies)||
14-
_tutorialInstalled(packageJson.devDependencies);
13+
vartutorials=root_package_1.default.getTutorials();
14+
console.log(tutorials);
15+
return!!tutorials&&tutorials.length>0;
1516
}
1617
exports.hasTutorialDep=hasTutorialDep;
17-
function_hasKeys(obj){
18-
returnObject.keys(obj).length>0;
19-
}
20-
function_tutorialInstalled(location){
21-
return!!location&&_hasKeys(location)&&
22-
check_tutorials_1.searchForTutorials(location).length>0;
23-
}

‎lib/reducers/checks/verify.js

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,24 @@
11
"use strict";
22
varcheck_system_1=require('./check-system');
3-
varcheck_setup_1=require('./check-setup');
3+
varroot_package_1=require('../../services/root-package');
44
varresult=function(x){returnx;};
55
functionallTrue(obj){
66
returnObject.values(obj).every(function(x){returnx===true;});
77
}
8+
functionhasTutorialDep(){
9+
vartutorials=root_package_1.default.getTutorials();
10+
return!!tutorials&&tutorials.length>0;
11+
}
812
functionverifySetup(){
9-
vardir=!!check_setup_1.hasDirectory();
13+
vardir=!!window.coderoad.dir;
1014
varpackageJson=false;
1115
vartutorial=false;
16+
root_package_1.default.set();
1217
if(dir){
13-
packageJson=!!check_setup_1.hasPackageJson();
18+
packageJson=!!root_package_1.default.get();
1419
}
1520
if(dir&&packageJson){
16-
tutorial=check_setup_1.hasTutorialDep();
21+
tutorial=hasTutorialDep();
1722
}
1823
varchecks={
1924
system:{

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

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,8 @@
22
varpath_1=require('path');
33
varfs_1=require('fs');
44
varexists_1=require('../../services/exists');
5+
varroot_package_1=require('../../services/root-package');
56
vartutorialError='This is an error with the tutorial itself';
6-
functionpackageJsonExists(){
7-
varpathToPackageJson=path_1.join(window.coderoad.dir,'package.json');
8-
returnexists_1.fileExists(pathToPackageJson);
9-
}
10-
exports.packageJsonExists=packageJsonExists;
11-
functionloadRootPackageJson(){
12-
varpathToPackageJson=path_1.join(window.coderoad.dir,'package.json');
13-
if(exists_1.fileExists(pathToPackageJson)){
14-
returnJSON.parse(fs_1.readFileSync(pathToPackageJson,'utf8'));
15-
}
16-
returnnull;
17-
}
18-
exports.loadRootPackageJson=loadRootPackageJson;
197
function_isTutorial(name){
208
varpathToTutorialPackageJson=path_1.join(window.coderoad.dir,'node_modules',name,'package.json');
219
if(!exists_1.fileExists(pathToTutorialPackageJson)){
@@ -52,7 +40,7 @@ function searchForTutorials(deps) {
5240
version:'NOT INSTALLED'
5341
};
5442
}
55-
varpackageJson=JSON.parse(fs_1.readFileSync(pathToTutorialPackageJson,'utf8'));
43+
varpackageJson=root_package_1.default.get();
5644
return{
5745
name:name,
5846
version:packageJson.version

‎lib/reducers/tutorials/tutorials.js

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
"use strict";
22
varactionTypes_1=require('../../actions/actionTypes');
3-
varcheck_tutorials_1=require('./check-tutorials');
43
varupdate_tutorial_1=require('./update-tutorial');
4+
varroot_package_1=require('../../services/root-package');
55
functiontutorialsReducer(tutorials,action){
66
if(tutorials===void0){tutorials=[];}
77
switch(action.type){
88
caseactionTypes_1.UPDATE_TUTORIAL:
99
update_tutorial_1.updateTutorial(action.payload.name);
1010
caseactionTypes_1.LOAD_TUTORIALS:
11-
varpackageJson=check_tutorials_1.loadRootPackageJson();
12-
if(!!packageJson){
13-
return[].concat(check_tutorials_1.searchForTutorials(packageJson.dependencies))
14-
.concat(check_tutorials_1.searchForTutorials(packageJson.devDependencies));
15-
}
16-
return[];
11+
returnroot_package_1.default.getTutorials();
1712
default:
1813
returntutorials;
1914
}

‎lib/services/root-package.js

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,34 @@
22
varfs_1=require('fs');
33
varexists_1=require('./exists');
44
varpath_1=require('path');
5+
varcheck_tutorials_1=require('../reducers/tutorials/check-tutorials');
56
varRootPackageService=(function(){
67
functionRootPackageService(){
8+
this.packageJson=null;
79
}
8-
RootPackageService.prototype.getRootPackage=function(){
10+
RootPackageService.prototype.set=function(){
911
varpathToPackageJson=path_1.join(window.coderoad.dir,'package.json');
1012
if(exists_1.fileExists(pathToPackageJson)){
11-
returnJSON.parse(fs_1.readFileSync(pathToPackageJson,'utf8'));
13+
this.packageJson=JSON.parse(fs_1.readFileSync(pathToPackageJson,'utf8'));
14+
}
15+
else{
16+
returnnull;
17+
}
18+
};
19+
RootPackageService.prototype.get=function(){
20+
returnthis.packageJson;
21+
};
22+
RootPackageService.prototype.getTutorials=function(){
23+
if(this.packageJson){
24+
return([]
25+
.concat(check_tutorials_1.searchForTutorials(this.packageJson.dependencies))
26+
.concat(check_tutorials_1.searchForTutorials(this.packageJson.devDependencies)));
27+
}
28+
else{
29+
returnnull;
1230
}
13-
returnnull;
1431
};
1532
returnRootPackageService;
1633
}());
34+
Object.defineProperty(exports,"__esModule",{value:true});
35+
exports.default=newRootPackageService();

‎lib/services/tutorial-package.js

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,10 @@ var TutorialPackageService = (function () {
2626
};
2727
this.packageJson=null;
2828
}
29-
TutorialPackageService.prototype.selectPackage=function(name){
29+
TutorialPackageService.prototype.get=function(){
30+
returnthis.packageJson;
31+
};
32+
TutorialPackageService.prototype.set=function(name){
3033
varpackagePath=path_1.join(window.coderoad.dir,'node_modules',name);
3134
this.packageJson=require(path_1.join(packagePath,'package.json'));
3235
store_1.store.dispatch(actions_1.setGlobals(this.packageJson));
@@ -37,9 +40,6 @@ var TutorialPackageService = (function () {
3740
varchapter=_a.chapter,page=_a.page;
3841
returnthis.data.chapters[chapter].pages[page];
3942
};
40-
TutorialPackageService.prototype.getPackage=function(){
41-
returnthis.packageJson;
42-
};
4343
TutorialPackageService.prototype.configTaskTests=function(tasks){
4444
var_this=this;
4545
varconfig=this.packageJson.config;
@@ -68,12 +68,6 @@ var TutorialPackageService = (function () {
6868
title:title,description:description,onPageComplete:onPageComplete,completed:completed||false
6969
};
7070
};
71-
TutorialPackageService.prototype.getSavedPosition=function(){
72-
return{chapter:0,page:0};
73-
};
74-
TutorialPackageService.prototype.getSavedRoute=function(){
75-
return'progress';
76-
};
7771
TutorialPackageService.prototype.getNextPosition=function(_a){
7872
varchapter=_a.chapter,page=_a.page;
7973
varchapters=this.data.chapters;

‎src/actions/actions.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import{
22
SET_PROJECT,SET_GLOBALS,VERIFY_SETUP,
3-
SET_PROGRESS,SET_POSITION,TOGGLE_LOG,
4-
LOG_MESSAGE
3+
SET_PROGRESS,SET_POSITION,TOGGLE_LOG
54
}from'./actionTypes';
65
import{store}from'../store/store';
76
importTutorialPackagefrom'../services/tutorial-package';
@@ -29,7 +28,7 @@ export function setPosition(position: CR.Position): CR.Action {
2928
}
3029

3130
exportfunctionloadTutorial(tutorial:CR.Tutorial):void{
32-
TutorialPackage.selectPackage(tutorial.name);
31+
TutorialPackage.set(tutorial.name);
3332
store.dispatch(setProject());
3433
store.dispatch(setPosition({chapter:0,page:0}));
3534
store.dispatch(setProgress());
@@ -40,10 +39,6 @@ export function toggleLog(): CR.Action {
4039
return{type:TOGGLE_LOG,payload:{ open}};
4140
}
4241

43-
exportfunctionlogMessage(message:string):CR.Action{
44-
return{type:LOG_MESSAGE,payload:{ message}};
45-
}
46-
4742

4843
/* Page */
4944
export{setPage,nextPage}from'./page-actions';

‎src/components/menu/menu.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ export class MenuLink extends React.Component<{
2525
},{}>{
2626
render(){
2727
const{route, title, routeTo}=this.props;
28-
console.log(route);
2928
return<MenuItemprimaryText={title ?title :route}onTouchTap={routeTo.bind(this,route)}key={route}/>;
3029
}
3130
}

‎src/reducers/checks/check-setup.ts

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

‎src/reducers/checks/verify.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,26 @@
11
import{npmMinVersion,nodeMinVersion}from'./check-system';
2-
import{hasDirectory,hasPackageJson,hasTutorialDep}from'./check-setup';
2+
// import {hasDirectory} from './check-setup';
3+
importRootPackagefrom'../../services/root-package';
34

45
constresult=(x)=>x;
56
functionallTrue(obj:Object):boolean{
67
returnObject.values(obj).every((x)=>x===true);
78
}
89

10+
functionhasTutorialDep():boolean{
11+
consttutorials=RootPackage.getTutorials();
12+
return!!tutorials&&tutorials.length>0;
13+
}
14+
915
exportdefaultfunctionverifySetup():CR.Checks{
10-
letdir=!!hasDirectory();
16+
letdir=!!window.coderoad.dir;
1117
letpackageJson=false;
1218
lettutorial=false;
1319

20+
RootPackage.set();
21+
1422
if(dir){
15-
packageJson=!!hasPackageJson();
23+
packageJson=!!RootPackage.get();
1624
}
1725
if(dir&&packageJson){
1826
tutorial=hasTutorialDep();

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

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,11 @@ import {store} from '../../store/store';
22
import{join}from'path';
33
import{readFileSync}from'fs';
44
import{fileExists}from'../../services/exists';
5-
import{canUpdateTutorial}from'./update-tutorial';
5+
// import {canUpdateTutorial} from './update-tutorial';
6+
importRootPackagefrom'../../services/root-package';
67

78
lettutorialError='This is an error with the tutorial itself';
89

9-
exportfunctionpackageJsonExists():boolean{
10-
constpathToPackageJson=join(window.coderoad.dir,'package.json');
11-
returnfileExists(pathToPackageJson);
12-
}
13-
14-
exportfunctionloadRootPackageJson():PackageJson{
15-
constpathToPackageJson=join(window.coderoad.dir,'package.json');
16-
if(fileExists(pathToPackageJson)){
17-
returnJSON.parse(readFileSync(pathToPackageJson,'utf8'));
18-
}
19-
returnnull;
20-
}
21-
2210
function_isTutorial(name:string):boolean{
2311
// has package.json
2412
letpathToTutorialPackageJson=join(window.coderoad.dir,'node_modules',name,'package.json');
@@ -70,7 +58,7 @@ export function searchForTutorials(deps: Object): CR.Tutorial[] {
7058
};
7159
}
7260

73-
letpackageJson:PackageJson=JSON.parse(readFileSync(pathToTutorialPackageJson,'utf8'));
61+
letpackageJson=RootPackage.get();
7462

7563
return{
7664
name,

‎src/reducers/tutorials/tutorials.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import{UPDATE_TUTORIAL,LOAD_TUTORIALS}from'../../actions/actionTypes';
2-
import{loadRootPackageJson,searchForTutorials}from'./check-tutorials';
32
import{updateTutorial}from'./update-tutorial';
3+
importRootPackagefrom'../../services/root-package';
44

55
exportdefaultfunctiontutorialsReducer(tutorials=[],
66
action:CR.Action):CR.Tutorial[]{
@@ -9,12 +9,7 @@ export default function tutorialsReducer(tutorials = [],
99
updateTutorial(action.payload.name);
1010
/* falls through */
1111
caseLOAD_TUTORIALS:
12-
letpackageJson:PackageJson=loadRootPackageJson();
13-
if(!!packageJson){
14-
return[].concat(searchForTutorials(packageJson.dependencies))
15-
.concat(searchForTutorials(packageJson.devDependencies));
16-
}
17-
return[];
12+
returnRootPackage.getTutorials();
1813
default:
1914
returntutorials;
2015
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp