青瓷引擎 v1.0.7 官方最新版

青瓷引擎 v1.0.7 官方最新版

更新时间:2018-03-12
  • 软件大小: 23.7M
  • 软件类型: 正式版
  • 软件语言:简体中文

软件平台:WinXP/2000/vista/Win7/Win8/Win10

软件介绍

卷 新加卷 的文件夹 PATH 列表

卷序列号为 65B95B98 F8FF:98F6

E:网站资源打包工具青瓷引擎 V1_0_7 官方最新版

│ 西西软件园.txt



└─青瓷引擎

│ package.json

│ readme-cn.txt

│ readme-en.txt

│ start-mac.command

│ start-win.bat



├─editorservice

│ │ .DS_Store

│ │ Project.html

│ │ Start.js

│ │ StartService.js

│ │ Version.js

│ │

│ ├─base

│ │ ClientRepl.js

│ │ Compiler.js

│ │ Log.js

│ │ ModuleBase.js

│ │ Util.js

│ │

│ ├─cmd

│ │ ARCHIVE_VERSION.js

│ │ ASSET_TYPE.js

│ │ CHECK_FOR_UPDATES.js

│ │ CREATE_JS.js

│ │ CREATE_PROJECT.js

│ │ DEBUG.js

│ │ DOWNSCALE_ANIMATION.js

│ │ EXPLORE.js

│ │ GET_PLATFORM.js

│ │ GET_SCENE_BACKUP_LIST.js

│ │ GET_SCRIPT_ORDER.js

│ │ GET_USER_HOME_DIR.js

│ │ IMPORT_RESOURCE.js

│ │ INSTALL_PLUGIN.js

│ │ LIST_DIR.js

│ │ MKDIR.js

│ │ NEW_SCENE.js

│ │ NOTIFY_UPDATE_MESSAGE_RECEIVED.js

│ │ OPEN_JS.js

│ │ OPEN_PROJECT.js

│ │ PACK_EDITOR_SCENE.js

│ │ PREVIEW_GAME_HTML.js

│ │ PUBLISH.js

│ │ QUERY_EDITORSERVICE_SETTING.js

│ │ QUERY_PLUGIN_INFO.js

│ │ QUERY_PLUGIN_SCRIPT.js

│ │ QUERY_SETTINGS.js

│ │ RECENT_OPEN.js

│ │ REMOVE.js

│ │ REMOVE_BIN.js

│ │ REMOVE_RECENT_OPEN.js

│ │ RENAME.js

│ │ REVEAL_IN_FINDER.js

│ │ REVERT_SCENE_TO_REVISION.js

│ │ REVERT_TO_DRAGONBONES.js

│ │ SAMPLE_DRAGON_BONES.js

│ │ SAVE_ACTION.js

│ │ SAVE_ATLAS.js

│ │ SAVE_CURR_SCENE.js

│ │ SAVE_EDITORSERVICE_SETTING.js

│ │ SAVE_PADDING.js

│ │ SAVE_PLUGIN_INFO.js

│ │ SAVE_PREFAB.js

│ │ SAVE_SCENE.js

│ │ SERVICE_PIPE_COMMAND.js

│ │ SET_SCRIPT_ORDER.js

│ │ SOURCE.js

│ │ START_GAME_HTML.js

│ │ START_SCENE_HTML.js

│ │ SWITCH_LANGUAGE.js

│ │ SWITCH_SCENE.js

│ │ UPDATE_EDITOR_SETTINGS.js

│ │ UPDATE_PROJECT_SETTINGS.js

│ │ UPDATE_SCENE_SETTINGS.js

│ │ UPDATE_VERSION.js

│ │ UPLOAD.js

│ │

│ ├─filesystem

│ │ AutoConfigProject.js

│ │ AutoPackTempFile.js

│ │ FsExpand.js

│ │ GameFiles.js

│ │ Watch.js

│ │

│ ├─localize

│ │ Language.js

│ │ Localize.js

│ │

│ ├─misc

│ │ AssetType.js

│ │ toposort.js

│ │ UpdateManager.js

│ │

│ ├─module

│ │ ExternalModules.js

│ │ PluginScripts.js

│ │ Project.js

│ │ SceneManager.js

│ │ ServicePipe.js

│ │ Setting.js

│ │ UserScripts.js

│ │

│ ├─pack

│ │ │ Pack.js

│ │ │ Serializer.js

│ │ │

│ │ └─mod

│ │ Action.js

│ │ Atlas.js

│ │ Excel.js

│ │ Font.js

│ │ Prefab.js

│ │ Scene.js

│ │ SoundMp3.js

│ │ SoundOgg.js

│ │ Text.js

│ │ WFont.js

│ │

│ ├─patch

│ │ convertEntryScene.js

│ │ convertPrefabForRemoveUrl.js

│ │ convertScriptDependence.js

│ │ convertStateToScene.js

│ │ fixDefaultAnimation.js

│ │

│ ├─socket

│ │ Command.js

│ │ Communicate.js

│ │

│ ├─Template

│ │ .DS_Store

│ │ ApplicationCache.templet.appcache

│ │ Behaviour.templet.js

│ │ Class.templet.js

│ │ CodeEditor.templet.html

│ │ html_config.templet.js

│ │ html_initResizableGameSize.templet.js

│ │ html_init_simple.templet.js

│ │ index.templet.html

│ │ InstallPlugin.templet.html

│ │ jsDefineBehaviour.templet.js

│ │ jsExtendInspector.templet.js

│ │ PreviewGameCanvas.templet.html

│ │ PreviewGameWebGL.templet.html

│ │ Project.templet.html

│ │ Publish.templet.html

│ │ ScriptPackTemplate.js

│ │ StartGame.templet.html

│ │ StartHiddenScene.templet.html

│ │ StartScene.templet.html

│ │

│ └─welcome

│ │ .DS_Store

│ │

│ └─Assets

│ │ .DS_Store

│ │

│ ├─atlas

│ │ background.bin

│ │ project.bin

│ │

│ ├─css

│ │ style.css

│ │

│ ├─meta

│ │ globalUrlMap.js

│ │

│ ├─prefab

│ │ item.bin

│ │

│ ├─scene

│ │ Main.bin

│ │

│ └─state

│ Main.bin



├─lib

│ │ codemirror.css

│ │ codemirror.min.js

│ │ desert.css

│ │ game-scripts-mini-1.js

│ │ phaser.js

│ │ phaser.min.js

│ │ prettify.js

│ │ qc-core-debug.js

│ │ qc-core.js

│ │ qc-editor.js

│ │ qc-loading-debug.js

│ │ qc-loading-editor.js

│ │ qc-loading.js

│ │ qc-widget.js

│ │ socket.io.js

│ │ webfontloader.js

│ │

│ ├─codemirror

│ │ │ codemirror.css

│ │ │ codemirror.js

│ │ │

│ │ ├─addon

│ │ │ ├─comment

│ │ │ │ comment.js

│ │ │ │ continuecomment.js

│ │ │ │

│ │ │ ├─dialog

│ │ │ │ dialog.css

│ │ │ │ dialog.js

│ │ │ │

│ │ │ ├─edit

│ │ │ │ closebrackets.js

│ │ │ │ closetag.js

│ │ │ │ continuelist.js

│ │ │ │ matchbrackets.js

│ │ │ │ matchtags.js

│ │ │ │ trailingspace.js

│ │ │ │

│ │ │ ├─fold

│ │ │ │ brace-fold.js

│ │ │ │ comment-fold.js

│ │ │ │ foldcode.js

│ │ │ │ foldgutter.css

│ │ │ │ foldgutter.js

│ │ │ │ indent-fold.js

│ │ │ │ markdown-fold.js

│ │ │ │ xml-fold.js

│ │ │ │

│ │ │ ├─hint

│ │ │ │ anyword-hint.js

│ │ │ │ css-hint.js

│ │ │ │ html-hint.js

│ │ │ │ javascript-hint.js

│ │ │ │ show-hint.css

│ │ │ │ show-hint.js

│ │ │ │ sql-hint.js

│ │ │ │ xml-hint.js

│ │ │ │

│ │ │ ├─lint

│ │ │ │ coffeescript-lint.js

│ │ │ │ css-lint.js

│ │ │ │ javascript-lint.js

│ │ │ │ jslint.js

│ │ │ │ json-lint.js

│ │ │ │ lint.css

│ │ │ │ lint.js

│ │ │ │ yaml-lint.js

│ │ │ │

│ │ │ ├─scroll

│ │ │ │ annotatescrollbar.js

│ │ │ │ scrollpastend.js

│ │ │ │ simplescrollbars.css

│ │ │ │ simplescrollbars.js

│ │ │ │

│ │ │ └─search

│ │ │ match-highlighter.js

│ │ │ matchesonscrollbar.css

│ │ │ matchesonscrollbar.js

│ │ │ search.js

│ │ │ searchcursor.js

│ │ │

│ │ ├─keymap

│ │ │ emacs.js

│ │ │ sublime.js

│ │ │ vim.js

│ │ │

│ │ ├─mode

│ │ │ ├─css

│ │ │ │ css.js

│ │ │ │ index.html

│ │ │ │ less.html

│ │ │ │ less_test.js

│ │ │ │ scss.html

│ │ │ │ scss_test.js

│ │ │ │ test.js

│ │ │ │

│ │ │ └─javascript

│ │ │ index.html

│ │ │ javascript.js

│ │ │ json-ld.html

│ │ │ test.js

│ │ │ typescript.html

│ │ │

│ │ └─theme

│ │ material.css

│ │

│ └─imgs

│ │ .DS_Store

│ │ lost.png

│ │ qici.ico

│ │ qici.png

│ │

│ ├─1x

│ │ │ .DS_Store

│ │ │ ActionIcon.png

│ │ │ ActionManagerIcon.png

│ │ │ action_addevent.png

│ │ │ action_addframe.png

│ │ │ action_collapse.png

│ │ │ action_expand.png

│ │ │ action_folder.png

│ │ │ action_nextframe.png

│ │ │ action_play.png

│ │ │ action_preframe.png

│ │ │ action_record.png

│ │ │ alert.png

│ │ │ assets_folder.png

│ │ │ atlas_folder.png

│ │ │ audio_folder.png

│ │ │ CssIcon.png

│ │ │ css_folder.png

│ │ │ delete.png

│ │ │ error.png

│ │ │ excel_folder.png

│ │ │ folder.png

│ │ │ FontIcon.png

│ │ │ font_folder.png

│ │ │ HtmlIcon.png

│ │ │ inspector_button.png

│ │ │ inspector_dom.png

│ │ │ inspector_image.png

│ │ │ inspector_inputfield.png

│ │ │ inspector_node.png

│ │ │ inspector_particle.png

│ │ │ inspector_progressbar.png

│ │ │ inspector_rectTransform.png

│ │ │ inspector_scrollbar.png

│ │ │ inspector_scrollview.png

│ │ │ inspector_slider.png

│ │ │ inspector_sound.png

│ │ │ inspector_sprite.png

│ │ │ inspector_text.png

│ │ │ inspector_tilemap.png

│ │ │ inspector_title_tilelayer.png

│ │ │ inspector_title_tilemap.png

│ │ │ inspector_toggle.png

│ │ │ JsIcon.png

│ │ │ JsonIcon.png

│ │ │ js_folder.png

│ │ │ link_folder.png

│ │ │ loading.gif

│ │ │ lock.png

│ │ │ magnifying-glass.png

│ │ │ prefab_folder.png

│ │ │ project_collapse.png

│ │ │ project_expand.png

│ │ │ raw_folder.png

│ │ │ refresh.png

│ │ │ SoundIcon.png

│ │ │ sprite_folder.png

│ │ │ StateIcon.png

│ │ │ state_folder.png

│ │ │ tree_action_folder.png

│ │ │ tree_assets_folder.png

│ │ │ tree_atlas_folder.png

│ │ │ tree_audio_folder.png

│ │ │ tree_css_folder.png

│ │ │ tree_excel_folder.png

│ │ │ tree_folder.png

│ │ │ tree_font_folder.png

│ │ │ tree_js_folder.png

│ │ │ tree_link_folder.png

│ │ │ tree_prefab_folder.png

│ │ │ tree_raw_folder.png

│ │ │ tree_sprite_folder.png

│ │ │ tree_state_folder.png

│ │ │ UnknowIcon.png

│ │ │ unlock.png

│ │ │

│ │ └─Dark

│ │ .DS_Store

│ │ addcomponent_active.9.png

│ │ banner_background.9.png

│ │ banner_button.9.png

│ │ banner_button_active.9.png

│ │ banner_button_active_left.9.png

│ │ banner_button_active_right.9.png

│ │ banner_creator_active.9.png

│ │ banner_nextframe.9.png

│ │ banner_nextframe_active.9.png

│ │ banner_pause.9.png

│ │ banner_pause_active.9.png

│ │ banner_run.9.png

│ │ banner_run_active.9.png

│ │ checkIcon.png

│ │ collapse.png

│ │ contextmenu.9.png

│ │ debug.png

│ │ debug_active.png

│ │ dialog.9.png

│ │ dialog.close.9.png

│ │ dialogClose.png

│ │ dialog_button.9.png

│ │ dialog_button_active.9.png

│ │ editInRun.png

│ │ editInRun_active.png

│ │ expand.png

│ │ fitContent.png

│ │ fitContent_active.png

│ │ grid.png

│ │ grid_active.png

│ │ hierarchy.png

│ │ inspector.png

│ │ inspector_button.9.png

│ │ inspector_button_active.9.png

│ │ menu.9.png

│ │ menu_active.9.png

│ │ move.png

│ │ move_active.png

│ │ objectpicker.png

│ │ pan.png

│ │ panel_title.9.png

│ │ panel_title_text.9.png

│ │ pan_active.png

│ │ pause.png

│ │ pause_active.png

│ │ play.png

│ │ play_active.png

│ │ preview.9.png

│ │ project.png

│ │ projectSplitter.png

│ │ project_add.9.png

│ │ project_add.png

│ │ scale.png

│ │ scale_active.png

│ │ step.png

│ │ step_active.png

│ │ tab.9.png

│ │ textfield.9.png

│ │ textfield_active.9.png

│ │ transform.png

│ │ transform_active.png

│ │ uncheckIcon.png

│ │

│ ├─2x

│ │ │ .DS_Store

│ │ │ ActionIcon.png

│ │ │ ActionManagerIcon.png

│ │ │ action_addevent.png

│ │ │ action_addframe.png

│ │ │ action_collapse.png

│ │ │ action_expand.png

│ │ │ action_folder.png

│ │ │ action_nextframe.png

│ │ │ action_play.png

│ │ │ action_preframe.png

│ │ │ action_record.png

│ │ │ alert.png

│ │ │ assets_folder.png

│ │ │ atlas_folder.png

│ │ │ audio_folder.png

│ │ │ CssIcon.png

│ │ │ css_folder.png

│ │ │ delete.png

│ │ │ error.png

│ │ │ excel_folder.png

│ │ │ folder.png

│ │ │ FontIcon.png

│ │ │ font_folder.png

│ │ │ HtmlIcon.png

│ │ │ inspector_button.png

│ │ │ inspector_dom.png

│ │ │ inspector_image.png

│ │ │ inspector_inputfield.png

│ │ │ inspector_node.png

│ │ │ inspector_particle.png

│ │ │ inspector_progressbar.png

│ │ │ inspector_rectTransform.png

│ │ │ inspector_scrollbar.png

│ │ │ inspector_scrollview.png

│ │ │ inspector_slider.png

│ │ │ inspector_sound.png

│ │ │ inspector_sprite.png

│ │ │ inspector_text.png

│ │ │ inspector_tilemap.png

│ │ │ inspector_title_tilelayer.png

│ │ │ inspector_title_tilemap.png

│ │ │ inspector_toggle.png

│ │ │ JsIcon.png

│ │ │ JsonIcon.png

│ │ │ js_folder.png

│ │ │ link_folder.png

│ │ │ loading.gif

│ │ │ lock.png

│ │ │ magnifying-glass.png

│ │ │ prefab_folder.png

│ │ │ project_collapse.png

│ │ │ project_expand.png

│ │ │ raw_folder.png

│ │ │ refresh.png

│ │ │ SoundIcon.png

│ │ │ sprite_folder.png

│ │ │ StateIcon.png

│ │ │ state_folder.png

│ │ │ tree_action_folder.png

│ │ │ tree_assets_folder.png

│ │ │ tree_atlas_folder.png

│ │ │ tree_audio_folder.png

│ │ │ tree_css_folder.png

│ │ │ tree_excel_folder.png

│ │ │ tree_folder.png

│ │ │ tree_font_folder.png

│ │ │ tree_js_folder.png

│ │ │ tree_link_folder.png

│ │ │ tree_prefab_folder.png

│ │ │ tree_raw_folder.png

│ │ │ tree_sprite_folder.png

│ │ │ tree_state_folder.png

│ │ │ UnknowIcon.png

│ │ │ unlock.png

│ │ │

│ │ └─Dark

│ │ .DS_Store

│ │ addcomponent_active.9.png

│ │ banner_background.9.png

│ │ banner_button.9.png

│ │ banner_button_active.9.png

│ │ banner_button_active_left.9.png

│ │ banner_button_active_right.9.png

│ │ banner_creator_active.9.png

│ │ banner_nextframe.9.png

│ │ banner_nextframe_active.9.png

│ │ banner_pause.9.png

│ │ banner_pause_active.9.png

│ │ banner_run.9.png

│ │ banner_run_active.9.png

│ │ checkIcon.png

│ │ collapse.png

│ │ contextmenu.9.png

│ │ debug.png

│ │ debug_active.png

│ │ dialog.9.png

│ │ dialog.close.9.png

│ │ dialogClose.png

│ │ dialog_button.9.png

│ │ dialog_button_active.9.png

│ │ editInRun.png

│ │ editInRun_active.png

│ │ expand.png

│ │ fitContent.png

│ │ fitContent_active.png

│ │ grid.png

│ │ grid_active.png

│ │ hierarchy.png

│ │ inspector.png

│ │ inspector_button.9.png

│ │ inspector_button_active.9.png

│ │ menu.9.png

│ │ menu_active.9.png

│ │ move.png

│ │ move_active.png

│ │ objectpicker.png

│ │ pan.png

│ │ panel_title.9.png

│ │ panel_title_text.9.png

│ │ pan_active.png

│ │ pause.png

│ │ pause_active.png

│ │ play.png

│ │ play_active.png

│ │ preview.9.png

│ │ project.png

│ │ projectSplitter.png

│ │ project_add.9.png

│ │ project_add.png

│ │ scale.png

│ │ scale_active.png

│ │ step.png

│ │ step_active.png

│ │ tab.9.png

│ │ textfield.9.png

│ │ textfield_active.9.png

│ │ transform.png

│ │ transform_active.png

│ │ uncheckIcon.png

│ │

│ └─project

├─Node_js环境下载

│ node-v5.5.0-x64.msi



├─node_modules

│ ├─.bin

│ │ buildify

│ │ cake

│ │ cfb

│ │ cleancss

│ │ codepage

│ │ coffee

│ │ esparse

│ │ esvalidate

│ │ gzip-size

│ │ js-yaml

│ │ mime

│ │ nopt

│ │ opener

│ │ pretty-bytes

│ │ rimraf

│ │ semver

│ │ ssf

│ │ strip-indent

│ │ uglifyjs

│ │ voc

│ │ which

│ │ xlsx

│ │

│ ├─abbrev

│ │ .npmignore

│ │ .travis.yml

│ │ abbrev.js

│ │ CONTRIBUTING.md

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │ test.js

│ │

│ ├─accepts

│ │ HISTORY.md

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─adler-32

│ │ adler32.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─after

│ │ │ .npmignore

│ │ │ .travis.yml

│ │ │ index.js

│ │ │ LICENCE

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ └─test

│ │ after-test.js

│ │

│ ├─amdefine

│ │ amdefine.js

│ │ intercept.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─ansi-green

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ readme.md

│ │

│ ├─ansi-regex

│ │ index.js

│ │ license

│ │ package.json

│ │ readme.md

│ │

│ ├─ansi-styles

│ │ index.js

│ │ license

│ │ package.json

│ │ readme.md

│ │

│ ├─ansi-wrap

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─anymatch

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─archiver

│ │ │ LICENSE-MIT

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─lib

│ │ │ │ archiver.js

│ │ │ │ core.js

│ │ │ │

│ │ │ ├─plugins

│ │ │ │ json.js

│ │ │ │ tar.js

│ │ │ │ zip.js

│ │ │ │

│ │ │ └─util

│ │ │ file.js

│ │ │ index.js

│ │ │

│ │ └─node_modules

│ │ ├─async

│ │ │ │ .travis.yml

│ │ │ │ bower.json

│ │ │ │ component.json

│ │ │ │ LICENSE

│ │ │ │ package.json

│ │ │ │ README.md

│ │ │ │

│ │ │ ├─lib

│ │ │ │ async.js

│ │ │ │

│ │ │ └─support

│ │ │ sync-package-managers.js

│ │ │

│ │ ├─glob

│ │ │ common.js

│ │ │ glob.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.md

│ │ │ sync.js

│ │ │

│ │ ├─lodash

│ │ │ │ LICENSE.txt

│ │ │ │ lodash.js

│ │ │ │ package.json

│ │ │ │ README.md

│ │ │ │

│ │ │ └─dist

│ │ │ lodash.compat.js

│ │ │ lodash.compat.min.js

│ │ │ lodash.js

│ │ │ lodash.min.js

│ │ │ lodash.underscore.js

│ │ │ lodash.underscore.min.js

│ │ │

│ │ └─readable-stream

│ │ │ .npmignore

│ │ │ duplex.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ passthrough.js

│ │ │ readable.js

│ │ │ README.md

│ │ │ transform.js

│ │ │ writable.js

│ │ │

│ │ └─lib

│ │ _stream_duplex.js

│ │ _stream_passthrough.js

│ │ _stream_readable.js

│ │ _stream_transform.js

│ │ _stream_writable.js

│ │

│ ├─argparse

│ │ │ HISTORY.md

│ │ │ index.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─examples

│ │ │ arguments.js

│ │ │ choice.js

│ │ │ constants.js

│ │ │ help.js

│ │ │ nargs.js

│ │ │ parents.js

│ │ │ prefix_chars.js

│ │ │ sub_commands.js

│ │ │ sum.js

│ │ │ testformatters.js

│ │ │

│ │ ├─lib

│ │ │ │ action.js

│ │ │ │ action_container.js

│ │ │ │ argparse.js

│ │ │ │ argument_parser.js

│ │ │ │ const.js

│ │ │ │ namespace.js

│ │ │ │

│ │ │ ├─action

│ │ │ │ │ append.js

│ │ │ │ │ count.js

│ │ │ │ │ help.js

│ │ │ │ │ store.js

│ │ │ │ │ subparsers.js

│ │ │ │ │ version.js

│ │ │ │ │

│ │ │ │ ├─append

│ │ │ │ │ constant.js

│ │ │ │ │

│ │ │ │ └─store

│ │ │ │ constant.js

│ │ │ │ false.js

│ │ │ │ true.js

│ │ │ │

│ │ │ ├─argument

│ │ │ │ error.js

│ │ │ │ exclusive.js

│ │ │ │ group.js

│ │ │ │

│ │ │ └─help

│ │ │ added_formatters.js

│ │ │ formatter.js

│ │ │

│ │ └─node_modules

│ │ ├─underscore

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.md

│ │ │ underscore-min.js

│ │ │ underscore.js

│ │ │

│ │ └─underscore.string

│ │ │ .npmignore

│ │ │ .travis.yml

│ │ │ bower.json

│ │ │ component.json

│ │ │ foo.js

│ │ │ gulpfile.js

│ │ │ libpeerconnection.log

│ │ │ package.json

│ │ │ README.markdown

│ │ │

│ │ └─lib

│ │ underscore.string.js

│ │

│ ├─arr-diff

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─arr-flatten

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─array-flatten

│ │ array-flatten.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─array-unique

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─arraybuffer.slice

│ │ │ .npmignore

│ │ │ index.js

│ │ │ Makefile

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ └─test

│ │ slice-buffer.js

│ │

│ ├─arrify

│ │ index.js

│ │ license

│ │ package.json

│ │ readme.md

│ │

│ ├─async

│ │ │ .gitmodules

│ │ │ .npmignore

│ │ │ index.js

│ │ │ LICENSE

│ │ │ Makefile

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ └─lib

│ │ async.js

│ │

│ ├─async-each

│ │ .npmignore

│ │ bower.json

│ │ CHANGELOG.md

│ │ component.json

│ │ index.js

│ │ package.json

│ │ README.md

│ │

│ ├─backo2

│ │ │ .npmignore

│ │ │ component.json

│ │ │ History.md

│ │ │ index.js

│ │ │ Makefile

│ │ │ package.json

│ │ │ Readme.md

│ │ │

│ │ └─test

│ │ index.js

│ │

│ ├─balanced-match

│ │ │ .npmignore

│ │ │ .travis.yml

│ │ │ example.js

│ │ │ index.js

│ │ │ LICENSE.md

│ │ │ Makefile

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ └─test

│ │ balanced.js

│ │

│ ├─base64-arraybuffer

│ │ │ .npmignore

│ │ │ .travis.yml

│ │ │ grunt.js

│ │ │ LICENSE-MIT

│ │ │ package.json

│ │ │ package.json~

│ │ │ README.md

│ │ │ README.md~

│ │ │

│ │ ├─lib

│ │ │ base64-arraybuffer.js

│ │ │

│ │ └─test

│ │ base64-arraybuffer_test.js

│ │

│ ├─base64id

│ │ │ .npmignore

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ └─lib

│ │ base64id.js

│ │

│ ├─benchmark

│ │ │ benchmark.js

│ │ │ LICENSE.txt

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─doc

│ │ │ README.md

│ │ │

│ │ └─test

│ │ run-test.sh

│ │ test.js

│ │

│ ├─better-assert

│ │ .npmignore

│ │ example.js

│ │ History.md

│ │ index.js

│ │ Makefile

│ │ package.json

│ │ Readme.md

│ │

│ ├─binary-extensions

│ │ binary-extensions.json

│ │ license

│ │ package.json

│ │ readme.md

│ │

│ ├─bindings

│ │ bindings.js

│ │ package.json

│ │ README.md

│ │

│ ├─bl

│ │ │ .jshintrc

│ │ │ .npmignore

│ │ │ .travis.yml

│ │ │ bl.js

│ │ │ LICENSE.md

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─node_modules

│ │ │ └─readable-stream

│ │ │ │ .npmignore

│ │ │ │ duplex.js

│ │ │ │ LICENSE

│ │ │ │ package.json

│ │ │ │ passthrough.js

│ │ │ │ readable.js

│ │ │ │ README.md

│ │ │ │ transform.js

│ │ │ │ writable.js

│ │ │ │

│ │ │ └─lib

│ │ │ _stream_duplex.js

│ │ │ _stream_passthrough.js

│ │ │ _stream_readable.js

│ │ │ _stream_transform.js

│ │ │ _stream_writable.js

│ │ │

│ │ └─test

│ │ basic-test.js

│ │ sauce.js

│ │ test.js

│ │

│ ├─blob

│ │ │ .npmignore

│ │ │ .zuul.yml

│ │ │ index.js

│ │ │ Makefile

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ └─test

│ │ index.js

│ │

│ ├─body-parser

│ │ │ HISTORY.md

│ │ │ index.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ └─lib

│ │ │ read.js

│ │ │

│ │ └─types

│ │ json.js

│ │ raw.js

│ │ text.js

│ │ urlencoded.js

│ │

│ ├─brace-expansion

│ │ .npmignore

│ │ example.js

│ │ index.js

│ │ package.json

│ │ README.md

│ │

│ ├─braces

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─browserify-zlib

│ │ │ .npmignore

│ │ │ .travis.yml

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─src

│ │ │ binding.js

│ │ │ index.js

│ │ │

│ │ └─test

│ │ │ package.json

│ │ │ test-zlib-close-after-write.js

│ │ │ test-zlib-convenience-methods.js

│ │ │ test-zlib-from-string.js

│ │ │ test-zlib-invalid-input.js

│ │ │ test-zlib-random-byte-pipes.js

│ │ │ test-zlib-write-after-flush.js

│ │ │ test-zlib-zero-byte.js

│ │ │ test-zlib.js

│ │ │

│ │ ├─fixtures

│ │ │ elipses.txt

│ │ │ empty.txt

│ │ │ person.jpg

│ │ │

│ │ └─ignored

│ │ test-zlib-dictionary-fail.js

│ │ test-zlib-dictionary.js

│ │ test-zlib-params.js

│ │

│ ├─buffer-crc32

│ │ │ .npmignore

│ │ │ .travis.yml

│ │ │ index.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ └─tests

│ │ crc.test.js

│ │

│ ├─bufferutil

│ │ │ .npmignore

│ │ │ .travis.yml

│ │ │ binding.gyp

│ │ │ fallback.js

│ │ │ index.js

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─build

│ │ │ │ binding.Makefile

