diff --git a/.eslintrc.js b/.eslintrc.js index 3663e2f317d..40331166ab1 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -7,6 +7,7 @@ module.exports = { "no-empty": 1, "no-invalid-regexp": 2, "no-regex-spaces": 2, + "no-unsafe-negation": 1, "valid-jsdoc": 0, "valid-typeof": 2, // http://eslint.org/docs/rules/#best-practices @@ -23,6 +24,7 @@ module.exports = { "no-new-wrappers": 2, "no-new": 2, "no-proto": 2, + "no-redeclare": 1, "no-script-url": 2, "wrap-iife": [2, "outside"], // http://eslint.org/docs/rules/#strict-mode diff --git a/Gruntfile.js b/Gruntfile.js index a6b638113b6..7b08d8738a1 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -268,21 +268,20 @@ module.exports = function (grunt) { ] }, watch: { - all : { - files: ['**/*', '!**/node_modules/**'], - tasks: ['eslint'] - }, - grunt : { - files: ['<%= meta.grunt %>', 'tasks/**/*'], + grunt: { + files: ['<%= meta.grunt %>'], tasks: ['eslint:grunt'] }, - src : { - files: ['<%= meta.src %>', 'src/**/*'], + src: { + files: ['<%= meta.src %>'], tasks: ['eslint:src'] }, - test : { - files: ['<%= meta.test %>', 'test/**/*'], + test: { + files: ['<%= meta.test %>'], tasks: ['eslint:test'] + }, + options: { + spawn: false } }, /* FIXME (jasonsanjose): how to handle extension tests */ diff --git a/build.json b/build.json index b2d5d0eda9a..908032018f5 100644 --- a/build.json +++ b/build.json @@ -1,6 +1,6 @@ { - "version": "release-1.9-prerelease-2", - "title" : "Brackets 1.9 Stable Pre-release for community testing", - "description" : "This is a Brackets 1.9 pre-release build.", + "version": "release-1.10-prerelease-3", + "title" : "Brackets 1.10 Pre-release for community testing", + "description" : "This is a Brackets 1.10 3rd pre-release build. This release removes the utf-8 encoding limitation, adds native menus for Linux, provides backward/forward navigation in edit history, Search History with UI, enable/disable default exetensions from extension manager, pseudo selector and AtRules hints in CSS, CSS hints in style attribute value for HTML documents.", "prerelease": true } diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index a96f2cea66a..e5df87e2b5a 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,6 +1,6 @@ { "name": "Brackets", - "version": "1.9.0-0", + "version": "1.10.0-0", "dependencies": { "abbrev": { "version": "1.1.0", @@ -190,6 +190,12 @@ "from": "aws4@>=1.2.1 <2.0.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz" }, + "babel-code-frame": { + "version": "6.22.0", + "from": "babel-code-frame@>=6.16.0 <7.0.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.22.0.tgz", + "dev": true + }, "balanced-match": { "version": "0.4.2", "from": "balanced-match@>=0.4.1 <0.5.0", @@ -249,6 +255,26 @@ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", "dev": true }, + "body-parser": { + "version": "1.14.2", + "from": "body-parser@>=1.14.0 <1.15.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz", + "dev": true, + "dependencies": { + "iconv-lite": { + "version": "0.4.13", + "from": "iconv-lite@0.4.13", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", + "dev": true + }, + "qs": { + "version": "5.2.0", + "from": "qs@5.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz", + "dev": true + } + } + }, "boom": { "version": "2.10.1", "from": "boom@>=2.0.0 <3.0.0", @@ -340,6 +366,12 @@ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", "dev": true }, + "bytes": { + "version": "2.2.0", + "from": "bytes@2.2.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz", + "dev": true + }, "caller-path": { "version": "0.1.0", "from": "caller-path@>=0.1.0 <0.2.0", @@ -505,6 +537,12 @@ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", "dev": true }, + "content-type": { + "version": "1.0.2", + "from": "content-type@>=1.0.1 <1.1.0", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz", + "dev": true + }, "core-util-is": { "version": "1.0.2", "from": "core-util-is@>=1.0.0 <1.1.0", @@ -577,10 +615,18 @@ "dev": true }, "debug": { - "version": "0.7.4", - "from": "debug@>=0.7.0 <0.8.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", - "dev": true + "version": "2.2.0", + "from": "debug@>=2.2.0 <2.3.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "dev": true, + "dependencies": { + "ms": { + "version": "0.7.1", + "from": "ms@0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "dev": true + } + } }, "decamelize": { "version": "1.2.0", @@ -622,6 +668,12 @@ "from": "delayed-stream@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" }, + "depd": { + "version": "1.1.0", + "from": "depd@>=1.1.0 <1.2.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz", + "dev": true + }, "des.js": { "version": "1.0.0", "from": "des.js@>=1.0.0 <2.0.0", @@ -635,9 +687,9 @@ "dev": true }, "doctrine": { - "version": "1.5.0", - "from": "doctrine@>=1.2.2 <2.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "version": "2.0.0", + "from": "doctrine@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz", "dev": true }, "domain-browser": { @@ -652,6 +704,12 @@ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", "optional": true }, + "ee-first": { + "version": "1.1.1", + "from": "ee-first@1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "dev": true + }, "elliptic": { "version": "6.4.0", "from": "elliptic@>=6.0.0 <7.0.0", @@ -695,16 +753,68 @@ "dev": true }, "es6-map": { - "version": "0.1.4", + "version": "0.1.5", "from": "es6-map@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz", - "dev": true + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "dev": true, + "dependencies": { + "d": { + "version": "1.0.0", + "from": "d@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "dev": true + }, + "es5-ext": { + "version": "0.10.15", + "from": "es5-ext@>=0.10.14 <0.11.0", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.15.tgz", + "dev": true + }, + "es6-iterator": { + "version": "2.0.1", + "from": "es6-iterator@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", + "dev": true + }, + "es6-symbol": { + "version": "3.1.1", + "from": "es6-symbol@>=3.1.1 <3.2.0", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "dev": true + } + } }, "es6-set": { - "version": "0.1.4", - "from": "es6-set@>=0.1.3 <0.2.0", - "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz", - "dev": true + "version": "0.1.5", + "from": "es6-set@>=0.1.5 <0.2.0", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "dev": true, + "dependencies": { + "d": { + "version": "1.0.0", + "from": "d@1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "dev": true + }, + "es5-ext": { + "version": "0.10.15", + "from": "es5-ext@~0.10.14", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.15.tgz", + "dev": true + }, + "es6-iterator": { + "version": "2.0.1", + "from": "es6-iterator@~2.0.1", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", + "dev": true + }, + "es6-symbol": { + "version": "3.1.1", + "from": "es6-symbol@3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "dev": true + } + } }, "es6-symbol": { "version": "3.1.0", @@ -713,10 +823,36 @@ "dev": true }, "es6-weak-map": { - "version": "2.0.1", + "version": "2.0.2", "from": "es6-weak-map@>=2.0.1 <3.0.0", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz", - "dev": true + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.2.tgz", + "dev": true, + "dependencies": { + "d": { + "version": "1.0.0", + "from": "d@1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "dev": true + }, + "es5-ext": { + "version": "0.10.15", + "from": "es5-ext@^0.10.14", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.15.tgz", + "dev": true + }, + "es6-iterator": { + "version": "2.0.1", + "from": "es6-iterator@^2.0.1", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.1.tgz", + "dev": true + }, + "es6-symbol": { + "version": "3.1.1", + "from": "es6-symbol@^3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "dev": true + } + } }, "escape-string-regexp": { "version": "1.0.5", @@ -730,9 +866,9 @@ "dev": true }, "eslint": { - "version": "2.13.1", - "from": "eslint@>=2.0.0 <3.0.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-2.13.1.tgz", + "version": "3.18.0", + "from": "eslint@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-3.18.0.tgz", "dev": true, "dependencies": { "argparse": { @@ -758,6 +894,12 @@ "from": "js-yaml@>=3.5.1 <4.0.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.8.2.tgz", "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "from": "strip-bom@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "dev": true } } }, @@ -773,6 +915,12 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", "dev": true }, + "esquery": { + "version": "1.0.0", + "from": "esquery@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz", + "dev": true + }, "esrecurse": { "version": "4.1.0", "from": "esrecurse@>=4.1.0 <5.0.0", @@ -800,10 +948,24 @@ "dev": true }, "event-emitter": { - "version": "0.3.4", - "from": "event-emitter@>=0.3.4 <0.4.0", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz", - "dev": true + "version": "0.3.5", + "from": "event-emitter@>=0.3.5 <0.4.0", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "dev": true, + "dependencies": { + "d": { + "version": "1.0.0", + "from": "d@1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", + "dev": true + }, + "es5-ext": { + "version": "0.10.15", + "from": "es5-ext@~0.10.14", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.15.tgz", + "dev": true + } + } }, "eventemitter2": { "version": "0.4.14", @@ -867,9 +1029,9 @@ "dev": true }, "faye-websocket": { - "version": "0.4.4", - "from": "faye-websocket@>=0.4.3 <0.5.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz", + "version": "0.10.0", + "from": "faye-websocket@>=0.10.0 <0.11.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", "dev": true }, "figures": { @@ -879,9 +1041,9 @@ "dev": true }, "file-entry-cache": { - "version": "1.3.1", - "from": "file-entry-cache@>=1.1.1 <2.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.3.1.tgz", + "version": "2.0.0", + "from": "file-entry-cache@>=2.0.0 <3.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", "dev": true }, "filename-regex": { @@ -1073,6 +1235,20 @@ "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", "dev": true }, + "globule": { + "version": "1.1.0", + "from": "globule@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.1.0.tgz", + "dev": true, + "dependencies": { + "lodash": { + "version": "4.16.6", + "from": "lodash@>=4.16.4 <4.17.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.16.6.tgz", + "dev": true + } + } + }, "graceful-fs": { "version": "4.1.11", "from": "graceful-fs@>=4.1.2 <5.0.0", @@ -1229,15 +1405,35 @@ "dev": true }, "grunt-contrib-watch": { - "version": "0.4.3", - "from": "grunt-contrib-watch@0.4.3", - "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-0.4.3.tgz", - "dev": true + "version": "1.0.0", + "from": "grunt-contrib-watch@1.0.0", + "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.0.0.tgz", + "dev": true, + "dependencies": { + "async": { + "version": "1.5.2", + "from": "async@>=1.5.0 <2.0.0", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "dev": true + }, + "gaze": { + "version": "1.1.2", + "from": "gaze@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.2.tgz", + "dev": true + }, + "lodash": { + "version": "3.10.1", + "from": "lodash@>=3.10.1 <4.0.0", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "dev": true + } + } }, "grunt-eslint": { - "version": "18.1.0", - "from": "grunt-eslint@18.1.0", - "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-18.1.0.tgz", + "version": "19.0.0", + "from": "grunt-eslint@19.0.0", + "resolved": "https://registry.npmjs.org/grunt-eslint/-/grunt-eslint-19.0.0.tgz", "dev": true }, "grunt-jasmine-node": { @@ -1400,6 +1596,12 @@ "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-0.5.6.tgz", "dev": true }, + "http-errors": { + "version": "1.3.1", + "from": "http-errors@>=1.3.1 <1.4.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz", + "dev": true + }, "http-signature": { "version": "1.1.1", "from": "http-signature@>=1.1.0 <1.2.0", @@ -1438,9 +1640,9 @@ "dev": true }, "ignore": { - "version": "3.2.4", - "from": "ignore@>=3.1.2 <4.0.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.2.4.tgz", + "version": "3.2.6", + "from": "ignore@>=3.2.0 <4.0.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.2.6.tgz", "dev": true }, "image-size": { @@ -1675,6 +1877,12 @@ "resolved": "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz", "optional": true }, + "js-tokens": { + "version": "3.0.1", + "from": "js-tokens@>=3.0.0 <4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.1.tgz", + "dev": true + }, "js-yaml": { "version": "2.0.5", "from": "js-yaml@>=2.0.5 <2.1.0", @@ -1790,6 +1998,12 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", "dev": true }, + "livereload-js": { + "version": "2.2.2", + "from": "livereload-js@>=2.2.0 <3.0.0", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.2.2.tgz", + "dev": true + }, "load-grunt-tasks": { "version": "3.5.0", "from": "load-grunt-tasks@3.5.0", @@ -1831,6 +2045,12 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", "dev": true }, + "media-typer": { + "version": "0.3.0", + "from": "media-typer@0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "dev": true + }, "memory-fs": { "version": "0.4.1", "from": "memory-fs@>=0.4.1 <0.5.0", @@ -1922,6 +2142,12 @@ "from": "nan@>=1.0.0 <1.1.0", "resolved": "https://registry.npmjs.org/nan/-/nan-1.0.0.tgz" }, + "natural-compare": { + "version": "1.4.0", + "from": "natural-compare@>=1.4.0 <2.0.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "dev": true + }, "node-libs-browser": { "version": "2.0.0", "from": "node-libs-browser@>=2.0.0 <3.0.0", @@ -1933,20 +2159,6 @@ "from": "nopt@>=3.0.1 <4.0.0", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz" }, - "noptify": { - "version": "0.0.3", - "from": "noptify@latest", - "resolved": "https://registry.npmjs.org/noptify/-/noptify-0.0.3.tgz", - "dev": true, - "dependencies": { - "nopt": { - "version": "2.0.0", - "from": "nopt@>=2.0.0 <2.1.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz", - "dev": true - } - } - }, "normalize-package-data": { "version": "2.3.6", "from": "normalize-package-data@>=2.3.2 <3.0.0", @@ -3488,6 +3700,12 @@ "from": "object.omit@>=2.0.0 <3.0.0", "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz" }, + "on-finished": { + "version": "2.3.0", + "from": "on-finished@>=2.3.0 <2.4.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "dev": true + }, "once": { "version": "1.4.0", "from": "once@>=1.3.0 <2.0.0", @@ -3588,6 +3806,12 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "dev": true }, + "parseurl": { + "version": "1.3.1", + "from": "parseurl@>=1.3.0 <1.4.0", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz", + "dev": true + }, "path-browserify": { "version": "0.0.0", "from": "path-browserify@0.0.0", @@ -3611,6 +3835,12 @@ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "dev": true }, + "path-parse": { + "version": "1.0.5", + "from": "path-parse@>=1.0.5 <2.0.0", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "dev": true + }, "path-type": { "version": "1.1.0", "from": "path-type@>=1.0.0 <2.0.0", @@ -3888,6 +4118,26 @@ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz", "dev": true }, + "raw-body": { + "version": "2.1.7", + "from": "raw-body@>=2.1.5 <2.2.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz", + "dev": true, + "dependencies": { + "bytes": { + "version": "2.4.0", + "from": "bytes@2.4.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz", + "dev": true + }, + "iconv-lite": { + "version": "0.4.13", + "from": "iconv-lite@0.4.13", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", + "dev": true + } + } + }, "read-pkg": { "version": "1.1.0", "from": "read-pkg@>=1.0.0 <2.0.0", @@ -3916,6 +4166,20 @@ "resolved": "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz", "dev": true }, + "rechoir": { + "version": "0.6.2", + "from": "rechoir@>=0.6.2 <0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "dev": true, + "dependencies": { + "resolve": { + "version": "1.3.2", + "from": "resolve@>=1.1.6 <2.0.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.3.2.tgz", + "dev": true + } + } + }, "regex-cache": { "version": "0.4.3", "from": "regex-cache@>=0.4.2 <0.5.0", @@ -4068,9 +4332,9 @@ "dev": true }, "shelljs": { - "version": "0.6.1", - "from": "shelljs@>=0.6.0 <0.7.0", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.6.1.tgz", + "version": "0.7.7", + "from": "shelljs@>=0.7.5 <0.8.0", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.7.tgz", "dev": true }, "sigmund": { @@ -4138,6 +4402,12 @@ } } }, + "statuses": { + "version": "1.3.1", + "from": "statuses@>=1.0.0 <2.0.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "dev": true + }, "stream-browserify": { "version": "2.0.1", "from": "stream-browserify@>=2.0.1 <3.0.0", @@ -4178,9 +4448,9 @@ "dev": true }, "strip-json-comments": { - "version": "1.0.4", - "from": "strip-json-comments@>=1.0.1 <1.1.0", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz", + "version": "2.0.1", + "from": "strip-json-comments@>=2.0.1 <2.1.0", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", "dev": true }, "supports-color": { @@ -4250,15 +4520,15 @@ "dev": true }, "tiny-lr": { - "version": "0.0.4", - "from": "tiny-lr@0.0.4", - "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.0.4.tgz", + "version": "0.2.1", + "from": "tiny-lr@>=0.2.1 <0.3.0", + "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-0.2.1.tgz", "dev": true, "dependencies": { "qs": { - "version": "0.5.6", - "from": "qs@>=0.5.2 <0.6.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz", + "version": "5.1.0", + "from": "qs@>=5.1.0 <5.2.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz", "dev": true } } @@ -4325,6 +4595,12 @@ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", "dev": true }, + "type-is": { + "version": "1.6.14", + "from": "type-is@>=1.6.10 <1.7.0", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.14.tgz", + "dev": true + }, "typedarray": { "version": "0.0.6", "from": "typedarray@>=0.0.6 <0.0.7", @@ -4369,6 +4645,12 @@ "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", "dev": true }, + "unpipe": { + "version": "1.0.0", + "from": "unpipe@1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "dev": true + }, "url": { "version": "0.11.0", "from": "url@>=0.11.0 <0.12.0", @@ -4476,6 +4758,18 @@ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-0.1.5.tgz", "dev": true }, + "websocket-driver": { + "version": "0.6.5", + "from": "websocket-driver@>=0.5.1", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", + "dev": true + }, + "websocket-extensions": { + "version": "0.1.1", + "from": "websocket-extensions@>=0.1.1", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz", + "dev": true + }, "which": { "version": "1.0.9", "from": "which@>=1.0.5 <1.1.0", diff --git a/package.json b/package.json index 35de9fe30e1..3a1a5b4746f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Brackets", - "version": "1.9.0-0", - "apiVersion": "1.9.0", + "version": "1.10.0-0", + "apiVersion": "1.10.0", "homepage": "http://brackets.io", "issues": { "url": "http://github.com/adobe/brackets/issues" @@ -35,8 +35,8 @@ "grunt-cli": "0.1.9", "phantomjs": "1.9.18", "grunt-lib-phantomjs": "0.3.0", - "grunt-eslint": "18.1.0", - "grunt-contrib-watch": "0.4.3", + "grunt-eslint": "19.0.0", + "grunt-contrib-watch": "1.0.0", "grunt-contrib-jasmine": "0.4.2", "grunt-template-jasmine-requirejs": "0.1.0", "grunt-contrib-cssmin": "0.6.0", @@ -68,4 +68,4 @@ "url": "https://github.com/adobe/brackets/blob/master/LICENSE" } ] -} +} \ No newline at end of file diff --git a/samples/ja/Getting Started/index.html b/samples/ja/Getting Started/index.html index 3b1f31734ee..bf6f491fef1 100644 --- a/samples/ja/Getting Started/index.html +++ b/samples/ja/Getting Started/index.html @@ -14,7 +14,7 @@
@@ -22,7 +22,7 @@
Brackets は、新しいタイプのエディターです。 @@ -30,7 +30,7 @@
@@ -71,7 +71,7 @@
@@ -114,7 +114,7 @@
@@ -155,4 +155,4 @@
+ 欢迎使用 Brackets,这是个很懂网页设计的现代化开放原始码程式编辑器。 + 轻巧又不失威力,整合多项视觉化的编辑功能,在需要时提供您适当的协助。 +
+ + ++ Brackets 与众不同。 + Brackets 提供「快速编辑」、「即时预览」等别的编辑器没有的独家功能。 + 而且 Brackets 是用 JavaScript, HTML 及 CSS 写出来的。这代表大多数使用 Brackets 的人都有能力修改及扩充它。 + 事实上,Brackets 本身就是我们用 Brackets 一天天打造出来的。 + 如果您想学会如何使用这些功能,请继续看下去。 +
+ + + ++ 只要开启包含您程式码的资料夹,就能使用 Brackets 来编辑。 + Brackets 会将目前开启的资料夹视为一个「专案」,「程式提示」、「即时预览」及「快速编辑」等功能都只会参考到专案裡的档案。 +
+ + + 要是您已经准备好关掉这个范例专案,开始编辑自已的程式,可以使用左边侧栏的下拉式选单切换资料夹。 + 现在应该是选到「Getting Started」,也就是您看的这份文件所在的资料夹。 + 按一下下拉式选单,点选「开启资料夹…」选项,就能开启您自已的资料夹。 + + 之后您也可以透过同样的下拉式选单切回开启过的资料夹,包含这个范例专案。 + + + ++ 别再因为不断切换档案而一直分神失焦了。编辑 HTML 时,按下 Cmd/Ctrl + E + 快速键就地开启编辑器,秀出所有相关的 CSS 规则。 + 调好 CSS 样式后按 ESC 马上就能回到 HTML 继续编辑。 + 此外,也可以放手让那些 CSS 规则一直开在 HTML 编辑器裡。 + 只要在快速编辑器的范围外按下 ESC 键,就能关掉所有快速编辑器。 + 快速编辑也能找到定义在 LESS 及 SCSS 档案中的规则,就算是巢状规则也没问题。 +
+ + + 想亲身体验吗? 把游标移到上面的 标籤中,按下 Cmd/Ctrl + E。 + 您应该就会看到 CSS 快速编辑器出现在上方,显示出所有套用到的 CSS 规则。 + 快速编辑功能也支援 class 及 id 属性。搭配 LESS 或 SCSS 档嘛会通喔。 + + 您也可以透过这个方式新增规则。在上方随便一个 标籤上点一下,按 Cmd/Ctrl + E。 + 可以看到它上面并没有任何 CSS 规则,但您可以按一下「新增规则」按钮,就会新增 规则。 + + + + + + ++ 您也能使用相同的快速键编辑其他东西,例如 JavaScript 函式、CSS 色彩、CSS 动画计时函式等,持续增加中。 +
++ 目前还不能在快速编辑器中巢状开启其他快速编辑器,只有游标在主编辑器时才能开快速编辑功能。 +
+ + ++ 有一种舞叫做「存档再重新载入探戈」,我们跳了好多年,您听过吗? + 就是在编辑器裡改一改东西,储存好,马上再切过去浏览器,按「重新整理」后才能真正的看到结果,超鸟的! + 用 Brackets,您永远不必再这麽「跳」。 +
++ Brackets 会跟您本机的浏览器即时连线,在您修改的同时将 HTML 及 CSS 内容更新过去! + 说不定活在 21 世纪的您已经用浏览器提供的开发者工具做过类似的事了。 + 但是用 Brackets,您不用再手动把总算是会动的程式複製贴回编辑器。 + 您的程式虽然是跑在浏览器上,但是所有的血与肉都还是在编辑器裡啊! +
+ ++ Brackets 让您更容易看到 HTML 及 CSS 的修改会对页面造成什麽影响。 + 当游标停在 CSS 规则上时,Brackets 会在浏览器裡将所有会受影响的元素突显出来。 + 编辑 HTML 档案时,Brackets 也会在浏览器中突显对应的 HTML 元素。 +
+ + + 如果您安装了 Google Chrome,马上就可以试看看。 + 按一下 Brackets 视窗右上角的闪电图示,或是按 Cmd/Ctrl + Alt + P。 + 当即时预览功能在 HTML 档案上启用后,所有连结到的 CSS 档案也都可以马上编辑马上生效。 + Brackets 与您的浏览器建立连线时,图示会由灰转金。 + + 就是现在,把游标移到上面的 标籤。注意看 Chrome 在图片上显示的蓝色框。 + 接下来,按 Cmd/Ctrl + E 开启相关的 CSS 规则定义。 + 试著将框线 (border) 值由 10px 改成 20px,或将背景色 (background-color) 由透明 "transparent" 改成 "hotpink"。 + 如果您把 Brackets 跟浏览器并排放好,就能看到所有异动都直接反应在浏览器上了。酷吧?! + + ++ 目前 Brackets 只能即时预览 HTML 及 CSS。不过,储存修改过的 JavaScript 档案时也会自动重新载入页面。 + 我们正在努力让即时预览功能支援 JavaScript。 + 此外,即时预览现在只能在 Google Chrome 上执行,我们希望将来能支援所有主流的浏览器。 +
+ ++ 为了那些记不得色彩十六进位值或是 RGB 值的人,Brackets 能快速又简单的让您看见色彩的真相。 + 不管在 CSS 或 HTML 中,只要将滑鼠游标移到任何色彩值或是渐变色上,Brackets 就会自动显示预览。 + 对图片也同样有用,在 Brackets 裡将滑鼠游标移到图片连结上,就会自动显示预览缩图。 +
+ + + 自已试试快速检视,只要将游标移到这份文件最上方的 标籤上,按下 Cmd/Ctrl + E + 开启 CSS 快速编辑器,将滑鼠游标移到 CSS 上的任何一个色彩值上就能看到。 + 想要预览渐变色,您也可以在 标籤上开启 CSS 快速编辑器,移到随便一个背景图片 (background-image) 值就能看到。 + 要试图片预览,则是将游标移到前几段提到的画面撷图上就能看到。 + + ++ 除了 Brackets 内建的这些好物外,我们那深具规模,且日益状大的开发者社群已经写出了数百个扩充功能。 + 如果您觉得 Brackets 少了什麽,说不定早就有人写好扩充功能了。 + 点一下 档案 > 扩充功能管理员...,再点一下「可使用」页籤,就能浏览或搜寻扩充功能清单。 + 一旦找到想要的扩充功能,按一下后面的「安装」按钮就可以了。 +
+ + ++ Brackets 专案是开放原始码的。世界各地的网页开发者贡献一己之力,只为打造出更好的程式编辑器。 + 也有不少人正在开发扩充功能,让 Brackets 更强大。 + 告诉我们您的想法,分享您的构想,或是直接为本专案做点事吧。 +
+