JavaScript doesn't have a specific and dedicated IDE that you would find in strong-typed language such as Java or C#. The absence of a dedicated IDE may not be comfortable for some people as you would need to perform manual tasks, such as bundling and minifying ('compile') or running tests. In full-featured IDE, such as Eclipse and Visual Studio, these tasks are integrated within the IDE, allowing programmers to quickly and easily run the tasks. Most of these features feel 'natural' to Java / C# developers and sometime, we take it for granted.
This project shows how we can with achieve similar full-featured IDE with help of tooling such as Gulp, Browserify and many more.
Some of the development features this project trying to achieve are:
- Code editor
- Syntax highlighting
- Syntax validation
- Auto complete
- Auto run/refresh
- Project folder
- Reference management
- Test runner
- Build
- Compile
- Bundle and minification (uglify)
- Run
- Deployment
- Code coverage
- Package manager
- Source control
- Windows 8.1
- Node
- Webstorm
Project Setup
- Create project root folder: 'js-de'.
Source Control Setup
- Initialize git repository: run 'git init'.
- Add origin to source control: run 'git remote add origin https://github.com/stack247/js-de.git'.
- Set tracking information for the branch: run 'git branch --set-upstream-to=origin/master master'.
- Add source control related files: ".gitignore", "README.md".
- Add files to source control: run 'git add .'.
- Commit to source control: run 'git commit -m "Initial commit"'.
- Push to source control: run 'git push origin master'.
App Setup
- Add folders (build, src, src/modules, src/test).
- Add application related files: "index.html", "app.js", "greeting.js".
Node / NPM
- Initialize npm package manager to create 'package.json': run 'npm init'.
- Install 'Browserify' package globally: run 'npm install -g browserify'.
- Install 'Browserify' in the project: run 'npm install -save browserify'.
- Install 'Gulp' package globally: Run 'npm install -g gulp'.
- Install 'Gulp' in the project: run 'npm install -save-dev gulp'.
Gulp
- Add gulp task file: 'gulpfile.js'
- Uncomment 'uglify' require and pipe.
- Uncomment 'sourcemaps' require and pipe.
- Run 'git clone https://github.com/stack247/js-de.git'.
- Run 'npm install'.
- Run 'gulp'.