│ │ │ │ bufferutil.target.mk

│ │ │ │ config.gypi

│ │ │ │ gyp-mac-tool

│ │ │ │ Makefile

│ │ │ │

│ │ │ └─Release

│ │ │ │ bufferutil.node

│ │ │ │

│ │ │ ├─.deps

│ │ │ │ └─Release

│ │ │ │ │ bufferutil.node.d

│ │ │ │ │

│ │ │ │ └─obj.target

│ │ │ │ └─bufferutil

│ │ │ │ └─src

│ │ │ │ bufferutil.o.d

│ │ │ │

│ │ │ └─obj.target

│ │ │ └─bufferutil

│ │ │ └─src

│ │ │ bufferutil.o

│ │ │

│ │ └─src

│ │ bufferutil.cc

│ │

│ ├─buildify

│ │ │ .npmignore

│ │ │ index.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.md

│ │ │ tasks.js

│ │ │

│ │ ├─bin

│ │ │ cli.js

│ │ │

│ │ └─test

│ │ │ index.test.js

│ │ │

│ │ ├─support

│ │ │ bar.txt

│ │ │ foo.txt

│ │ │ template.txt

│ │ │

│ │ └─tasks

│ │ tasks.js

│ │

│ ├─builtin-modules

│ │ builtin-modules.json

│ │ index.js

│ │ license

│ │ package.json

│ │ readme.md

│ │ static.js

│ │

│ ├─bytes

│ │ History.md

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ Readme.md

│ │

│ ├─callsite

│ │ .npmignore

│ │ History.md

│ │ index.js

│ │ Makefile

│ │ package.json

│ │ Readme.md

│ │

│ ├─camelcase

│ │ index.js

│ │ license

│ │ package.json

│ │ readme.md

│ │

│ ├─camelcase-keys

│ │ index.js

│ │ license

│ │ package.json

│ │ readme.md

│ │

│ ├─cfb

│ │ │ cfb.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─bin

│ │ │ cfb.njs

│ │ │

│ │ └─dist

│ │ cfb.js

│ │ cfb.min.js

│ │ cfb.min.map

│ │ LICENSE

│ │ xlscfb.js

│ │

│ ├─chalk

│ │ index.js

│ │ license

│ │ package.json

│ │ readme.md

│ │

│ ├─chokidar

│ │ │ CHANGELOG.md

│ │ │ index.js

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ └─lib

│ │ fsevents-handler.js

│ │ nodefs-handler.js

│ │

│ ├─clean-css

│ │ │ .npmignore

│ │ │ History.md

│ │ │ index.js

│ │ │ LICENSE

│ │ │ Makefile

│ │ │ package.json

│ │ │ README.md

│ │ │ test.bat

│ │ │

│ │ ├─bin

│ │ │ cleancss

│ │ │

│ │ ├─lib

│ │ │ clean.js

│ │ │

│ │ └─test

│ │ │ batch-test.js

│ │ │ bench.js

│ │ │ binary-test.js

│ │ │ custom-test.js

│ │ │ unit-test.js

│ │ │

│ │ └─data

│ │ 960-min.css

│ │ 960.css

│ │ big-min.css

│ │ big.css

│ │ blueprint-min.css

│ │ blueprint.css

│ │ reset-min.css

│ │ reset.css

│ │

│ ├─codepage

│ │ │ cptable.js

│ │ │ cputils.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─bin

│ │ │ codepage.njs

│ │ │

│ │ └─dist

│ │ cpexcel.full.js

│ │ LICENSE

│ │

│ ├─coffee-script

│ │ │ .npmignore

│ │ │ CNAME

│ │ │ LICENSE

│ │ │ package.json

│ │ │ Rakefile

│ │ │ README

│ │ │

│ │ ├─bin

│ │ │ cake

│ │ │ coffee

│ │ │

│ │ ├─extras

│ │ │ jsl.conf

│ │ │

│ │ └─lib

│ │ └─coffee-script

│ │ browser.js

│ │ cake.js

│ │ coffee-script.js

│ │ command.js

│ │ grammar.js

│ │ helpers.js

│ │ index.js

│ │ lexer.js

│ │ nodes.js

│ │ optparse.js

│ │ parser.js

│ │ repl.js

│ │ rewriter.js

│ │ scope.js

│ │

│ ├─colors

│ │ │ colors.js

│ │ │ example.html

│ │ │ example.js

│ │ │ MIT-LICENSE.txt

│ │ │ package.json

│ │ │ ReadMe.md

│ │ │ test.js

│ │ │

│ │ └─themes

│ │ winston-dark.js

│ │ winston-light.js

│ │

│ ├─commander

│ │ History.md

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ Readme.md

│ │

│ ├─component-bind

│ │ .npmignore

│ │ component.json

│ │ History.md

│ │ index.js

│ │ Makefile

│ │ package.json

│ │ Readme.md

│ │

│ ├─component-emitter

│ │ .npmignore

│ │ .travis.yml

│ │ bower.json

│ │ component.json

│ │ History.md

│ │ index.js

│ │ Makefile

│ │ package.json

│ │ Readme.md

│ │

│ ├─component-inherit

│ │ │ .npmignore

│ │ │ component.json

│ │ │ History.md

│ │ │ index.js

│ │ │ Makefile

│ │ │ package.json

│ │ │ Readme.md

│ │ │

│ │ └─test

│ │ inherit.js

│ │

│ ├─compress-commons

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─lib

│ │ │ │ compress-commons.js

│ │ │ │

│ │ │ ├─archivers

│ │ │ │ │ archive-entry.js

│ │ │ │ │ archive-output-stream.js

│ │ │ │ │

│ │ │ │ └─zip

│ │ │ │ constants.js

│ │ │ │ general-purpose-bit.js

│ │ │ │ util.js

│ │ │ │ zip-archive-entry.js

│ │ │ │ zip-archive-output-stream.js

│ │ │ │

│ │ │ └─util

│ │ │ index.js

│ │ │

│ │ └─node_modules

│ │ └─readable-stream

│ │ │ .npmignore

│ │ │ duplex.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ passthrough.js

│ │ │ readable.js

│ │ │ README.md

│ │ │ transform.js

│ │ │ writable.js

│ │ │

│ │ └─lib

│ │ _stream_duplex.js

│ │ _stream_passthrough.js

│ │ _stream_readable.js

│ │ _stream_transform.js

│ │ _stream_writable.js

│ │

│ ├─compressible

│ │ HISTORY.md

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─compression

│ │ │ HISTORY.md

│ │ │ index.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ └─node_modules

│ │ └─bytes

│ │ History.md

│ │ index.js

│ │ package.json

│ │ Readme.md

│ │

│ ├─concat-map

│ │ │ .travis.yml

│ │ │ index.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.markdown

│ │ │

│ │ ├─example

│ │ │ map.js

│ │ │

│ │ └─test

│ │ map.js

│ │

│ ├─concat-stream

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ readme.md

│ │

│ ├─content-disposition

│ │ HISTORY.md

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─content-type

│ │ HISTORY.md

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─cookie

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─cookie-signature

│ │ .npmignore

│ │ History.md

│ │ index.js

│ │ package.json

│ │ Readme.md

│ │

│ ├─core-util-is

│ │ │ float.patch

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.md

│ │ │ test.js

│ │ │

│ │ └─lib

│ │ util.js

│ │

│ ├─cors

│ │ │ .eslintrc

│ │ │ .npmignore

│ │ │ .travis.yml

│ │ │ CONTRIBUTING.md

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─lib

│ │ │ index.js

│ │ │

│ │ └─test

│ │ basic-auth.js

│ │ body-events.js

│ │ cors.js

│ │ error-response.js

│ │ example-app.js

│ │ issue-2.js

│ │ issue-31.js

│ │ mocha.opts

│ │

│ ├─crc-32

│ │ .flowconfig

│ │ .jshintrc

│ │ .npmignore

│ │ crc32.flow.js

│ │ crc32.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─crc32-stream

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─lib

│ │ │ crc32-stream.js

│ │ │ deflate-crc32-stream.js

│ │ │ index.js

│ │ │

│ │ └─node_modules

│ │ └─readable-stream

│ │ │ .npmignore

│ │ │ duplex.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ passthrough.js

│ │ │ readable.js

│ │ │ README.md

│ │ │ transform.js

│ │ │ writable.js

│ │ │

│ │ └─lib

│ │ _stream_duplex.js

│ │ _stream_passthrough.js

│ │ _stream_readable.js

│ │ _stream_transform.js

│ │ _stream_writable.js

│ │

│ ├─dateformat

│ │ │ package.json

│ │ │ Readme.md

│ │ │

│ │ ├─lib

│ │ │ dateformat.js

│ │ │

│ │ └─test

│ │ test_weekofyear.js

│ │ test_weekofyear.sh

│ │

│ ├─debug

│ │ .jshintrc

│ │ .npmignore

│ │ bower.json

│ │ browser.js

│ │ component.json

│ │ debug.js

│ │ History.md

│ │ Makefile

│ │ node.js

│ │ package.json

│ │ Readme.md

│ │

│ ├─depd

│ │ │ History.md

│ │ │ index.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ Readme.md

│ │ │

│ │ └─lib

│ │ ├─browser

│ │ │ index.js

│ │ │

│ │ └─compat

│ │ buffer-concat.js

│ │ callsite-tostring.js

│ │ event-listener-count.js

│ │ index.js

│ │

│ ├─destroy

│ │ index.js

│ │ package.json

│ │ README.md

│ │

│ ├─ee-first

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─end-of-stream

│ │ .npmignore

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │ test.js

│ │

│ ├─engine.io

│ │ │ .npmignore

│ │ │ .travis.yml

│ │ │ History.md

│ │ │ index.js

│ │ │ Makefile

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─lib

│ │ │ │ engine.io.js

│ │ │ │ server.js

│ │ │ │ socket.js

│ │ │ │ transport.js

│ │ │ │

│ │ │ └─transports

│ │ │ index.js

│ │ │ polling-jsonp.js

│ │ │ polling-xhr.js

│ │ │ polling.js

│ │ │ websocket.js

│ │ │

│ │ └─node_modules

│ │ ├─debug

│ │ │ .jshintrc

│ │ │ .npmignore

│ │ │ browser.js

│ │ │ component.json

│ │ │ debug.js

│ │ │ History.md

│ │ │ Makefile

│ │ │ node.js

│ │ │ package.json

│ │ │ Readme.md

│ │ │

│ │ └─ms

│ │ .npmignore

│ │ index.js

│ │ package.json

│ │ README.md

│ │

│ ├─engine.io-client

│ │ │ .npmignore

│ │ │ .travis.yml

│ │ │ .zuul.yml

│ │ │ engine.io.js

│ │ │ History.md

│ │ │ index.js

│ │ │ Makefile

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─lib

│ │ │ │ index.js

│ │ │ │ socket.js

│ │ │ │ transport.js

│ │ │ │ xmlhttprequest.js

│ │ │ │

│ │ │ └─transports

│ │ │ index.js

│ │ │ polling-jsonp.js

│ │ │ polling-xhr.js

│ │ │ polling.js

│ │ │ websocket.js

│ │ │

│ │ └─node_modules

│ │ ├─debug

│ │ │ .jshintrc

│ │ │ .npmignore

│ │ │ browser.js

│ │ │ component.json

│ │ │ debug.js

│ │ │ History.md

│ │ │ Makefile

│ │ │ node.js

│ │ │ package.json

│ │ │ Readme.md

│ │ │

│ │ ├─ms

│ │ │ .npmignore

│ │ │ index.js

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ └─parseuri

│ │ History.md

│ │ index.js

│ │ Makefile

│ │ package.json

│ │ test.js

│ │

│ ├─engine.io-parser

│ │ │ .npmignore

│ │ │ .travis.yml

│ │ │ .zuul.yml

│ │ │ History.md

│ │ │ index.js

│ │ │ LICENSE

│ │ │ Makefile

│ │ │ package.json

│ │ │ Readme.md

│ │ │

│ │ └─lib

│ │ browser.js

│ │ index.js

│ │ keys.js

│ │

│ ├─error-ex

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─escape-html

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ Readme.md

│ │

│ ├─escape-string-regexp

│ │ index.js

│ │ license

│ │ package.json

│ │ readme.md

│ │

│ ├─esprima

│ │ │ esprima.js

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─bin

│ │ │ esparse.js

│ │ │ esvalidate.js

│ │ │

│ │ └─test

│ │ compat.js

│ │ reflect.js

│ │ run.js

│ │ runner.js

│ │ test.js

│ │

│ ├─etag

│ │ HISTORY.md

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─eventemitter2

│ │ │ index.js

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ └─lib

│ │ eventemitter2.js

│ │

│ ├─exit

│ │ │ .jshintrc

│ │ │ .npmignore

│ │ │ .travis.yml

│ │ │ Gruntfile.js

│ │ │ LICENSE-MIT

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─lib

│ │ │ exit.js

│ │ │

│ │ └─test

│ │ │ exit_test.js

│ │ │

│ │ └─fixtures

│ │ 10-stderr.txt

│ │ 10-stdout-stderr.txt

│ │ 10-stdout.txt

│ │ 100-stderr.txt

│ │ 100-stdout-stderr.txt

│ │ 100-stdout.txt

│ │ 1000-stderr.txt

│ │ 1000-stdout-stderr.txt

│ │ 1000-stdout.txt

│ │ create-files.sh

│ │ log-broken.js

│ │ log.js

│ │

│ ├─expand-brackets

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─expand-range

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─express

│ │ │ History.md

│ │ │ index.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ Readme.md

│ │ │

│ │ ├─lib

│ │ │ │ application.js

│ │ │ │ express.js

│ │ │ │ request.js

│ │ │ │ response.js

│ │ │ │ utils.js

│ │ │ │ view.js

│ │ │ │

│ │ │ ├─middleware

│ │ │ │ init.js

│ │ │ │ query.js

│ │ │ │

│ │ │ └─router

│ │ │ index.js

│ │ │ layer.js

│ │ │ route.js

│ │ │

│ │ └─node_modules

│ │ ├─accepts

│ │ │ HISTORY.md

│ │ │ index.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─depd

│ │ │ │ History.md

│ │ │ │ index.js

│ │ │ │ LICENSE

│ │ │ │ package.json

│ │ │ │ Readme.md

│ │ │ │

│ │ │ └─lib

│ │ │ └─compat

│ │ │ buffer-concat.js

│ │ │ callsite-tostring.js

│ │ │ index.js

│ │ │

│ │ ├─negotiator

│ │ │ │ HISTORY.md

│ │ │ │ index.js

│ │ │ │ LICENSE

│ │ │ │ package.json

│ │ │ │ README.md

│ │ │ │

│ │ │ └─lib

│ │ │ charset.js

│ │ │ encoding.js

│ │ │ language.js

│ │ │ mediaType.js

│ │ │

│ │ ├─qs

│ │ │ │ .eslintignore

│ │ │ │ .npmignore

│ │ │ │ .travis.yml

│ │ │ │ bower.json

│ │ │ │ CHANGELOG.md

│ │ │ │ CONTRIBUTING.md

│ │ │ │ LICENSE

│ │ │ │ package.json

│ │ │ │ README.md

│ │ │ │

│ │ │ ├─lib

│ │ │ │ index.js

│ │ │ │ parse.js

│ │ │ │ stringify.js

│ │ │ │ utils.js

│ │ │ │

│ │ │ └─test

│ │ │ parse.js

│ │ │ stringify.js

│ │ │ utils.js

│ │ │

│ │ └─vary

│ │ HISTORY.md

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─extglob

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─figures

│ │ index.js

│ │ license

│ │ package.json

│ │ readme.md

│ │

│ ├─file-sync-cmp

│ │ │ .eslintrc

│ │ │ .npmignore

│ │ │ .travis.yml

│ │ │ index.js

│ │ │ LICENSE

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ └─test

│ │ .eslintrc

│ │ test.js

│ │

│ ├─filename-regex

│ │ index.js

│ │ package.json

│ │ README.md

│ │

│ ├─fill-range

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─finalhandler

│ │ HISTORY.md

│ │ index.js

│ │ LICENSE

│ │ package.json

│ │ README.md

│ │

│ ├─find-up

│ │ index.js

│ │ license

│ │ package.json

│ │ readme.md

│ │

│ ├─findup-sync

│ │ │ .jshintrc

│ │ │ .npmignore

│ │ │ .travis.yml

│ │ │ Gruntfile.js

│ │ │ LICENSE-MIT

│ │ │ package.json

│ │ │ README.md

│ │ │

│ │ ├─lib

│ │ │ findup-sync.js

│ │ │

│ │ ├─node_modules

│ │ │ ├─gl

青瓷引擎是一套开源免费的JavaScript游戏引擎类库,其基于开源免费的Phaser游戏引擎,并提供了一套完全基于浏览器的跨平台集成式HTML5游戏编辑器。

功能描述:

上手容易,学习成本低

引擎、编辑器、后台均基于JavaScript数百个工程示例Demo及完整游戏教程助力用户学习掌握。

开发效率高

重新定义了HTML5游戏的开发工作流,开发、调试尽在浏览器内。不断丰富的插件库,让游戏开发更加便捷、简单。

一站式集成工具套件

开发和整合了游戏中用到的各种工具,强调了各工具之间的无缝融合,大大提升了开发效率。

传播更广

游戏无需浏览器安装额外插件,适应性更广,更利于传播。

开源免费 便于扩展

MIT开源协议,面向组件式编程,支持组件热拔插,方便扩展维护。核心库及编辑器都是纯JavaScript,便于用户自行扩展修改。

可视化编辑 所见即所得

先进的UI界面布局规则,简单几步,无需编码即可适配各种分辨率。强大的可视化编辑功能,拖拖拽拽便可以实现很多复杂的功能。

安装说明:

Windows下安装

首先安装Node.js环境


如果您本机已经安装了Node.js,推荐您升级到最新版本,青瓷引擎支持的Node.js版本:

Node.js合并io.js之前任何 v0.12.x 的版本

Node.js合并io.js之后任何高于 v4.1 的版本

下载青瓷引擎

通过青瓷引擎官网下载免安装包,并解压

运行青瓷引擎

双击start-win.bat运行,青瓷引擎编辑器将自动在浏览器中打开:


也可在解压目录下,通过命令行启动 node ./editorservice/StartService.js

青瓷引擎编辑器可运行在任何支持HTML5的浏览器,但建议采用Google Chrome浏览器运行性能最佳

浏览器的访问地址为:http://localhost:port/project.html 其中port端口值见控制台(默认都为5002):

在浏览器中打开的界面如图:

操作示例说明:

创建工程

指定工程文件夹名:HelloWorld。操作方法如下:

工程设置

设定编辑器布局为:竖屏。操作方法:选择菜单“Layout/Portrait”

选择菜单“Project/Settings...”,在Inspector面板中打开工程设置界面

设置值如下:

Project Name(工程名): HelloWorld

Game Name(游戏名):HelloWorld

Company(开发者姓名或公司名):qcplay

Identifier(游戏唯一标识符,需要保证唯一):com.qici.helloworld

Version(当前工程的版本号):0.9

其他字段使用默认值

创建场景

创建一个空的场景,步骤如下:

选择菜单“Project/New Scene”

场景中挂载个UIRoot对象(暂时可以理解为放界面元素的根节点就好了)

保存场景,场景名称:HelloWorld,场景的文件路径:Assets/state/HelloWorld.bin

设置为入口场景

将刚才创建的新场景HelloWorld加入到场景列表中。方法是打开Project Setting面板,将场景选中:

在场景列表中,第一个即为入口场景(系统会自动加载)

场景需要勾选后,才能被加载。否则发布时将视为无效场景

添加脚本

这里,我们使用代码创建一个文本,并显示:”Hello World!“。

在Project面板中,右击”Script“创建一个js文件:Init.js

双击打开,编辑代码如下:

 var Init = qc.defineBehaviour('qc.helloworld.Init', qc.Behaviour, function() {

 }, {
 });

 Init.prototype.awake = function() {     // create a text
     var node = this.game.add.text(this.gameObject);
     node.text = 'Hello World!';
     node.color = new qc.Color(0xffffff);
 };

将此代码挂载到UIRoot节点(方法是直接拖拽到节点上),这样此脚本就能被调度运行。 

代码讲解

首先,我们定义一个类:qc.helloworld.Init。qc.defineBehaviour接收4个参数,这里可以先简单了解下:
第一个参数:类的名字为qc.helloworld.Init
第二个参数:所有挂载到场景对象(本示例为UIRoot节点)的脚本,都应该继承自:qc.Behaviour
第三个参数:脚本对象的构造函数
第四个参数:可被序列化的对象字段及其类型描述

  var Init = qc.defineBehaviour('qc.helloworld.Init', qc.Behaviour, function() {

  }, {
  });

然后,在Init对象的awake函数中,添加逻辑代码以创建text。awake并不需要开发者自己去调度,当UIRoot这个节点被反序列化后,系统自动调用脚本的awake方法

在awake方法中:

this.game:游戏实例的引用

this.game.add:对象创建工厂(可以用来创建文本、图片、精灵等对象)

this.gameObject:本逻辑脚本挂载的目标游戏对象(本实例为UIRoot)

this.game.add.text(this.gameObject):在UIRoot节点下,创建一个Text对象

然后设置文本内容为:'Hello World!'

最后设置文本颜色值为白色

运行起来

保存当前场景

点击”运行“按钮,查看结果

让文字居中

默认情况下,文本的位置在屏幕左上角(0,0)。修改Init.js代码,在awake中,添加如下代码:

    // 设置文本对象原点在中心
    node.pivotX = 0.5;
    node.pivotY = 0.5;    // 位置居中
    node.x = this.gameObject.width/2;
    node.y = this.gameObject.height/2;    // 文本水平对齐
    node.alignH = qc.UIText.CENTER;

运行之,现在文本居中显示了。

换个方式:不要编码

在之前的实现方式中,如果非编码人员(如策划人员、美术人员)想要调整显示的文字、位置和样式等,他们是没有能力自行修改的。
因此我们换一种方式,直接在场景中可视化创建文字对象,并设置其内容、文字大小等信息:

将Init.js从UIRoot对象中干掉,这样此脚本将无法自动被调度了

在UIRoot下创建UIText节点,并在Inspector面板中设置其内容

运行查看效果

是不是比手写代码快很多?

 

这一切如何发生的呢?

从传统的编程方式来看,到这里会有一些疑问:程序执行入口在哪?编辑器”偷偷摸摸“干了些啥?让我们依次展开详细解释。
首先,将本工程发布出来
打开文件:StartGame.html,查看文件内容。这里按顺序摘取主要内容依次解释。

游戏配置
由编辑器根据Project Settings自动生成

  qici.config = {
      projectName: 'HelloWorld',
      gameName: 'HelloWorld',
      companyName: 'qcplay',
      bundleIdentifier: 'com.qici.helloworld',
      gameInstance: 'qc_game',
      backgroundColor: 4671303,
      runInBackground: true,
      antialias: true,
      transparent: false,
      developerMode: false,
      renderer: 'Auto',
      loadingPrefab: '',
      scene: {      "HelloWorld" : "Assets/state/HelloWorld.bin"
      },
      entityScene : 'HelloWorld',
      loading: {
          loadingInterval: 200,
          brightingInterval: 10,
          blinkingCount: 5,
          blinkingInterval: 70,
          fadingInterval: 400
      }
  };

导入引擎库文件和用户脚本文件
游戏一开始会出现吃豆子的加载动画,这过程加载如下几个代码文件:

  qici.scripts = [    
    './Assets/meta/globalUrlMap.js',     
     'http://engine.zuoyouxi.com/lib/0.97.06/phaser.min.js',     
     'http://engine.zuoyouxi.com/lib/0.97.06/webfontloader.js',    
    'http://engine.zuoyouxi.com/lib/0.97.06/qc-core.js',     
    // External scripts for plugins
    
    // User scripts    
   './js/game-scripts-mini-0.9.js'
  ];

加载这些js文件和播放进度的动画表现,在qc-loading.js脚本中实现:

<body onload="qici.init();">  
<div id="gameDiv" style="position:relative;"></div>
  <script src='http://engine.zuoyouxi.com/lib/0.97.06/qc-loading.js'></script>
</body>

游戏实例初始化
在编辑器目录,打开lib/qc-loading-debug.js文件。加载js文件和进度表现的逻辑忽略不看;
当js文件加载完毕后,调用qici.loadGame方法:

qici.loadGame = function() {  var game = window[qici.config.gameInstance] = new qc.Game({
      width: '100%',
      height: '100%',
      parent: 'gameDiv',
      state: qici.splashState,
      editor: qici.config.editor === true,
      backgroundColor: new qc.Color(qici.config.backgroundColor),
      runInBackground: qici.config.runInBackground,
      antialias: qici.config.antialias,
      transparent: qici.config.transparent,
      debug: qici.config.developerMode === true,
      renderer: (function() {        
        if (qici.config.renderer === 'WebGL') {           
           return Phaser.WEBGL;
          }      
        if (qici.config.renderer === 'Canvas'){          
            return Phaser.CANVAS;
          }       
             return Phaser.AUTO;
      })()
  });
  game.bundleIdentifier = qici.config.bundleIdentifier;
  game.log.important('**** [QICI Engine]Starting game: {0}', qici.config.gameName);
};

游戏的初始化流程在这里实现了:实例化qc.Game,构造函数接收一个object进行配置。大部分配置属性暂时不去理会,这里着重看下state(值为qici.splashState)

Splash State
这个其实是个空的内置场景,此场景完成一些初始化信息(例如loading动画等)。最重要的是:通过此场景载入入口场景(本例子为HelloWorld)。主流程如下:

qici.splashState = {
  init: function() {     
   window[qici.config.gameInstance].fullScreen();
  },
  preload: function() {    
    var game = window[qici.config.gameInstance];   
       if (qici.config.loadingPrefab) {
          game.assets.load('__loading_prefab__', qici.config.loadingPrefab);
      }     
      var text = game.add.text();
      text.text = 'Initializing, please wait ...';
      text.setAnchor(new qc.Point(0, 0), new qc.Point(1, 1));
      text.left = 0;
      text.right = 0;
      text.top = 0;
      text.bottom = 0;
      text.alignH = qc.UIText.CENTER;
      text.alignV = qc.UIText.MIDDLE;
      text.fontSize = 24;
      text.color = new qc.Color(0xffffff);
      text.strokeThickness = 2;
      text.stroke = new qc.Color(0x000000);
      game._initText_ = text;
      game.updateScale(true);
  },
  create: function() {    
        var game = window[qici.config.gameInstance];
      game.state.entity = qici.config.entityScene;
      game.state.list = qici.config.scene;   
         var node;   
         if (qici.config.loadingPrefab) {     
              var prefab = game.assets.find('__loading_prefab__');      
         if (prefab) {
              node = game.add.clone(prefab);
              node.ignoreDestroy = true;
              node.visible = false;
          }
      }   
         if (game._initText_) {     
              if (node) {
              game._initText_.destroyImmediately();
          }          delete game._initText_;
      }
      game.phaser.time.events.add(1, function() { game.state.load(game.state.entity, true); });  
      if (qici.config.frameRate) game.time.frameRate = qici.config.frameRate;
  }
};

进入主场景后,系统反序列化场景内容并逐一构建场景对象。构建完毕后依次初始化场景节点(通过调用逻辑脚本的awake函数)

初始化流程总结

这些初始化流程编辑器已经自动帮你完成:

实例化qc.Game

Game启动后,依次调用SplashState场景(空的内置场景)的init、preload和create,并载入入口场景

下载、反序列化入口场景,将场景重新构建后调用awake方法(挂载到对象的逻辑脚本才会调用)

更新日志:

场景统一使用:scene(原来部分使用了state)

修改截屏接口的包围盒获取方式,使用相对自己的坐标而非世界坐标

TileLayer增加接口:setTileIndex,支持动态修改地图块

增加2个加密/解密接口:qc.Des.encrypt和qc.Des.decrypt

Tween组件duration参数默认为1(原来为0)

合并Arcade物理插件帧调度时机

图片在canvas渲染模式下,当宽高为0时不绘制

Node节点增加事件:onDeserialized(反序化完成事件)

qc.Color增加属性:r、g、b

DOM节点增加alpha属性

Canvas绘制时,默认开启roundPixeds选项

替换编辑器首页样式

部分内置文件夹限制删除,如以下目录:Assets/raw、Assets/scene等

开启脏矩形时,当父节点被移除后,子节点所在范围没有更新

NodeMask组件在RenderTexture中绘制时,位置更新不及时

在X5浏览上,DOM插入到隐藏节点位置绘制不对

Slider中的滑块不是固定大小时,追踪点击失效

Button在开启NativeClick时,父亲节点隐藏后依然可以响应点击

图集只有一张图片时,frameNames属性错误

输入框被编辑时,父亲节点隐藏时依然可见

数组类型字段反序列化时,存在多处引用

帧率限制在发布后不起效

富文本插件

粒子插件预览版

动画编辑器预览版

Box2D物理插件预览版

固定游戏大小功能(见ProjectSetting的fixedGameSize配置)