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

Commitb357c38

Browse files
committed
remove lodash
1 parent5a51f42 commitb357c38

File tree

19 files changed

+194
-19319
lines changed

19 files changed

+194
-19319
lines changed

‎CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@ All notable changes to this project will be documented in this file.
33
This project adheres to[Semantic Versioning](http://semver.org/).
44

55
##[0.7.0] - in progress
6-
- move to material-ui@0.15-beta.1
6+
- move to'material-ui@0.15-beta.1'
77
- much improved setup ui & checks
88
- check Node, NPM versions
99
- Stepper UI
10+
- remove 'lodash' dependency
1011

1112
##[0.6.0] - 2016-04-01
1213
- fixes

‎lib/actions/actions.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use strict";
22
varactionTypes_1=require('./actionTypes');
33
varstore_1=require('../store/store');
4-
varpackage_1=require('../services/package');
4+
vartutorial_package_1=require('../services/tutorial-package');
55
functionsetProject(){
66
return{type:actionTypes_1.SET_PROJECT};
77
}
@@ -23,7 +23,7 @@ function setPosition(position) {
2323
}
2424
exports.setPosition=setPosition;
2525
functionloadTutorial(tutorial){
26-
package_1.default.selectPackage(tutorial.name);
26+
tutorial_package_1.default.selectPackage(tutorial.name);
2727
store_1.store.dispatch(setProject());
2828
store_1.store.dispatch(setPosition({chapter:0,page:0}));
2929
store_1.store.dispatch(setProgress());

‎lib/actions/page-actions.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
"use strict";
22
varactionTypes_1=require('./actionTypes');
33
varstore_1=require('../store/store');
4-
varpackage_1=require('../services/package');
5-
varlodash_1=require('lodash');
4+
vartutorial_package_1=require('../services/tutorial-package');
65
functionsetPage(selectedPosition){
76
if(selectedPosition===void0){selectedPosition={chapter:0,page:0};}
87
if(selectedPosition.completed){
98
return{type:actionTypes_1.SET_ROUTE,payload:{route:'final'}};
109
}
11-
varpage=package_1.default.getPage(selectedPosition);
12-
vartasks=package_1.default.getTasks(selectedPosition);
13-
vartaskTests=lodash_1.flatten(tasks.map(function(task){returntask.tests||[];}));
10+
varpage=tutorial_package_1.default.getPage(selectedPosition);
11+
vartasks=tutorial_package_1.default.getTasks(selectedPosition);
12+
vartaskTests=[].concat.apply([],tasks.map(function(task){returntask.tests||[];}));
1413
varactions=tasks.map(function(task){returntask.actions||[];});
1514
return{type:actionTypes_1.SET_PAGE,payload:{page:page,tasks:tasks,position:selectedPosition,taskTests:taskTests,actions:actions}};
1615
}
1716
exports.setPage=setPage;
1817
functionnextPage(){
1918
varposition=store_1.store.getState().position;
20-
varnextPosition=package_1.default.getNextPosition(position);
19+
varnextPosition=tutorial_package_1.default.getNextPosition(position);
2120
returnsetPage(nextPosition);
2221
}
2322
exports.nextPage=nextPage;

‎lib/reducers/editor-actions/editor-actions.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
"use strict";
22
varactionTypes_1=require('../../actions/actionTypes');
3-
varlodash_1=require('lodash');
43
varactions_1=require('./actions');
54
functionhandleEditorActions(actionArray){
65
if(actionArray&&actionArray.length){
@@ -21,7 +20,9 @@ function editorActionsReducer(editorActions, action) {
2120
actions=action.payload.actions;
2221
varnextTaskPosition=action.payload.result.taskPosition;
2322
if(nextTaskPosition>currentTaskPosition){
24-
lodash_1.times(handleEditorActions(actions.shift()),nextTaskPosition-currentTaskPosition);
23+
for(vari=0;i<nextTaskPosition-currentTaskPosition;i++){
24+
handleEditorActions(actions.shift());
25+
}
2526
currentTaskPosition=nextTaskPosition;
2627
}
2728
returnactions;

‎lib/reducers/progress/progress.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use strict";
22
varactionTypes_1=require('../../actions/actionTypes');
3-
varpackage_1=require('../../services/package');
3+
vartutorial_package_1=require('../../services/tutorial-package');
44
vardefaultProgress={
55
completed:false,
66
chapters:[{
@@ -18,7 +18,7 @@ function progressReducer(progress, action) {
1818
if(progress===void0){progress=defaultProgress;}
1919
switch(action.type){
2020
caseactionTypes_1.SET_PROGRESS:
21-
returnpackage_1.default.getProgress();
21+
returntutorial_package_1.default.getProgress();
2222
caseactionTypes_1.PAGE_COMPLETE:
2323
varposition=action.payload.position;
2424
progress.chapters[position.chapter].pages[position.page].completed=true;

‎lib/reducers/project/project.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use strict";
22
varactionTypes_1=require('../../actions/actionTypes');
3-
varpackage_1=require('../../services/package');
3+
vartutorial_package_1=require('../../services/tutorial-package');
44
vardefaultProject={
55
title:'',
66
description:''
@@ -9,7 +9,7 @@ function projectReducer(project, action) {
99
if(project===void0){project=defaultProject;}
1010
switch(action.type){
1111
caseactionTypes_1.SET_PROJECT:
12-
returnpackage_1.default.getProject();
12+
returntutorial_package_1.default.getProject();
1313
default:
1414
returnproject;
1515
}

‎lib/services/root-package.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"use strict";
2+
varfs_1=require('fs');
3+
varexists_1=require('./exists');
4+
varpath_1=require('path');
5+
varRootPackageService=(function(){
6+
functionRootPackageService(){
7+
}
8+
RootPackageService.prototype.getRootPackage=function(){
9+
varpathToPackageJson=path_1.join(window.coderoad.dir,'package.json');
10+
if(exists_1.fileExists(pathToPackageJson)){
11+
returnJSON.parse(fs_1.readFileSync(pathToPackageJson,'utf8'));
12+
}
13+
returnnull;
14+
};
15+
returnRootPackageService;
16+
}());

‎lib/services/tutorial-package.js

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
"use strict";
2+
varpath_1=require('path');
3+
varactions_1=require('../actions/actions');
4+
varstore_1=require('../store/store');
5+
functionconfigTestString(config,name,test){
6+
if(window.coderoad.win){
7+
test=test.split('/').join('\\');
8+
}
9+
if(config.testDir){
10+
test=path_1.join(window.coderoad.dir,'node_modules',name,config.testDir,test);
11+
}
12+
else{
13+
test=path_1.join(window.coderoad.dir,'node_modules',name,test);
14+
}
15+
if(config.testSuffix){
16+
test+=config.testSuffix;
17+
}
18+
returntest;
19+
}
20+
varTutorialPackageService=(function(){
21+
functionTutorialPackageService(){
22+
this.name='';
23+
this.data={
24+
project:{},
25+
chapters:[]
26+
};
27+
this.packageJson=null;
28+
}
29+
TutorialPackageService.prototype.selectPackage=function(name){
30+
varpackagePath=path_1.join(window.coderoad.dir,'node_modules',name);
31+
this.packageJson=require(path_1.join(packagePath,'package.json'));
32+
store_1.store.dispatch(actions_1.setGlobals(this.packageJson));
33+
this.data=require(path_1.join(packagePath,this.packageJson.main));
34+
this.name=name;
35+
};
36+
TutorialPackageService.prototype.page=function(_a){
37+
varchapter=_a.chapter,page=_a.page;
38+
returnthis.data.chapters[chapter].pages[page];
39+
};
40+
TutorialPackageService.prototype.getPackage=function(){
41+
returnthis.packageJson;
42+
};
43+
TutorialPackageService.prototype.configTaskTests=function(tasks){
44+
var_this=this;
45+
varconfig=this.packageJson.config;
46+
return!tasks ?[] :tasks.map(function(task){
47+
if(task.tests){
48+
task.tests=task.tests.map(function(test){
49+
if(typeoftest==='string'){
50+
returnconfigTestString(config,_this.name,test);
51+
}
52+
else{
53+
console.error('Invalid task test',test);
54+
}
55+
});
56+
}
57+
returntask;
58+
});
59+
};
60+
TutorialPackageService.prototype.getTasks=function(position){
61+
vartasks=this.page(position).tasks||[];
62+
tasks=this.configTaskTests(tasks);
63+
returntasks;
64+
};
65+
TutorialPackageService.prototype.getPage=function(position){
66+
var_a=this.page(position),title=_a.title,description=_a.description,onPageComplete=_a.onPageComplete,completed=_a.completed;
67+
return{
68+
title:title,description:description,onPageComplete:onPageComplete,completed:completed||false
69+
};
70+
};
71+
TutorialPackageService.prototype.getSavedPosition=function(){
72+
return{chapter:0,page:0};
73+
};
74+
TutorialPackageService.prototype.getSavedRoute=function(){
75+
return'progress';
76+
};
77+
TutorialPackageService.prototype.getNextPosition=function(_a){
78+
varchapter=_a.chapter,page=_a.page;
79+
varchapters=this.data.chapters;
80+
if(page<chapters[chapter].pages.length-1){
81+
return{chapter:chapter,page:page+1};
82+
}
83+
elseif(chapter<chapters.length-1){
84+
return{chapter:chapter+1,page:0};
85+
}
86+
else{
87+
store_1.store.dispatch(actions_1.projectComplete());
88+
return{chapter:chapter,page:page,completed:true};
89+
}
90+
};
91+
TutorialPackageService.prototype.getProject=function(){
92+
returnthis.data.project;
93+
};
94+
TutorialPackageService.prototype.getProgress=function(){
95+
varchapters=this.data.chapters;
96+
return{
97+
completed:false,
98+
chapters:!chapters ?[] :chapters.map(function(_a){
99+
vartitle=_a.title,description=_a.description,completed=_a.completed,pages=_a.pages;
100+
return{
101+
title:title,description:description,completed:completed||false,
102+
pages:!pages ?[] :pages.map(function(page){
103+
return{
104+
title:page.title,
105+
description:page.description,
106+
completed:page.completed||false
107+
};
108+
})
109+
};
110+
})
111+
};
112+
};
113+
returnTutorialPackageService;
114+
}());
115+
Object.defineProperty(exports,"__esModule",{value:true});
116+
exports.default=newTutorialPackageService();

‎package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
"dependencies": {
4141
"classnames":"2.2.3",
4242
"highlights":"1.3.1",
43-
"lodash":"4.11.1",
4443
"marked":"0.3.5",
4544
"material-ui":"0.15.0-beta.1",
4645
"react":"15.0.1",

‎src/actions/actions.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {
44
LOG_MESSAGE
55
}from'./actionTypes';
66
import{store}from'../store/store';
7-
importPackagefrom'../services/package';
7+
importTutorialPackagefrom'../services/tutorial-package';
88

99
/* Project */
1010
exportfunctionsetProject():CR.Action{
@@ -29,7 +29,7 @@ export function setPosition(position: CR.Position): CR.Action {
2929
}
3030

3131
exportfunctionloadTutorial(tutorial:CR.Tutorial):void{
32-
Package.selectPackage(tutorial.name);
32+
TutorialPackage.selectPackage(tutorial.name);
3333
store.dispatch(setProject());
3434
store.dispatch(setPosition({chapter:0,page:0}));
3535
store.dispatch(setProgress());

‎src/actions/page-actions.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
import{SET_ROUTE,SET_PAGE}from'./actionTypes';
22
import{store}from'../store/store';
3-
importPackagefrom'../services/package';
4-
import{flatten}from'lodash';
3+
importTutorialPackagefrom'../services/tutorial-package';
54

65
exportfunctionsetPage(selectedPosition:CR.Position={chapter:0,page:0}):CR.Action{
76
if(selectedPosition.completed){
87
return{type:SET_ROUTE,payload:{route:'final'}};
98
}
10-
constpage:CR.Page=Package.getPage(selectedPosition);
11-
consttasks:CR.Task[]=Package.getTasks(selectedPosition);
12-
consttaskTests:CR.TaskTest[]=flatten(tasks.map((task)=>task.tests||[]));
9+
constpage:CR.Page=TutorialPackage.getPage(selectedPosition);
10+
consttasks:CR.Task[]=TutorialPackage.getTasks(selectedPosition);
11+
consttaskTests:CR.TaskTest[]=[].concat.apply([],tasks.map((task)=>task.tests||[]));
1312
constactions:string[][]=tasks.map((task:CR.Task)=>task.actions||[]);
1413
return{type:SET_PAGE,payload:{ page, tasks,position:selectedPosition, taskTests, actions}};
1514
}
1615

1716
exportfunctionnextPage():CR.Action{
1817
constposition:CR.Position=store.getState().position;
19-
constnextPosition:CR.Position=Package.getNextPosition(position);
18+
constnextPosition:CR.Position=TutorialPackage.getNextPosition(position);
2019
returnsetPage(nextPosition);
2120
}

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

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,3 @@ export function createPackageJson(): Promise<void> {
2828
exportfunctionopenDirectory():void{
2929
openFolder();
3030
}
31-
32-
// export function installTutorial(): void {
33-
// commandLine('npm', 'install --save-dev coderoad-functional-school && npm install').then((res) => {
34-
// console.log(res);
35-
// store.dispatch(Action.verifySetup());
36-
// });
37-
// }

‎src/reducers/editor-actions/editor-actions.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import{SET_PAGE,TEST_RESULT}from'../../actions/actionTypes';
2-
import{times}from'lodash';
32
import{editorActions}from'./actions';
43

54
functionhandleEditorActions(actionArray:string[]):void{
@@ -26,7 +25,9 @@ export default function editorActionsReducer(editorActions = [], action: CR.Acti
2625
letnextTaskPosition=action.payload.result.taskPosition;
2726
if(nextTaskPosition>currentTaskPosition){
2827
// run actions for each task position passed
29-
times(handleEditorActions(actions.shift()),nextTaskPosition-currentTaskPosition);
28+
for(leti=0;i<nextTaskPosition-currentTaskPosition;i++){
29+
handleEditorActions(actions.shift());
30+
}
3031
currentTaskPosition=nextTaskPosition;
3132
}
3233
returnactions;

‎src/reducers/progress/progress.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import{
22
SET_PROGRESS,PAGE_COMPLETE,CHAPTER_COMPLETE,PROJECT_COMPLETE
33
}from'../../actions/actionTypes';
4-
importPackagefrom'../../services/package';
4+
importTutorialPackagefrom'../../services/tutorial-package';
55

66
constdefaultProgress:CR.Progress={
77
completed:false,
@@ -21,7 +21,7 @@ export default function progressReducer(progress = defaultProgress,
2121
action:CR.Action):CR.Progress{
2222
switch(action.type){
2323
caseSET_PROGRESS:
24-
returnPackage.getProgress();
24+
returnTutorialPackage.getProgress();
2525
casePAGE_COMPLETE:
2626
constposition=action.payload.position;
2727
progress.chapters[position.chapter].pages[position.page].completed=true;

‎src/reducers/project/project.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import{SET_PROJECT}from'../../actions/actionTypes';
2-
importPackagefrom'../../services/package';
2+
importTutorialPackagefrom'../../services/tutorial-package';
33

44
constdefaultProject:CR.Project={
55
title:'',
@@ -10,7 +10,7 @@ export default function projectReducer(project = defaultProject,
1010
action:CR.Action):CR.Project{
1111
switch(action.type){
1212
caseSET_PROJECT:
13-
returnPackage.getProject();
13+
returnTutorialPackage.getProject();
1414
default:
1515
returnproject;
1616
}

‎src/services/root-package.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import{readFileSync}from'fs';
2+
import{fileExists}from'./exists';
3+
import{join}from'path';
4+
5+
classRootPackageService{
6+
getRootPackage():PackageJson{
7+
constpathToPackageJson=join(window.coderoad.dir,'package.json');
8+
if(fileExists(pathToPackageJson)){
9+
returnJSON.parse(readFileSync(pathToPackageJson,'utf8'));
10+
}
11+
returnnull;
12+
}
13+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp