diff --git a/.bumpversion.cfg b/.bumpversion.cfg
--- a/.bumpversion.cfg
+++ b/.bumpversion.cfg
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 4.3.1
+current_version = 4.4.0
message = release: Bump version {current_version} to {new_version}
[bumpversion:file:rhodecode/VERSION]
diff --git a/.hgignore b/.hgignore
--- a/.hgignore
+++ b/.hgignore
@@ -8,6 +8,7 @@ syntax: glob
*.swp
*.tox
*.DS_Store*
+rhodecode/public/js/src/components/**/*.css
syntax: regexp
@@ -23,6 +24,7 @@ syntax: regexp
^_dev
^._dev
^build/
+^bower_components/
^coverage\.xml$
^data$
^\.eggs/
@@ -38,7 +40,11 @@ syntax: regexp
^rcextensions/
^result$
^rhodecode/public/css/style.css$
+^rhodecode/public/css/style-polymer.css$
+^rhodecode/public/js/rhodecode-components.html$
^rhodecode/public/js/scripts.js$
+^rhodecode/public/js/src/components/root-styles.gen.html$
+^rhodecode/public/js/vendors/webcomponentsjs/
^rhodecode\.db$
^rhodecode\.log$
^rhodecode_dev\.log$
diff --git a/.release.cfg b/.release.cfg
--- a/.release.cfg
+++ b/.release.cfg
@@ -4,26 +4,21 @@ done = false
[task:bump_version]
done = true
-[task:rc_tools_pinned]
-done = true
-
[task:fixes_on_stable]
-done = true
[task:pip2nix_generated]
-done = true
[task:changelog_updated]
-done = true
[task:generate_api_docs]
-done = true
+
+[task:updated_translation]
[release]
-state = prepared
-version = 4.3.1
+state = in_progress
+version = 4.4.0
-[task:updated_translation]
+[task:rc_tools_pinned]
[task:generate_js_routes]
diff --git a/Gruntfile.js b/Gruntfile.js
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -1,144 +1,15 @@
-module.exports = function(grunt) {
- grunt.initConfig({
-
- dirs: {
- css: "rhodecode/public/css",
- js: {
- "src": "rhodecode/public/js/src",
- "dest": "rhodecode/public/js"
- }
- },
-
- concat: {
- dist: {
- src: [
- // Base libraries
- '<%= dirs.js.src %>/jquery-1.11.1.min.js',
- '<%= dirs.js.src %>/logging.js',
- '<%= dirs.js.src %>/bootstrap.js',
- '<%= dirs.js.src %>/mousetrap.js',
- '<%= dirs.js.src %>/moment.js',
- '<%= dirs.js.src %>/appenlight-client-0.4.1.min.js',
- '<%= dirs.js.src %>/i18n_utils.js',
- '<%= dirs.js.src %>/deform.js',
-
- // Plugins
- '<%= dirs.js.src %>/plugins/jquery.pjax.js',
- '<%= dirs.js.src %>/plugins/jquery.dataTables.js',
- '<%= dirs.js.src %>/plugins/flavoured_checkbox.js',
- '<%= dirs.js.src %>/plugins/jquery.auto-grow-input.js',
- '<%= dirs.js.src %>/plugins/jquery.autocomplete.js',
- '<%= dirs.js.src %>/plugins/jquery.debounce.js',
- '<%= dirs.js.src %>/plugins/jquery.mark.js',
- '<%= dirs.js.src %>/plugins/jquery.timeago.js',
- '<%= dirs.js.src %>/plugins/jquery.timeago-extension.js',
- '<%= dirs.js.src %>/plugins/toastr.js',
-
- // Select2
- '<%= dirs.js.src %>/select2/select2.js',
-
- // Code-mirror
- '<%= dirs.js.src %>/codemirror/codemirror.js',
- '<%= dirs.js.src %>/codemirror/codemirror_loadmode.js',
- '<%= dirs.js.src %>/codemirror/codemirror_hint.js',
- '<%= dirs.js.src %>/codemirror/codemirror_overlay.js',
- '<%= dirs.js.src %>/codemirror/codemirror_placeholder.js',
- // TODO: mikhail: this is an exception. Since the code mirror modes
- // are loaded "on the fly", we need to keep them in a public folder
- '<%= dirs.js.dest %>/mode/meta.js',
- '<%= dirs.js.dest %>/mode/meta_ext.js',
- '<%= dirs.js.dest %>/rhodecode/i18n/select2/translations.js',
-
- // Rhodecode utilities
- '<%= dirs.js.src %>/rhodecode/utils/array.js',
- '<%= dirs.js.src %>/rhodecode/utils/string.js',
- '<%= dirs.js.src %>/rhodecode/utils/pyroutes.js',
- '<%= dirs.js.src %>/rhodecode/utils/ajax.js',
- '<%= dirs.js.src %>/rhodecode/utils/autocomplete.js',
- '<%= dirs.js.src %>/rhodecode/utils/colorgenerator.js',
- '<%= dirs.js.src %>/rhodecode/utils/ie.js',
- '<%= dirs.js.src %>/rhodecode/utils/os.js',
- '<%= dirs.js.src %>/rhodecode/utils/topics.js',
-
- // Rhodecode widgets
- '<%= dirs.js.src %>/rhodecode/widgets/multiselect.js',
+var gruntConfig = require('./grunt_config.json');
- // Rhodecode components
- '<%= dirs.js.src %>/rhodecode/init.js',
- '<%= dirs.js.src %>/rhodecode/connection_controller.js',
- '<%= dirs.js.src %>/rhodecode/codemirror.js',
- '<%= dirs.js.src %>/rhodecode/comments.js',
- '<%= dirs.js.src %>/rhodecode/constants.js',
- '<%= dirs.js.src %>/rhodecode/files.js',
- '<%= dirs.js.src %>/rhodecode/followers.js',
- '<%= dirs.js.src %>/rhodecode/menus.js',
- '<%= dirs.js.src %>/rhodecode/notifications.js',
- '<%= dirs.js.src %>/rhodecode/permissions.js',
- '<%= dirs.js.src %>/rhodecode/pjax.js',
- '<%= dirs.js.src %>/rhodecode/pullrequests.js',
- '<%= dirs.js.src %>/rhodecode/settings.js',
- '<%= dirs.js.src %>/rhodecode/select2_widgets.js',
- '<%= dirs.js.src %>/rhodecode/tooltips.js',
- '<%= dirs.js.src %>/rhodecode/users.js',
- '<%= dirs.js.src %>/rhodecode/utils/notifications.js',
- '<%= dirs.js.src %>/rhodecode/appenlight.js',
-
- // Rhodecode main module
- '<%= dirs.js.src %>/rhodecode.js'
- ],
- dest: '<%= dirs.js.dest %>/scripts.js',
- nonull: true
- }
- },
-
- less: {
- development: {
- options: {
- compress: false,
- yuicompress: false,
- optimization: 0
- },
- files: {
- "<%= dirs.css %>/style.css": "<%= dirs.css %>/main.less"
- }
- },
- production: {
- options: {
- compress: true,
- yuicompress: true,
- optimization: 2
- },
- files: {
- "<%= dirs.css %>/style.css": "<%= dirs.css %>/main.less"
- }
- }
- },
-
- watch: {
- less: {
- files: ["<%= dirs.css %>/*.less"],
- tasks: ["less:production"]
- },
- js: {
- files: ["<%= dirs.js.src %>/**/*.js"],
- tasks: ["concat:dist"]
- }
- },
-
- jshint: {
- rhodecode: {
- src: '<%= dirs.js.src %>/rhodecode/**/*.js',
- options: {
- jshintrc: '.jshintrc'
- }
- }
- }
- });
+module.exports = function(grunt) {
+ grunt.initConfig(gruntConfig);
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-jshint');
+ grunt.loadNpmTasks('grunt-vulcanize');
+ grunt.loadNpmTasks('grunt-crisper');
+ grunt.loadNpmTasks('grunt-contrib-copy');
- grunt.registerTask('default', ['less:production', 'concat:dist']);
+ grunt.registerTask('default', ['less:production', 'less:components', 'concat:polymercss', 'copy','vulcanize', 'crisper', 'concat:dist']);
};
diff --git a/MANIFEST.in b/MANIFEST.in
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -29,6 +29,9 @@ recursive-include rhodecode *.mako
# 502 page
include rhodecode/public/502.html
+# 502 page
+include rhodecode/public/502.html
+
# images, css
include rhodecode/public/css/*.css
include rhodecode/public/images/*.*
diff --git a/bower.json b/bower.json
new file mode 100644
--- /dev/null
+++ b/bower.json
@@ -0,0 +1,15 @@
+{
+ "name": "rhodecode-elements",
+ "description": "User interface for elements for rhodecode",
+ "main": "index.html",
+ "dependencies": {
+ "webcomponentsjs": "^0.7.22",
+ "polymer": "Polymer/polymer#^1.6.1",
+ "paper-button": "PolymerElements/paper-button#^1.0.13",
+ "paper-spinner": "PolymerElements/paper-spinner#^1.2.0",
+ "paper-tooltip": "PolymerElements/paper-tooltip#^1.1.2",
+ "paper-toast": "PolymerElements/paper-toast#^1.3.0",
+ "paper-toggle-button": "PolymerElements/paper-toggle-button#^1.2.0",
+ "iron-ajax": "PolymerElements/iron-ajax#^1.4.3"
+ }
+}
diff --git a/configs/development.ini b/configs/development.ini
--- a/configs/development.ini
+++ b/configs/development.ini
@@ -414,7 +414,7 @@ search.location = %(here)s/data/index
## channelstream enables persistent connections and live notification
## in the system. It's also used by the chat system
-channelstream.enabled = true
+channelstream.enabled = false
## location of channelstream server on the backend
channelstream.server = 127.0.0.1:9800
## location of the channelstream server from outside world
diff --git a/configs/production.ini b/configs/production.ini
--- a/configs/production.ini
+++ b/configs/production.ini
@@ -388,7 +388,7 @@ search.location = %(here)s/data/index
## channelstream enables persistent connections and live notification
## in the system. It's also used by the chat system
-channelstream.enabled = true
+channelstream.enabled = false
## location of channelstream server on the backend
channelstream.server = 127.0.0.1:9800
## location of the channelstream server from outside world
diff --git a/default.nix b/default.nix
--- a/default.nix
+++ b/default.nix
@@ -30,6 +30,10 @@ let
then pythonPackages
else getAttr pythonPackages pkgs;
+ buildBowerComponents =
+ pkgs.buildBowerComponents or
+ (import ./pkgs/backport-16.03-build-bower-components.nix { inherit pkgs; });
+
elem = builtins.elem;
basename = path: with pkgs.lib; last (splitString "/" path);
startsWith = prefix: full: let
@@ -41,31 +45,28 @@ let
ext = last (splitString "." path);
in
!elem (basename path) [
- ".git" ".hg" "__pycache__" ".eggs" "node_modules"
- "build" "data" "tmp"] &&
+ ".git" ".hg" "__pycache__" ".eggs"
+ "bower_components" "node_modules"
+ "build" "data" "result" "tmp"] &&
!elem ext ["egg-info" "pyc"] &&
+ # TODO: johbo: This check is wrong, since "path" contains an absolute path,
+ # it would still be good to restore it since we want to ignore "result-*".
!startsWith "result" path;
sources = pkgs.config.rc.sources or {};
+ version = builtins.readFile ./rhodecode/VERSION;
rhodecode-enterprise-ce-src = builtins.filterSource src-filter ./.;
- # Load the generated node packages
- nodePackages = pkgs.callPackage "${pkgs.path}/pkgs/top-level/node-packages.nix" rec {
- self = nodePackages;
- generated = pkgs.callPackage ./pkgs/node-packages.nix { inherit self; };
+ nodeEnv = import ./pkgs/node-default.nix {
+ inherit pkgs;
};
+ nodeDependencies = nodeEnv.shell.nodeDependencies;
- # TODO: Should be taken automatically out of the generates packages.
- # apps.nix has one solution for this, although I'd prefer to have the deps
- # from package.json mapped in here.
- nodeDependencies = with nodePackages; [
- grunt
- grunt-contrib-concat
- grunt-contrib-jshint
- grunt-contrib-less
- grunt-contrib-watch
- jshint
- ];
+ bowerComponents = buildBowerComponents {
+ name = "enterprise-ce-${version}";
+ generated = ./pkgs/bower-packages.nix;
+ src = rhodecode-enterprise-ce-src;
+ };
pythonGeneratedPackages = self: basePythonPackages.override (a: {
inherit self;
@@ -86,16 +87,25 @@ let
pythonLocalOverrides = self: super: {
rhodecode-enterprise-ce =
let
- version = builtins.readFile ./rhodecode/VERSION;
- linkNodeModules = ''
+ linkNodeAndBowerPackages = ''
+ echo "Export RhodeCode CE path"
+ export RHODECODE_CE_PATH=${rhodecode-enterprise-ce-src}
echo "Link node packages"
- # TODO: check if this adds stuff as a dependency, closure size
rm -fr node_modules
- mkdir -p node_modules
- ${pkgs.lib.concatMapStrings (dep: ''
- ln -sfv ${dep}/lib/node_modules/${dep.pkgName} node_modules/
- '') nodeDependencies}
+ mkdir node_modules
+ # johbo: Linking individual packages allows us to run "npm install"
+ # inside of a shell to try things out. Re-entering the shell will
+ # restore a clean environment.
+ ln -s ${nodeDependencies}/lib/node_modules/* node_modules/
+
echo "DONE: Link node packages"
+
+ echo "Link bower packages"
+ rm -fr bower_components
+ mkdir bower_components
+
+ ln -s ${bowerComponents}/bower_components/* bower_components/
+ echo "DONE: Link bower packages"
'';
in super.rhodecode-enterprise-ce.override (attrs: {
@@ -109,6 +119,7 @@ let
buildInputs =
attrs.buildInputs ++
(with self; [
+ pkgs.nodePackages.bower
pkgs.nodePackages.grunt-cli
pkgs.subversion
pytest-catchlog
@@ -123,7 +134,8 @@ let
# pkgs/default.nix?
passthru = {
inherit
- linkNodeModules
+ bowerComponents
+ linkNodeAndBowerPackages
myPythonPackagesUnfix
pythonLocalOverrides;
pythonPackages = self;
@@ -145,7 +157,7 @@ let
export PYTHONPATH="$tmp_path/${self.python.sitePackages}:$PYTHONPATH"
mkdir -p $tmp_path/${self.python.sitePackages}
python setup.py develop --prefix $tmp_path --allow-hosts ""
- '' + linkNodeModules;
+ '' + linkNodeAndBowerPackages;
preCheck = ''
export PATH="$out/bin:$PATH"
@@ -156,7 +168,7 @@ let
rm -rf $out/lib/${self.python.libPrefix}/site-packages/rhodecode/tests
'';
- preBuild = linkNodeModules + ''
+ preBuild = linkNodeAndBowerPackages + ''
grunt
rm -fr node_modules
'';
diff --git a/docs/admin/lab-settings.rst b/docs/admin/lab-settings.rst
--- a/docs/admin/lab-settings.rst
+++ b/docs/admin/lab-settings.rst
@@ -29,13 +29,3 @@ 4. You will see the labs setting on the
:menuselection:`Admin --> Settings --> labs` page.
.. image:: ../images/lab-setting.png
-
-Available Lab Extras
---------------------
-
-Once lab settings are enabled, the following features are available.
-
-.. toctree::
- :maxdepth: 1
-
- svn-http
diff --git a/docs/admin/svn-http.rst b/docs/admin/svn-http.rst
deleted file mode 100644
--- a/docs/admin/svn-http.rst
+++ /dev/null
@@ -1,130 +0,0 @@
-.. _svn-http:
-
-|svn| With Write Over HTTP
---------------------------
-
-To use |svn| with read/write support over the |svn| protocol, you have to
-configure HTTP |svn| backend.
-
-Prerequisites
-^^^^^^^^^^^^^
-
-- Enable HTTP support inside labs setting on your |RCE| instance,
- see :ref:`lab-settings`.
-- You need to install the following tools on the machine that is running an
- instance of |RCE|:
- ``Apache HTTP Server`` and
- ``mod_dav_svn``.
-
-
-Using Ubuntu Distribution as an example you can run:
-
-.. code-block:: bash
-
- $ sudo apt-get install apache2 libapache2-mod-svn
-
-Once installed you need to enable ``dav_svn`` and ``anon``:
-
-.. code-block:: bash
-
- $ sudo a2enmod dav_svn
- $ sudo a2enmod authn_anon
-
-
-Configuring Apache Setup
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-.. tip::
-
- It is recommended to run Apache on a port other than 80, due to possible
- conflicts with other HTTP servers like nginx. To do this, set the
- ``Listen`` parameter in the ``/etc/apache2/ports.conf`` file, for example
- ``Listen 8090``.
-
-
-.. warning::
-
- Make sure your Apache instance which runs the mod_dav_svn module is
- only accessible by RhodeCode. Otherwise everyone is able to browse
- the repositories or run subversion operations (checkout/commit/etc.).
-
-It is also recommended to run apache as the same user as |RCE|, otherwise
-permission issues could occur. To do this edit the ``/etc/apache2/envvars``
-
- .. code-block:: apache
-
- export APACHE_RUN_USER=rhodecode
- export APACHE_RUN_GROUP=rhodecode
-
-1. To configure Apache, create and edit a virtual hosts file, for example
- :file:`/etc/apache2/sites-available/default.conf`. Below is an example
- how to use one with auto-generated config ```mod_dav_svn.conf```
- from configured |RCE| instance.
-
-.. code-block:: apache
-
-
- ServerAdmin rhodecode-admin@localhost
- DocumentRoot /var/www/html
- ErrorLog ${APACHE_LOG_DIR}/error.log
- CustomLog ${APACHE_LOG_DIR}/access.log combined
- Include /home/user/.rccontrol/enterprise-1/mod_dav_svn.conf
-
-
-
-2. Go to the :menuselection:`Admin --> Settings --> Labs` page, and
- enable :guilabel:`Proxy Subversion HTTP requests`, and specify the
- :guilabel:`Subversion HTTP Server URL`.
-
-3. Open the |RCE| configuration file,
- :file:`/home/{user}/.rccontrol/{instance-id}/rhodecode.ini`
-
-4. Add the following configuration option in the ``[app:main]``
- section if you don't have it yet.
-
- This enable mapping of created |RCE| repo groups into special |svn| paths.
- Each time a new repository group will be created the system will update
- the template file, and create new mapping. Apache web server needs to be
- reloaded to pick up the changes on this file.
- It's recommended to add reload into a crontab so the changes can be picked
- automatically once someone creates an repository group inside RhodeCode.
-
-
-.. code-block:: ini
-
- ##############################################
- ### Subversion proxy support (mod_dav_svn) ###
- ##############################################
- ## Enable or disable the config file generation.
- svn.proxy.generate_config = true
- ## Generate config file with `SVNListParentPath` set to `On`.
- svn.proxy.list_parent_path = true
- ## Set location and file name of generated config file.
- svn.proxy.config_file_path = %(here)s/mod_dav_svn.conf
- ## File system path to the directory containing the repositories served by
- ## RhodeCode.
- svn.proxy.parent_path_root = /path/to/repo_store
- ## Used as a prefix to the block in the generated config file. In
- ## most cases it should be set to `/`.
- svn.proxy.location_root = /
-
-
-This would create a special template file called ```mod_dav_svn.conf```. We
-used that file path in the apache config above inside the Include statement.
-
-
-Using |svn|
-^^^^^^^^^^^
-
-Once |svn| has been enabled on your instance, you can use it using the
-following examples. For more |svn| information, see the `Subversion Red Book`_
-
-.. code-block:: bash
-
- # To clone a repository
- svn checkout http://my-svn-server.example.com/my-svn-repo
-
- # svn commit
- svn commit
-
-.. _Subversion Red Book: http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.ref.svn
diff --git a/docs/admin/vcs-server.rst b/docs/admin/vcs-server.rst
--- a/docs/admin/vcs-server.rst
+++ b/docs/admin/vcs-server.rst
@@ -26,6 +26,7 @@ For more information, see the following
* :ref:`vcs-server-versions`
* :ref:`vcs-server-maintain`
* :ref:`vcs-server-config-file`
+* :ref:`svn-http`
.. _install-vcs:
@@ -297,5 +298,133 @@ For a more detailed explanation of the l
format = %(asctime)s.%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
datefmt = %Y-%m-%d %H:%M:%S
+.. _svn-http:
-.. _Ask Ubuntu: http://askubuntu.com/questions/162391/how-do-i-fix-my-locale-issue
+|svn| With Write Over HTTP
+^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+To use |svn| with read/write support over the |svn| HTTP protocol, you have to
+configure the HTTP |svn| backend.
+
+Prerequisites
+=============
+
+- Enable HTTP support inside the admin VCS settings on your |RCE| instance
+- You need to install the following tools on the machine that is running an
+ instance of |RCE|:
+ ``Apache HTTP Server`` and
+ ``mod_dav_svn``.
+
+
+Using Ubuntu Distribution as an example you can run:
+
+.. code-block:: bash
+
+ $ sudo apt-get install apache2 libapache2-mod-svn
+
+Once installed you need to enable ``dav_svn``:
+
+.. code-block:: bash
+
+ $ sudo a2enmod dav_svn
+
+Configuring Apache Setup
+========================
+
+.. tip::
+
+ It is recommended to run Apache on a port other than 80, due to possible
+ conflicts with other HTTP servers like nginx. To do this, set the
+ ``Listen`` parameter in the ``/etc/apache2/ports.conf`` file, for example
+ ``Listen 8090``.
+
+
+.. warning::
+
+ Make sure your Apache instance which runs the mod_dav_svn module is
+ only accessible by RhodeCode. Otherwise everyone is able to browse
+ the repositories or run subversion operations (checkout/commit/etc.).
+
+It is also recommended to run apache as the same user as |RCE|, otherwise
+permission issues could occur. To do this edit the ``/etc/apache2/envvars``
+
+ .. code-block:: apache
+
+ export APACHE_RUN_USER=rhodecode
+ export APACHE_RUN_GROUP=rhodecode
+
+1. To configure Apache, create and edit a virtual hosts file, for example
+ :file:`/etc/apache2/sites-available/default.conf`. Below is an example
+ how to use one with auto-generated config ```mod_dav_svn.conf```
+ from configured |RCE| instance.
+
+.. code-block:: apache
+
+
+ ServerAdmin rhodecode-admin@localhost
+ DocumentRoot /var/www/html
+ ErrorLog ${'${APACHE_LOG_DIR}'}/error.log
+ CustomLog ${'${APACHE_LOG_DIR}'}/access.log combined
+ Include /home/user/.rccontrol/enterprise-1/mod_dav_svn.conf
+
+
+
+2. Go to the :menuselection:`Admin --> Settings --> VCS` page, and
+ enable :guilabel:`Proxy Subversion HTTP requests`, and specify the
+ :guilabel:`Subversion HTTP Server URL`.
+
+3. Open the |RCE| configuration file,
+ :file:`/home/{user}/.rccontrol/{instance-id}/rhodecode.ini`
+
+4. Add the following configuration option in the ``[app:main]``
+ section if you don't have it yet.
+
+ This enables mapping of the created |RCE| repo groups into special |svn| paths.
+ Each time a new repository group is created, the system will update
+ the template file and create new mapping. Apache web server needs to be
+ reloaded to pick up the changes on this file.
+ It's recommended to add reload into a crontab so the changes can be picked
+ automatically once someone creates a repository group inside RhodeCode.
+
+
+.. code-block:: ini
+
+ ##############################################
+ ### Subversion proxy support (mod_dav_svn) ###
+ ##############################################
+ ## Enable or disable the config file generation.
+ svn.proxy.generate_config = true
+ ## Generate config file with `SVNListParentPath` set to `On`.
+ svn.proxy.list_parent_path = true
+ ## Set location and file name of generated config file.
+ svn.proxy.config_file_path = %(here)s/mod_dav_svn.conf
+ ## File system path to the directory containing the repositories served by
+ ## RhodeCode.
+ svn.proxy.parent_path_root = /path/to/repo_store
+ ## Used as a prefix to the block in the generated config file. In
+ ## most cases it should be set to `/`.
+ svn.proxy.location_root = /
+
+
+This would create a special template file called ```mod_dav_svn.conf```. We
+used that file path in the apache config above inside the Include statement.
+
+
+Using |svn|
+===========
+
+Once |svn| has been enabled on your instance, you can use it with the
+following examples. For more |svn| information, see the `Subversion Red Book`_
+
+.. code-block:: bash
+
+ # To clone a repository
+ svn checkout http://my-svn-server.example.com/my-svn-repo
+
+ # svn commit
+ svn commit
+
+.. _Subversion Red Book: http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.ref.svn
+
+
+.. _Ask Ubuntu: http://askubuntu.com/questions/162391/how-do-i-fix-my-locale-issue
\ No newline at end of file
diff --git a/docs/contributing/contributing.rst b/docs/contributing/contributing.rst
--- a/docs/contributing/contributing.rst
+++ b/docs/contributing/contributing.rst
@@ -18,3 +18,4 @@ Welcome to the contribution guides and d
db-schema
dev-settings
api
+ dependencies
diff --git a/docs/contributing/dependencies.rst b/docs/contributing/dependencies.rst
new file mode 100644
--- /dev/null
+++ b/docs/contributing/dependencies.rst
@@ -0,0 +1,60 @@
+
+=======================
+ Dependency management
+=======================
+
+
+Overview
+========
+
+We use the Nix package manager to handle our dependencies. In general we use the
+packages out of the package collection `nixpkgs`. For frequently changing
+dependencies for Python and JavaScript we use the tools which are described in
+this section to generate the needed Nix derivations.
+
+
+Python dependencies
+===================
+
+We use the tool `pip2nix` to generate the Nix derivations for our Python
+dependencies.
+
+Generating the dependencies should be done with the following command:
+
+.. code:: shell
+
+ pip2nix generate --license
+
+
+.. note::
+
+ License extraction support is still experimental, use the version from the
+ following pull request: https://github.com/ktosiek/pip2nix/pull/30
+
+
+
+Node dependencies
+=================
+
+After adding new dependencies via ``npm install --save``, use `node2nix` to
+update the corresponding Nix derivations:
+
+.. code:: shell
+
+ cd pkgs
+ node2nix --input ../package.json \
+ -o node-packages.nix \
+ -e node-env.nix \
+ -c node-default.nix \
+ -d --flatten
+
+
+Bower dependencies
+==================
+
+Frontend dependencies are managed based on `bower`, with `bower2nix` a tool
+exists which can generate the needed Nix derivations:
+
+.. code:: shell
+
+ bower2nix bower.json pkgs/bower-packages.nix
diff --git a/docs/contributing/dev-setup.rst b/docs/contributing/dev-setup.rst
--- a/docs/contributing/dev-setup.rst
+++ b/docs/contributing/dev-setup.rst
@@ -111,15 +111,18 @@ time operation::
Compile CSS and JavaScript
^^^^^^^^^^^^^^^^^^^^^^^^^^
-To use the application's frontend, you will need to compile the CSS and
-JavaScript with Grunt. This is easily done from within the nix-shell using the
-following command::
+To use the application's frontend and prepare it for production deployment,
+you will need to compile the CSS and JavaScript with Grunt.
+This is easily done from within the nix-shell using the following command::
+
+ grunt
- make web-build
+When developing new features you will need to recompile following any
+changes made to the CSS or JavaScript files when developing the code::
-You will need to recompile following any changes made to the CSS or JavaScript
-files.
+ grunt watch
+This prepares the development (with comments/whitespace) versions of files.
Start the Development Server
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/docs/contributing/standards.rst b/docs/contributing/standards.rst
--- a/docs/contributing/standards.rst
+++ b/docs/contributing/standards.rst
@@ -45,6 +45,11 @@ JavaScript
----------
This currently remains undefined. Suggestions welcome!
+However, we have decided to go forward with W3C standards and picked
+WebComponents as the foundation of user interface. New functionality should
+be implemented as components using the
+`Polymer Project` `_ library
+and should avoid external dependencies like `jquery`.
HTML
----
diff --git a/docs/contributing/testing/unit-and-functional.rst b/docs/contributing/testing/unit-and-functional.rst
--- a/docs/contributing/testing/unit-and-functional.rst
+++ b/docs/contributing/testing/unit-and-functional.rst
@@ -14,9 +14,6 @@ py.test based test suite
The test suite is in the folder :file:`rhodecode/tests/` and should be run with
the test runner `py.test` inside of your `nix-shell` environment::
- # In case you need the cythonized version
- CYTHONIZE=1 python setup.py develop --prefix=$tmp_path
-
py.test rhodecode
@@ -26,20 +23,28 @@ py.test integration
The integration with the test runner is based on the following three parts:
-- `pytest_pylons` is a py.test plugin which does the integration with the
- Pylons web framework. It sets up the Pylons environment based on the given ini
- file.
+- :file:`rhodecode/tests/pylons_plugin.py` is a py.test plugin which does the
+ integration with the Pylons web framework. It sets up the Pylons environment
+ based on the given ini file.
Tests which depend on the Pylons environment to be set up must request the
fixture `pylonsapp`.
- :file:`rhodecode/tests/plugin.py` contains the integration of py.test with
- RhodeCode Enterprise itself.
+ RhodeCode Enterprise itself and it takes care of setting up the needed parts
+ of the Pyramid framework.
- :file:`conftest.py` plugins are used to provide a special integration for
certain groups of tests based on the directory location.
+.. note::
+
+ We are migrating from Pylons to its successor Pyramid. Eventually the role of
+ the file `pylons_plugin.py` will change to provide only a Pyramid
+ integration.
+
+
VCS backend selection
---------------------
diff --git a/docs/install/quick-start.rst b/docs/install/quick-start.rst
--- a/docs/install/quick-start.rst
+++ b/docs/install/quick-start.rst
@@ -19,8 +19,7 @@ Quick Start Installation Guide
To get |RCE| up and running, run through the below steps:
-1. Download the latest |RCC| installer from your `rhodecode.com`_ profile
- or main page.
+1. Download the latest |RCC| installer from `rhodecode.com/download`_.
If you don't have an account, sign up at `rhodecode.com/register`_.
2. Run the |RCC| installer and accept the End User Licence using the
@@ -107,3 +106,5 @@ 5. Check the status of your installation
.. _rhodecode.com/download/: https://rhodecode.com/download/
.. _rhodecode.com: https://rhodecode.com/
.. _rhodecode.com/register: https://rhodecode.com/register/
+.. _rhodecode.com/download: https://rhodecode.com/download/
+
diff --git a/docs/install/using-postgresql.rst b/docs/install/using-postgresql.rst
--- a/docs/install/using-postgresql.rst
+++ b/docs/install/using-postgresql.rst
@@ -3,20 +3,20 @@
PostgreSQL
----------
-To use a PostgreSQL database you should install and configurevthe database
-before installing |RCV|. This is becausevduring |RCV| installation you will
-setup a connection to your PostgreSQL database. To work with PostgreSQL,
+To use a PostgreSQL database, you should install and configure the database
+before installing |RCV|. This is because during |RCV| installation you will
+setup the connection to your PostgreSQL database. To work with PostgreSQL,
use the following steps:
-1. Depending on your |os|, install avPostgreSQL database following the
+1. Depending on your |os|, install a PostgreSQL database following the
appropriate instructions from the `PostgreSQL website`_.
-2. Configure the database with a username and password which you will use
+2. Configure the database with a username and password, which you will use
with |RCV|.
3. Install |RCV|, and during installation select PostgreSQL as your database.
-4. Enter the following information to during the database setup:
+4. Enter the following information during the database setup:
* Your network IP Address
- * The port number for MySQL access. The default MySQL port is ``5434``
+ * The port number for PostgreSQL access; the default port is ``5434``
* Your database username
* Your database password
* A new database name
diff --git a/docs/release-notes/release-notes-4.4.0.rst b/docs/release-notes/release-notes-4.4.0.rst
new file mode 100644
--- /dev/null
+++ b/docs/release-notes/release-notes-4.4.0.rst
@@ -0,0 +1,78 @@
+|RCE| 4.4.0 |RNS|
+-----------------
+
+Release Date
+^^^^^^^^^^^^
+
+- 2016-09-16
+
+
+General
+^^^^^^^
+
+- UI: introduced Polymer webcomponents into core application. RhodeCode will
+ be now shipped together with Polymer framework webcomponents. Most of
+ dynamic UI components that require large amounts of interaction
+ will be done now with Polymer.
+- live-notifications: use rhodecode-toast for live notifications instead of
+ toastr jquery plugin.
+- Svn: moved svn http support out of labs settings. It's tested and stable now.
+
+
+New Features
+^^^^^^^^^^^^
+
+- Integrations: integrations can now be configure on whole repo group to apply
+ same integrations on multiple projects/groups at once.
+- Integrations: added scopes on integrations, scopes are: Global,
+ Repository Group (with/without children), Repositories, Root Repositories Only.
+ It will allow to configure exactly which projects use which integrations.
+- Integrations: show branches/commits separately when posting push events
+ to hipchat/slack, fixes #4192.
+- Pull-requests: summary page now shows update dates for pull request to
+ easier see which one were receantly updated.
+- UI: hidden inline comments will be shown in side view when browsing the diffs
+- Diffs: added inline comments toggle into pull requests diff view. #2884
+- Live-chat: added summon reviewers functionality. You can now request
+ presence from online users into a chat for collaborative code-review.
+ This requires channelstream to be enabled.
+- UX: added a static 502 page for gateway error. Once configured via
+ Nginx or Apache it will present a custom RhodeCode page while
+ backend servers are offline. Fixes #4202.
+
+
+Security
+^^^^^^^^
+
+- Passwords: forced password change will not allow users to put in the
+ old password as new one.
+
+
+Performance
+^^^^^^^^^^^
+
+- Vcs: refactor vcs-middleware to handle order of .ini file backends in
+ detection of vcs protocol. Detection ends now on first match and speeds
+ overall transaction speed.
+- Summary: Improve the algorithm and performance of detection README files
+ inside summary page. In some cases we reduced cold-cache time from 50s to 1s.
+- Safari: improved speed of large diffs on Safari browser.
+- UX: remove position relative on diff td as it causes very slow
+ rendering in browsers.
+
+Fixes
+^^^^^
+
+- UX: change confirm password widget to have spacing between the fields to
+ match rest of ui, fixes: #4200.
+- UX: show multiple tags/branches in changelog/summary instead of
+ truncating them.
+- My-account: fix test notifications for IE10+
+- Vcs: change way refs are retrieved for git so same name branch/tags and
+ remotes can be supported, fixes #298.
+- Lexers: added small extensions table to extend syntax highlighting for file
+ sources. Fixes #4227.
+- Search: fix bug where file path link was wrong when the repository name was
+ in the file path, fixes #4228
+- Fixed INT overflow bug
+- Events: send pushed commits always in the correct in order.
diff --git a/docs/release-notes/release-notes.rst b/docs/release-notes/release-notes.rst
--- a/docs/release-notes/release-notes.rst
+++ b/docs/release-notes/release-notes.rst
@@ -9,6 +9,7 @@ Release Notes
.. toctree::
:maxdepth: 1
+ release-notes-4.4.0.rst
release-notes-4.3.1.rst
release-notes-4.3.0.rst
release-notes-4.2.1.rst
diff --git a/grunt_config.json b/grunt_config.json
new file mode 100644
--- /dev/null
+++ b/grunt_config.json
@@ -0,0 +1,186 @@
+{
+ "dirs": {
+ "css": {
+ "src":"rhodecode/public/css",
+ "dest":"rhodecode/public/css"
+ },
+ "js": {
+ "src": "rhodecode/public/js/src",
+ "dest": "rhodecode/public/js"
+ }
+ },
+ "copy": {
+ "main": {
+ "expand": true,
+ "cwd": "bower_components",
+ "src": "webcomponentsjs/webcomponents-lite.js",
+ "dest": "<%= dirs.js.dest %>/vendors"
+ }
+ },
+ "concat": {
+ "polymercss": {
+ "src": [
+ "<%= dirs.js.src %>/components/root-styles-prefix.html",
+ "<%= dirs.css.src %>/style-polymer.css",
+ "<%= dirs.js.src %>/components/root-styles-suffix.html"
+ ],
+ "dest": "<%= dirs.js.dest %>/src/components/root-styles.gen.html",
+ "nonull": true
+ },
+ "dist": {
+ "src": [
+ "<%= dirs.js.src %>/jquery-1.11.1.min.js",
+ "<%= dirs.js.src %>/logging.js",
+ "<%= dirs.js.src %>/bootstrap.js",
+ "<%= dirs.js.src %>/mousetrap.js",
+ "<%= dirs.js.src %>/moment.js",
+ "<%= dirs.js.src %>/appenlight-client-0.4.1.min.js",
+ "<%= dirs.js.src %>/i18n_utils.js",
+ "<%= dirs.js.src %>/deform.js",
+ "<%= dirs.js.src %>/plugins/jquery.pjax.js",
+ "<%= dirs.js.src %>/plugins/jquery.dataTables.js",
+ "<%= dirs.js.src %>/plugins/flavoured_checkbox.js",
+ "<%= dirs.js.src %>/plugins/jquery.auto-grow-input.js",
+ "<%= dirs.js.src %>/plugins/jquery.autocomplete.js",
+ "<%= dirs.js.src %>/plugins/jquery.debounce.js",
+ "<%= dirs.js.src %>/plugins/jquery.mark.js",
+ "<%= dirs.js.src %>/plugins/jquery.timeago.js",
+ "<%= dirs.js.src %>/plugins/jquery.timeago-extension.js",
+ "<%= dirs.js.src %>/select2/select2.js",
+ "<%= dirs.js.src %>/codemirror/codemirror.js",
+ "<%= dirs.js.src %>/codemirror/codemirror_loadmode.js",
+ "<%= dirs.js.src %>/codemirror/codemirror_hint.js",
+ "<%= dirs.js.src %>/codemirror/codemirror_overlay.js",
+ "<%= dirs.js.src %>/codemirror/codemirror_placeholder.js",
+ "<%= dirs.js.dest %>/mode/meta.js",
+ "<%= dirs.js.dest %>/mode/meta_ext.js",
+ "<%= dirs.js.dest %>/rhodecode/i18n/select2/translations.js",
+ "<%= dirs.js.src %>/rhodecode/utils/array.js",
+ "<%= dirs.js.src %>/rhodecode/utils/string.js",
+ "<%= dirs.js.src %>/rhodecode/utils/pyroutes.js",
+ "<%= dirs.js.src %>/rhodecode/utils/ajax.js",
+ "<%= dirs.js.src %>/rhodecode/utils/autocomplete.js",
+ "<%= dirs.js.src %>/rhodecode/utils/colorgenerator.js",
+ "<%= dirs.js.src %>/rhodecode/utils/ie.js",
+ "<%= dirs.js.src %>/rhodecode/utils/os.js",
+ "<%= dirs.js.src %>/rhodecode/utils/topics.js",
+ "<%= dirs.js.src %>/rhodecode/widgets/multiselect.js",
+ "<%= dirs.js.src %>/rhodecode/init.js",
+ "<%= dirs.js.src %>/rhodecode/codemirror.js",
+ "<%= dirs.js.src %>/rhodecode/comments.js",
+ "<%= dirs.js.src %>/rhodecode/constants.js",
+ "<%= dirs.js.src %>/rhodecode/files.js",
+ "<%= dirs.js.src %>/rhodecode/followers.js",
+ "<%= dirs.js.src %>/rhodecode/menus.js",
+ "<%= dirs.js.src %>/rhodecode/notifications.js",
+ "<%= dirs.js.src %>/rhodecode/permissions.js",
+ "<%= dirs.js.src %>/rhodecode/pjax.js",
+ "<%= dirs.js.src %>/rhodecode/pullrequests.js",
+ "<%= dirs.js.src %>/rhodecode/settings.js",
+ "<%= dirs.js.src %>/rhodecode/select2_widgets.js",
+ "<%= dirs.js.src %>/rhodecode/tooltips.js",
+ "<%= dirs.js.src %>/rhodecode/users.js",
+ "<%= dirs.js.src %>/rhodecode/appenlight.js",
+ "<%= dirs.js.src %>/rhodecode.js"
+ ],
+ "dest": "<%= dirs.js.dest %>/scripts.js",
+ "nonull": true
+ }
+ },
+ "crisper": {
+ "dist": {
+ "options": {
+ "cleanup": false,
+ "onlySplit": true
+ },
+ "src": "<%= dirs.js.dest %>/rhodecode-components.html",
+ "dest": "<%= dirs.js.dest %>/rhodecode-components.js"
+ }
+ },
+ "less": {
+ "development": {
+ "options": {
+ "compress": false,
+ "yuicompress": false,
+ "optimization": 0
+ },
+ "files": {
+ "<%= dirs.css.dest %>/style.css": "<%= dirs.css.src %>/main.less",
+ "<%= dirs.css.dest %>/style-polymer.css": "<%= dirs.css.src %>/polymer.less"
+ }
+ },
+ "production": {
+ "options": {
+ "compress": true,
+ "yuicompress": true,
+ "optimization": 2
+ },
+ "files": {
+ "<%= dirs.css.dest %>/style.css": "<%= dirs.css.src %>/main.less",
+ "<%= dirs.css.dest %>/style-polymer.css": "<%= dirs.css.src %>/polymer.less"
+ }
+ },
+ "components": {
+ "files": [
+ {
+ "cwd": "<%= dirs.js.src %>/components/",
+ "dest": "<%= dirs.js.src %>/components/",
+ "src": [
+ "**/*.less"
+ ],
+ "expand": true,
+ "ext": ".css"
+ }
+ ]
+ }
+ },
+ "watch": {
+ "less": {
+ "files": [
+ "<%= dirs.css.src %>/**/*.less",
+ "<%= dirs.js.src %>/components/**/*.less"
+ ],
+ "tasks": [
+ "less:development",
+ "less:components",
+ "concat:polymercss",
+ "vulcanize"
+ ]
+ },
+ "js": {
+ "files": [
+ "!<%= dirs.js.src %>/components/root-styles.gen.html",
+ "<%= dirs.js.src %>/**/*.js",
+ "<%= dirs.js.src %>/components/**/*.html"
+ ],
+ "tasks": [
+ "less:components",
+ "concat:polymercss",
+ "vulcanize",
+ "crisper",
+ "concat:dist"
+ ]
+ }
+ },
+ "jshint": {
+ "rhodecode": {
+ "src": "<%= dirs.js.src %>/rhodecode/**/*.js",
+ "options": {
+ "jshintrc": ".jshintrc"
+ }
+ }
+ },
+ "vulcanize": {
+ "default": {
+ "options": {
+ "abspath": "",
+ "inlineScripts": true,
+ "inlineCss": true,
+ "stripComments": true
+ },
+ "files": {
+ "<%= dirs.js.dest %>/rhodecode-components.html": "<%= dirs.js.src %>/components/shared-components.html"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
--- a/package.json
+++ b/package.json
@@ -3,10 +3,16 @@
"version": "0.0.1",
"devDependencies": {
"grunt": "^0.4.5",
+ "grunt-contrib-copy": "^1.0.0",
"grunt-contrib-concat": "^0.5.1",
"grunt-contrib-jshint": "^0.12.0",
"grunt-contrib-less": "^1.1.0",
"grunt-contrib-watch": "^0.6.1",
- "jshint": "^2.9.1-rc3"
+ "crisper": "^2.0.2",
+ "vulcanize": "^1.14.8",
+ "grunt-crisper": "^1.0.1",
+ "grunt-vulcanize": "^1.0.0",
+ "jshint": "^2.9.1-rc3",
+ "bower": "^1.7.9"
}
}
diff --git a/pkgs/backport-16.03-build-bower-components.nix b/pkgs/backport-16.03-build-bower-components.nix
new file mode 100644
--- /dev/null
+++ b/pkgs/backport-16.03-build-bower-components.nix
@@ -0,0 +1,67 @@
+# Backported buildBowerComponents so that we can also use it with the version
+# 16.03 which is the current stable at the time of this writing.
+#
+# This file can be removed once building with 16.03 is not needed anymore.
+
+{ pkgs }:
+
+{ buildInputs ? [], generated, ... } @ attrs:
+
+let
+ bower2nix-src = pkgs.fetchzip {
+ url = "https://github.com/rvl/bower2nix/archive/v3.0.1.tar.gz";
+ sha256 = "1zbvz96k2j6g0r4lvm5cgh41a73k9dgayk7x63cmg538dzznxvyb";
+ };
+
+ bower2nix = import "${bower2nix-src}/default.nix" { inherit pkgs; };
+
+ fetchbower = import ./backport-16.03-fetchbower.nix {
+ inherit (pkgs) stdenv lib;
+ inherit bower2nix;
+ };
+
+ # Fetches the bower packages. `generated` should be the result of a
+ # `bower2nix` command.
+ bowerPackages = import generated {
+ inherit (pkgs) buildEnv;
+ inherit fetchbower;
+ };
+
+in pkgs.stdenv.mkDerivation (
+ attrs
+ //
+ {
+ name = "bower_components-" + attrs.name;
+
+ inherit bowerPackages;
+
+ builder = builtins.toFile "builder.sh" ''
+ source $stdenv/setup
+
+ # The project's bower.json is required
+ cp $src/bower.json .
+
+ # Dereference symlinks -- bower doesn't like them
+ cp --recursive --reflink=auto \
+ --dereference --no-preserve=mode \
+ $bowerPackages bc
+
+ # Bower install in offline mode -- links together the fetched
+ # bower packages.
+ HOME=$PWD bower \
+ --config.storage.packages=bc/packages \
+ --config.storage.registry=bc/registry \
+ --offline install
+
+ # Sets up a single bower_components directory within
+ # the output derivation.
+ mkdir -p $out
+ mv bower_components $out
+ '';
+
+ buildInputs = buildInputs ++ [
+ pkgs.git
+ pkgs.nodePackages.bower
+ ];
+ }
+)
diff --git a/pkgs/backport-16.03-fetchbower.nix b/pkgs/backport-16.03-fetchbower.nix
new file mode 100644
--- /dev/null
+++ b/pkgs/backport-16.03-fetchbower.nix
@@ -0,0 +1,26 @@
+{ stdenv, lib, bower2nix }:
+let
+ bowerVersion = version:
+ let
+ components = lib.splitString "#" version;
+ hash = lib.last components;
+ ver = if builtins.length components == 1 then version else hash;
+ in ver;
+
+ fetchbower = name: version: target: outputHash: stdenv.mkDerivation {
+ name = "${name}-${bowerVersion version}";
+ buildCommand = ''
+ fetch-bower --quiet --out=$PWD/out "${name}" "${target}" "${version}"
+ # In some cases, the result of fetchBower is different depending
+ # on the output directory (e.g. if the bower package contains
+ # symlinks). So use a local output directory before copying to
+ # $out.
+ cp -R out $out
+ '';
+ outputHashMode = "recursive";
+ outputHashAlgo = "sha256";
+ inherit outputHash;
+ buildInputs = [ bower2nix ];
+ };
+
+in fetchbower
diff --git a/pkgs/bower-packages.nix b/pkgs/bower-packages.nix
new file mode 100644
--- /dev/null
+++ b/pkgs/bower-packages.nix
@@ -0,0 +1,31 @@
+{ fetchbower, buildEnv }:
+buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
+ (fetchbower "webcomponentsjs" "0.7.22" "^0.7.22" "0ggh3k8ssafd056ib1m5bvzi7cpz3ry7gr5176d79na1w0c3i7dz")
+ (fetchbower "polymer" "Polymer/polymer#1.6.1" "Polymer/polymer#^1.6.1" "09mm0jgk457gvwqlc155swch7gjr6fs3g7spnvhi6vh5b6518540")
+ (fetchbower "paper-button" "PolymerElements/paper-button#1.0.13" "PolymerElements/paper-button#^1.0.13" "0i3y153nqk06pn0gk282vyybnl3g1w3w41d5i9z659cgn27g3fvm")
+ (fetchbower "paper-spinner" "PolymerElements/paper-spinner#1.2.0" "PolymerElements/paper-spinner#^1.2.0" "1av1m6y81jw3hjhz1yqy3rwcgxarjzl58ldfn4q6sn51pgzngfqb")
+ (fetchbower "paper-tooltip" "PolymerElements/paper-tooltip#1.1.2" "PolymerElements/paper-tooltip#^1.1.2" "1j64nprcyk2d2bbl3qwjyr0lbjngm4wclpyfwgai1c4y6g6bigd2")
+ (fetchbower "paper-toast" "PolymerElements/paper-toast#1.3.0" "PolymerElements/paper-toast#^1.3.0" "0x9rqxsks5455s8pk4aikpp99ijdn6kxr9gvhwh99nbcqdzcxq1m")
+ (fetchbower "paper-toggle-button" "PolymerElements/paper-toggle-button#1.2.0" "PolymerElements/paper-toggle-button#^1.2.0" "0mphcng3ngspbpg4jjn0mb91nvr4xc1phq3qswib15h6sfww1b2w")
+ (fetchbower "iron-ajax" "PolymerElements/iron-ajax#1.4.3" "PolymerElements/iron-ajax#^1.4.3" "0m3dx27arwmlcp00b7n516sc5a51f40p9vapr1nvd57l3i3z0pzm")
+ (fetchbower "iron-flex-layout" "PolymerElements/iron-flex-layout#1.3.1" "PolymerElements/iron-flex-layout#^1.0.0" "0nswv3ih3bhflgcd2wjfmddqswzgqxb2xbq65jk9w3rkj26hplbl")
+ (fetchbower "paper-behaviors" "PolymerElements/paper-behaviors#1.0.12" "PolymerElements/paper-behaviors#^1.0.0" "012bqk97awgz55cn7rm9g7cckrdhkqhls3zvp8l6nd4rdwcrdzq8")
+ (fetchbower "paper-material" "PolymerElements/paper-material#1.0.6" "PolymerElements/paper-material#^1.0.0" "0rljmknfdbm5aabvx9pk77754zckj3l127c3mvnmwkpkkr353xnh")
+ (fetchbower "paper-styles" "PolymerElements/paper-styles#1.1.4" "PolymerElements/paper-styles#^1.0.0" "0j8vg74xrcxlni8i93dsab3y80f34kk30lv4yblqpkp9c3nrilf7")
+ (fetchbower "neon-animation" "PolymerElements/neon-animation#1.2.4" "PolymerElements/neon-animation#^1.0.0" "16mz9i2n5w0k5j8d6gha23cnbdgm5syz3fawyh89gdbq97bi2q5j")
+ (fetchbower "iron-a11y-announcer" "PolymerElements/iron-a11y-announcer#1.0.5" "PolymerElements/iron-a11y-announcer#^1.0.0" "0n7c7j1pwk3835s7s2jd9125wdcsqf216yi5gj07wn5s8h8p7m9d")
+ (fetchbower "iron-overlay-behavior" "PolymerElements/iron-overlay-behavior#1.8.6" "PolymerElements/iron-overlay-behavior#^1.0.9" "14brn9gz6qqskarg3fxk91xs7vg02vgcsz9a9743kidxr0l0413m")
+ (fetchbower "iron-fit-behavior" "PolymerElements/iron-fit-behavior#1.2.5" "PolymerElements/iron-fit-behavior#^1.1.0" "1msnlh8lp1xg6v4h6dkjwj9kzac5q5q208ayla3x9hi483ki6rlf")
+ (fetchbower "iron-checked-element-behavior" "PolymerElements/iron-checked-element-behavior#1.0.5" "PolymerElements/iron-checked-element-behavior#^1.0.0" "0l0yy4ah454s8bzfv076s8by7h67zy9ni6xb932qwyhx8br6c1m7")
+ (fetchbower "promise-polyfill" "polymerlabs/promise-polyfill#1.0.1" "polymerlabs/promise-polyfill#^1.0.0" "045bj2caav3famr5hhxgs1dx7n08r4s46mlzwb313vdy17is38xb")
+ (fetchbower "iron-behaviors" "PolymerElements/iron-behaviors#1.0.17" "PolymerElements/iron-behaviors#^1.0.0" "021qvkmbk32jrrmmphpmwgby4bzi5jyf47rh1bxmq2ip07ly4bpr")
+ (fetchbower "paper-ripple" "PolymerElements/paper-ripple#1.0.8" "PolymerElements/paper-ripple#^1.0.0" "0r9sq8ik7wwrw0qb82c3rw0c030ljwd3s466c9y4qbcrsbvfjnns")
+ (fetchbower "font-roboto" "PolymerElements/font-roboto#1.0.1" "PolymerElements/font-roboto#^1.0.1" "02jz43r0wkyr3yp7rq2rc08l5cwnsgca9fr54sr4rhsnl7cjpxrj")
+ (fetchbower "iron-meta" "PolymerElements/iron-meta#1.1.2" "PolymerElements/iron-meta#^1.0.0" "1wl4dx8fnsknw9z9xi8bpc4cy9x70c11x4zxwxnj73hf3smifppl")
+ (fetchbower "iron-resizable-behavior" "PolymerElements/iron-resizable-behavior#1.0.5" "PolymerElements/iron-resizable-behavior#^1.0.0" "1fd5zmbr2hax42vmcasncvk7lzi38fmb1kyii26nn8pnnjak7zkn")
+ (fetchbower "iron-selector" "PolymerElements/iron-selector#1.5.2" "PolymerElements/iron-selector#^1.0.0" "1ajv46llqzvahm5g6g75w7nfyjcslp53ji0wm96l2k94j87spv3r")
+ (fetchbower "web-animations-js" "web-animations/web-animations-js#2.2.2" "web-animations/web-animations-js#^2.2.0" "1izfvm3l67vwys0bqbhidi9rqziw2f8wv289386sc6jsxzgkzhga")
+ (fetchbower "iron-a11y-keys-behavior" "PolymerElements/iron-a11y-keys-behavior#1.1.7" "PolymerElements/iron-a11y-keys-behavior#^1.0.0" "070z46dbbz242002gmqrgy28x0y1fcqp9hnvbi05r3zphiqfx3l7")
+ (fetchbower "iron-validatable-behavior" "PolymerElements/iron-validatable-behavior#1.1.1" "PolymerElements/iron-validatable-behavior#^1.0.0" "1yhxlvywhw2klbbgm3f3cmanxfxggagph4ii635zv0c13707wslv")
+ (fetchbower "iron-form-element-behavior" "PolymerElements/iron-form-element-behavior#1.0.6" "PolymerElements/iron-form-element-behavior#^1.0.0" "0rdhxivgkdhhz2yadgdbjfc70l555p3y83vjh8rfj5hr0asyn6q1")
+]; }
diff --git a/pkgs/node-default.nix b/pkgs/node-default.nix
new file mode 100644
--- /dev/null
+++ b/pkgs/node-default.nix
@@ -0,0 +1,15 @@
+# This file has been generated by node2nix 1.0.0. Do not edit!
+
+{pkgs ? import {
+ inherit system;
+ }, system ? builtins.currentSystem}:
+
+let
+ nodeEnv = import ./node-env.nix {
+ inherit (pkgs) stdenv python utillinux runCommand writeTextFile nodejs;
+ };
+in
+import ./node-packages.nix {
+ inherit (pkgs) fetchurl fetchgit;
+ inherit nodeEnv;
+}
\ No newline at end of file
diff --git a/pkgs/node-env.nix b/pkgs/node-env.nix
new file mode 100644
--- /dev/null
+++ b/pkgs/node-env.nix
@@ -0,0 +1,292 @@
+# This file originates from node2nix
+
+{stdenv, python, nodejs, utillinux, runCommand, writeTextFile}:
+
+let
+ # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
+ tarWrapper = runCommand "tarWrapper" {} ''
+ mkdir -p $out/bin
+
+ cat > $out/bin/tar <> $out/nix-support/hydra-build-products
+ '';
+ };
+
+ includeDependencies = {dependencies}:
+ stdenv.lib.optionalString (dependencies != [])
+ (stdenv.lib.concatMapStrings (dependency:
+ ''
+ # Bundle the dependencies of the package
+ mkdir -p node_modules
+ cd node_modules
+
+ # Only include dependencies if they don't exist. They may also be bundled in the package.
+ if [ ! -e "${dependency.name}" ]
+ then
+ ${composePackage dependency}
+ fi
+
+ cd ..
+ ''
+ ) dependencies);
+
+ # Recursively composes the dependencies of a package
+ composePackage = { name, packageName, src, dependencies ? [], ... }@args:
+ let
+ fixImpureDependencies = writeTextFile {
+ name = "fixDependencies.js";
+ text = ''
+ var fs = require('fs');
+ var url = require('url');
+
+ /*
+ * Replaces an impure version specification by *
+ */
+ function replaceImpureVersionSpec(versionSpec) {
+ var parsedUrl = url.parse(versionSpec);
+
+ if(versionSpec == "latest" || versionSpec == "unstable" ||
+ versionSpec.substr(0, 2) == ".." || dependency.substr(0, 2) == "./" || dependency.substr(0, 2) == "~/" || dependency.substr(0, 1) == '/')
+ return '*';
+ else if(parsedUrl.protocol == "git:" || parsedUrl.protocol == "git+ssh:" || parsedUrl.protocol == "git+http:" || parsedUrl.protocol == "git+https:" ||
+ parsedUrl.protocol == "http:" || parsedUrl.protocol == "https:")
+ return '*';
+ else
+ return versionSpec;
+ }
+
+ var packageObj = JSON.parse(fs.readFileSync('./package.json'));
+
+ /* Replace dependencies */
+ if(packageObj.dependencies !== undefined) {
+ for(var dependency in packageObj.dependencies) {
+ var versionSpec = packageObj.dependencies[dependency];
+ packageObj.dependencies[dependency] = replaceImpureVersionSpec(versionSpec);
+ }
+ }
+
+ /* Replace development dependencies */
+ if(packageObj.devDependencies !== undefined) {
+ for(var dependency in packageObj.devDependencies) {
+ var versionSpec = packageObj.devDependencies[dependency];
+ packageObj.devDependencies[dependency] = replaceImpureVersionSpec(versionSpec);
+ }
+ }
+
+ /* Replace optional dependencies */
+ if(packageObj.optionalDependencies !== undefined) {
+ for(var dependency in packageObj.optionalDependencies) {
+ var versionSpec = packageObj.optionalDependencies[dependency];
+ packageObj.optionalDependencies[dependency] = replaceImpureVersionSpec(versionSpec);
+ }
+ }
+
+ /* Write the fixed JSON file */
+ fs.writeFileSync("package.json", JSON.stringify(packageObj));
+ '';
+ };
+ in
+ ''
+ DIR=$(pwd)
+ cd $TMPDIR
+
+ unpackFile ${src}
+
+ # Make the base dir in which the target dependency resides first
+ mkdir -p "$(dirname "$DIR/${packageName}")"
+
+ if [ -f "${src}" ]
+ then
+ # Figure out what directory has been unpacked
+ packageDir=$(find . -type d -maxdepth 1 | tail -1)
+
+ # Restore write permissions to make building work
+ chmod -R u+w "$packageDir"
+
+ # Move the extracted tarball into the output folder
+ mv "$packageDir" "$DIR/${packageName}"
+ elif [ -d "${src}" ]
+ then
+ # Restore write permissions to make building work
+ chmod -R u+w $strippedName
+
+ # Move the extracted directory into the output folder
+ mv $strippedName "$DIR/${packageName}"
+ fi
+
+ # Unset the stripped name to not confuse the next unpack step
+ unset strippedName
+
+ # Some version specifiers (latest, unstable, URLs, file paths) force NPM to make remote connections or consult paths outside the Nix store.
+ # The following JavaScript replaces these by * to prevent that
+ cd "$DIR/${packageName}"
+ node ${fixImpureDependencies}
+
+ # Include the dependencies of the package
+ ${includeDependencies { inherit dependencies; }}
+ cd ..
+ ${stdenv.lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
+ '';
+
+ # Extract the Node.js source code which is used to compile packages with
+ # native bindings
+ nodeSources = runCommand "node-sources" {} ''
+ tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
+ mv node-* $out
+ '';
+
+ # Builds and composes an NPM package including all its dependencies
+ buildNodePackage = { name, packageName, version, dependencies ? [], production ? true, npmFlags ? "", dontNpmInstall ? false, preRebuild ? "", ... }@args:
+
+ stdenv.lib.makeOverridable stdenv.mkDerivation (builtins.removeAttrs args [ "dependencies" ] // {
+ name = "node-${name}-${version}";
+ buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
+ dontStrip = args.dontStrip or true; # Striping may fail a build for some package deployments
+
+ inherit dontNpmInstall preRebuild;
+
+ unpackPhase = args.unpackPhase or "true";
+
+ buildPhase = args.buildPhase or "true";
+
+ compositionScript = composePackage args;
+ passAsFile = [ "compositionScript" ];
+
+ installPhase = args.installPhase or ''
+ # Create and enter a root node_modules/ folder
+ mkdir -p $out/lib/node_modules
+ cd $out/lib/node_modules
+
+ # Compose the package and all its dependencies
+ source $compositionScriptPath
+
+ # Patch the shebangs of the bundled modules to prevent them from
+ # calling executables outside the Nix store as much as possible
+ patchShebangs .
+
+ # Deploy the Node.js package by running npm install. Since the
+ # dependencies have been provided already by ourselves, it should not
+ # attempt to install them again, which is good, because we want to make
+ # it Nix's responsibility. If it needs to install any dependencies
+ # anyway (e.g. because the dependency parameters are
+ # incomplete/incorrect), it fails.
+ #
+ # The other responsibilities of NPM are kept -- version checks, build
+ # steps, postprocessing etc.
+
+ export HOME=$TMPDIR
+ cd "${packageName}"
+ runHook preRebuild
+ npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
+
+ if [ "$dontNpmInstall" != "1" ]
+ then
+ npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
+ fi
+
+ # Create symlink to the deployed executable folder, if applicable
+ if [ -d "$out/lib/node_modules/.bin" ]
+ then
+ ln -s $out/lib/node_modules/.bin $out/bin
+ fi
+
+ # Create symlinks to the deployed manual page folders, if applicable
+ if [ -d "$out/lib/node_modules/${packageName}/man" ]
+ then
+ mkdir -p $out/share
+ for dir in "$out/lib/node_modules/${packageName}/man/"*
+ do
+ mkdir -p $out/share/man/$(basename "$dir")
+ for page in "$dir"/*
+ do
+ ln -s $page $out/share/man/$(basename "$dir")
+ done
+ done
+ fi
+ '';
+ });
+
+ # Builds a development shell
+ buildNodeShell = { name, packageName, version, src, dependencies ? [], production ? true, npmFlags ? "", dontNpmInstall ? false, ... }@args:
+ let
+ nodeDependencies = stdenv.mkDerivation {
+ name = "node-dependencies-${name}-${version}";
+
+ buildInputs = [ tarWrapper python nodejs ] ++ stdenv.lib.optional (stdenv.isLinux) utillinux ++ args.buildInputs or [];
+
+ includeScript = includeDependencies { inherit dependencies; };
+ passAsFile = [ "includeScript" ];
+
+ buildCommand = ''
+ mkdir -p $out/lib
+ cd $out/lib
+ source $includeScriptPath
+
+ # Create fake package.json to make the npm commands work properly
+ cat > package.json < $out/bin/shell <=0.0.4" =
- self.by-version."amdefine"."1.0.0";
- by-version."amdefine"."1.0.0" = lib.makeOverridable self.buildNodePackage {
- name = "amdefine-1.0.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz";
- name = "amdefine-1.0.0.tgz";
- sha1 = "fd17474700cb5cc9c2b709f0be9d23ce3c198c33";
- })
- ];
- buildInputs =
- (self.nativeDeps."amdefine" or []);
- deps = {
+ "colors-0.6.2" = {
+ name = "colors";
+ packageName = "colors";
+ version = "0.6.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
+ sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
+ };
+ };
+ "dateformat-1.0.2-1.2.3" = {
+ name = "dateformat";
+ packageName = "dateformat";
+ version = "1.0.2-1.2.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz";
+ sha1 = "b0220c02de98617433b72851cf47de3df2cdbee9";
+ };
+ };
+ "eventemitter2-0.4.14" = {
+ name = "eventemitter2";
+ packageName = "eventemitter2";
+ version = "0.4.14";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz";
+ sha1 = "8f61b75cde012b2e9eb284d4545583b5643b61ab";
+ };
+ };
+ "findup-sync-0.1.3" = {
+ name = "findup-sync";
+ packageName = "findup-sync";
+ version = "0.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz";
+ sha1 = "7f3e7a97b82392c653bf06589bd85190e93c3683";
+ };
+ };
+ "glob-3.1.21" = {
+ name = "glob";
+ packageName = "glob";
+ version = "3.1.21";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz";
+ sha1 = "d29e0a055dea5138f4d07ed40e8982e83c2066cd";
+ };
+ };
+ "hooker-0.2.3" = {
+ name = "hooker";
+ packageName = "hooker";
+ version = "0.2.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz";
+ sha1 = "b834f723cc4a242aa65963459df6d984c5d3d959";
+ };
+ };
+ "iconv-lite-0.2.11" = {
+ name = "iconv-lite";
+ packageName = "iconv-lite";
+ version = "0.2.11";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
+ sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
+ };
+ };
+ "minimatch-0.2.14" = {
+ name = "minimatch";
+ packageName = "minimatch";
+ version = "0.2.14";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
+ sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a";
+ };
+ };
+ "nopt-1.0.10" = {
+ name = "nopt";
+ packageName = "nopt";
+ version = "1.0.10";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
+ sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
+ };
+ };
+ "rimraf-2.2.8" = {
+ name = "rimraf";
+ packageName = "rimraf";
+ version = "2.2.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
+ sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
+ };
+ };
+ "lodash-0.9.2" = {
+ name = "lodash";
+ packageName = "lodash";
+ version = "0.9.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz";
+ sha1 = "8f3499c5245d346d682e5b0d3b40767e09f1a92c";
+ };
+ };
+ "underscore.string-2.2.1" = {
+ name = "underscore.string";
+ packageName = "underscore.string";
+ version = "2.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz";
+ sha1 = "d7c0fa2af5d5a1a67f4253daee98132e733f0f19";
+ };
+ };
+ "which-1.0.9" = {
+ name = "which";
+ packageName = "which";
+ version = "1.0.9";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/which/-/which-1.0.9.tgz";
+ sha1 = "460c1da0f810103d0321a9b633af9e575e64486f";
+ };
+ };
+ "js-yaml-2.0.5" = {
+ name = "js-yaml";
+ packageName = "js-yaml";
+ version = "2.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz";
+ sha1 = "a25ae6509999e97df278c6719da11bd0687743a8";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "amdefine" ];
- };
- by-spec."ansi-regex"."^0.2.0" =
- self.by-version."ansi-regex"."0.2.1";
- by-version."ansi-regex"."0.2.1" = lib.makeOverridable self.buildNodePackage {
- name = "ansi-regex-0.2.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz";
- name = "ansi-regex-0.2.1.tgz";
- sha1 = "0d8e946967a3d8143f93e24e298525fc1b2235f9";
- })
- ];
- buildInputs =
- (self.nativeDeps."ansi-regex" or []);
- deps = {
+ "exit-0.1.2" = {
+ name = "exit";
+ packageName = "exit";
+ version = "0.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
+ sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
+ };
+ };
+ "getobject-0.1.0" = {
+ name = "getobject";
+ packageName = "getobject";
+ version = "0.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz";
+ sha1 = "047a449789fa160d018f5486ed91320b6ec7885c";
+ };
+ };
+ "grunt-legacy-util-0.2.0" = {
+ name = "grunt-legacy-util";
+ packageName = "grunt-legacy-util";
+ version = "0.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz";
+ sha1 = "93324884dbf7e37a9ff7c026dff451d94a9e554b";
+ };
+ };
+ "grunt-legacy-log-0.1.3" = {
+ name = "grunt-legacy-log";
+ packageName = "grunt-legacy-log";
+ version = "0.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz";
+ sha1 = "ec29426e803021af59029f87d2f9cd7335a05531";
+ };
+ };
+ "glob-3.2.11" = {
+ name = "glob";
+ packageName = "glob";
+ version = "3.2.11";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
+ sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
+ };
+ };
+ "lodash-2.4.2" = {
+ name = "lodash";
+ packageName = "lodash";
+ version = "2.4.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz";
+ sha1 = "fadd834b9683073da179b3eae6d9c0d15053f73e";
+ };
+ };
+ "inherits-2.0.1" = {
+ name = "inherits";
+ packageName = "inherits";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
+ sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
+ };
+ };
+ "minimatch-0.3.0" = {
+ name = "minimatch";
+ packageName = "minimatch";
+ version = "0.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz";
+ sha1 = "275d8edaac4f1bb3326472089e7949c8394699dd";
+ };
+ };
+ "lru-cache-2.7.3" = {
+ name = "lru-cache";
+ packageName = "lru-cache";
+ version = "2.7.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz";
+ sha1 = "6d4524e8b955f95d4f5b58851ce21dd72fb4e952";
+ };
+ };
+ "sigmund-1.0.1" = {
+ name = "sigmund";
+ packageName = "sigmund";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz";
+ sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
+ };
+ };
+ "graceful-fs-1.2.3" = {
+ name = "graceful-fs";
+ packageName = "graceful-fs";
+ version = "1.2.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
+ sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
+ };
+ };
+ "inherits-1.0.2" = {
+ name = "inherits";
+ packageName = "inherits";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz";
+ sha1 = "ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b";
+ };
+ };
+ "abbrev-1.0.9" = {
+ name = "abbrev";
+ packageName = "abbrev";
+ version = "1.0.9";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz";
+ sha1 = "91b4792588a7738c25f35dd6f63752a2f8776135";
+ };
+ };
+ "argparse-0.1.16" = {
+ name = "argparse";
+ packageName = "argparse";
+ version = "0.1.16";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz";
+ sha1 = "cfd01e0fbba3d6caed049fbd758d40f65196f57c";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "ansi-regex" ];
- };
- by-spec."ansi-regex"."^0.2.1" =
- self.by-version."ansi-regex"."0.2.1";
- by-spec."ansi-regex"."^2.0.0" =
- self.by-version."ansi-regex"."2.0.0";
- by-version."ansi-regex"."2.0.0" = lib.makeOverridable self.buildNodePackage {
- name = "ansi-regex-2.0.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz";
- name = "ansi-regex-2.0.0.tgz";
+ "esprima-1.0.4" = {
+ name = "esprima";
+ packageName = "esprima";
+ version = "1.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
+ sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
+ };
+ };
+ "underscore-1.7.0" = {
+ name = "underscore";
+ packageName = "underscore";
+ version = "1.7.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
+ sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
+ };
+ };
+ "underscore.string-2.4.0" = {
+ name = "underscore.string";
+ packageName = "underscore.string";
+ version = "2.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz";
+ sha1 = "8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b";
+ };
+ };
+ "grunt-legacy-log-utils-0.1.1" = {
+ name = "grunt-legacy-log-utils";
+ packageName = "grunt-legacy-log-utils";
+ version = "0.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz";
+ sha1 = "c0706b9dd9064e116f36f23fe4e6b048672c0f7e";
+ };
+ };
+ "underscore.string-2.3.3" = {
+ name = "underscore.string";
+ packageName = "underscore.string";
+ version = "2.3.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
+ sha1 = "71c08bf6b428b1133f37e78fa3a21c82f7329b0d";
+ };
+ };
+ "chalk-1.1.3" = {
+ name = "chalk";
+ packageName = "chalk";
+ version = "1.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
+ sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
+ };
+ };
+ "file-sync-cmp-0.1.1" = {
+ name = "file-sync-cmp";
+ packageName = "file-sync-cmp";
+ version = "0.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz";
+ sha1 = "a5e7a8ffbfa493b43b923bbd4ca89a53b63b612b";
+ };
+ };
+ "ansi-styles-2.2.1" = {
+ name = "ansi-styles";
+ packageName = "ansi-styles";
+ version = "2.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
+ sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
+ };
+ };
+ "escape-string-regexp-1.0.5" = {
+ name = "escape-string-regexp";
+ packageName = "escape-string-regexp";
+ version = "1.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
+ sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+ };
+ };
+ "has-ansi-2.0.0" = {
+ name = "has-ansi";
+ packageName = "has-ansi";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
+ sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+ };
+ };
+ "strip-ansi-3.0.1" = {
+ name = "strip-ansi";
+ packageName = "strip-ansi";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
+ sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
+ };
+ };
+ "supports-color-2.0.0" = {
+ name = "supports-color";
+ packageName = "supports-color";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
+ sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
+ };
+ };
+ "ansi-regex-2.0.0" = {
+ name = "ansi-regex";
+ packageName = "ansi-regex";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz";
sha1 = "c5061b6e0ef8a81775e50f5d66151bf6bf371107";
- })
- ];
- buildInputs =
- (self.nativeDeps."ansi-regex" or []);
- deps = {
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "ansi-regex" ];
- };
- by-spec."ansi-styles"."^1.1.0" =
- self.by-version."ansi-styles"."1.1.0";
- by-version."ansi-styles"."1.1.0" = lib.makeOverridable self.buildNodePackage {
- name = "ansi-styles-1.1.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz";
- name = "ansi-styles-1.1.0.tgz";
- sha1 = "eaecbf66cd706882760b2f4691582b8f55d7a7de";
- })
- ];
- buildInputs =
- (self.nativeDeps."ansi-styles" or []);
- deps = {
+ "chalk-0.5.1" = {
+ name = "chalk";
+ packageName = "chalk";
+ version = "0.5.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz";
+ sha1 = "663b3a648b68b55d04690d49167aa837858f2174";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "ansi-styles" ];
- };
- by-spec."ansi-styles"."^2.1.0" =
- self.by-version."ansi-styles"."2.1.0";
- by-version."ansi-styles"."2.1.0" = lib.makeOverridable self.buildNodePackage {
- name = "ansi-styles-2.1.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz";
- name = "ansi-styles-2.1.0.tgz";
- sha1 = "990f747146927b559a932bf92959163d60c0d0e2";
- })
- ];
- buildInputs =
- (self.nativeDeps."ansi-styles" or []);
- deps = {
+ "source-map-0.3.0" = {
+ name = "source-map";
+ packageName = "source-map";
+ version = "0.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/source-map/-/source-map-0.3.0.tgz";
+ sha1 = "8586fb9a5a005e5b501e21cd18b6f21b457ad1f9";
+ };
+ };
+ "ansi-styles-1.1.0" = {
+ name = "ansi-styles";
+ packageName = "ansi-styles";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz";
+ sha1 = "eaecbf66cd706882760b2f4691582b8f55d7a7de";
+ };
+ };
+ "has-ansi-0.1.0" = {
+ name = "has-ansi";
+ packageName = "has-ansi";
+ version = "0.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz";
+ sha1 = "84f265aae8c0e6a88a12d7022894b7568894c62e";
+ };
+ };
+ "strip-ansi-0.3.0" = {
+ name = "strip-ansi";
+ packageName = "strip-ansi";
+ version = "0.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz";
+ sha1 = "25f48ea22ca79187f3174a4db8759347bb126220";
+ };
+ };
+ "supports-color-0.2.0" = {
+ name = "supports-color";
+ packageName = "supports-color";
+ version = "0.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz";
+ sha1 = "d92de2694eb3f67323973d7ae3d8b55b4c22190a";
+ };
+ };
+ "ansi-regex-0.2.1" = {
+ name = "ansi-regex";
+ packageName = "ansi-regex";
+ version = "0.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz";
+ sha1 = "0d8e946967a3d8143f93e24e298525fc1b2235f9";
+ };
+ };
+ "amdefine-1.0.0" = {
+ name = "amdefine";
+ packageName = "amdefine";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz";
+ sha1 = "fd17474700cb5cc9c2b709f0be9d23ce3c198c33";
+ };
+ };
+ "async-2.0.1" = {
+ name = "async";
+ packageName = "async";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/async/-/async-2.0.1.tgz";
+ sha1 = "b709cc0280a9c36f09f4536be823c838a9049e25";
+ };
+ };
+ "less-2.7.1" = {
+ name = "less";
+ packageName = "less";
+ version = "2.7.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/less/-/less-2.7.1.tgz";
+ sha1 = "6cbfea22b3b830304e9a5fb371d54fa480c9d7cf";
+ };
+ };
+ "lodash-4.15.0" = {
+ name = "lodash";
+ packageName = "lodash";
+ version = "4.15.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash/-/lodash-4.15.0.tgz";
+ sha1 = "3162391d8f0140aa22cf8f6b3c34d6b7f63d3aa9";
+ };
+ };
+ "errno-0.1.4" = {
+ name = "errno";
+ packageName = "errno";
+ version = "0.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz";
+ sha1 = "b896e23a9e5e8ba33871fc996abd3635fc9a1c7d";
+ };
+ };
+ "graceful-fs-4.1.6" = {
+ name = "graceful-fs";
+ packageName = "graceful-fs";
+ version = "4.1.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.6.tgz";
+ sha1 = "514c38772b31bee2e08bedc21a0aeb3abf54c19e";
+ };
+ };
+ "image-size-0.5.0" = {
+ name = "image-size";
+ packageName = "image-size";
+ version = "0.5.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/image-size/-/image-size-0.5.0.tgz";
+ sha1 = "be7aed1c37b5ac3d9ba1d66a24b4c47ff8397651";
+ };
+ };
+ "mime-1.3.4" = {
+ name = "mime";
+ packageName = "mime";
+ version = "1.3.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
+ sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "ansi-styles" ];
- };
- by-spec."argparse"."~ 0.1.11" =
- self.by-version."argparse"."0.1.16";
- by-version."argparse"."0.1.16" = lib.makeOverridable self.buildNodePackage {
- name = "argparse-0.1.16";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz";
- name = "argparse-0.1.16.tgz";
- sha1 = "cfd01e0fbba3d6caed049fbd758d40f65196f57c";
- })
- ];
- buildInputs =
- (self.nativeDeps."argparse" or []);
- deps = {
- "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
- "underscore.string-2.4.0" = self.by-version."underscore.string"."2.4.0";
+ "mkdirp-0.5.1" = {
+ name = "mkdirp";
+ packageName = "mkdirp";
+ version = "0.5.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
+ sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
+ };
+ };
+ "promise-7.1.1" = {
+ name = "promise";
+ packageName = "promise";
+ version = "7.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz";
+ sha1 = "489654c692616b8aa55b0724fa809bb7db49c5bf";
+ };
+ };
+ "source-map-0.5.6" = {
+ name = "source-map";
+ packageName = "source-map";
+ version = "0.5.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz";
+ sha1 = "75ce38f52bf0733c5a7f0c118d81334a2bb5f412";
+ };
+ };
+ "prr-0.0.0" = {
+ name = "prr";
+ packageName = "prr";
+ version = "0.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz";
+ sha1 = "1a84b85908325501411853d0081ee3fa86e2926a";
+ };
+ };
+ "minimist-0.0.8" = {
+ name = "minimist";
+ packageName = "minimist";
+ version = "0.0.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
+ sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
+ };
+ };
+ "asap-2.0.4" = {
+ name = "asap";
+ packageName = "asap";
+ version = "2.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/asap/-/asap-2.0.4.tgz";
+ sha1 = "b391bf7f6bfbc65706022fec8f49c4b07fecf589";
+ };
+ };
+ "gaze-0.5.2" = {
+ name = "gaze";
+ packageName = "gaze";
+ version = "0.5.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz";
+ sha1 = "40b709537d24d1d45767db5a908689dfe69ac44f";
+ };
+ };
+ "tiny-lr-fork-0.0.5" = {
+ name = "tiny-lr-fork";
+ packageName = "tiny-lr-fork";
+ version = "0.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/tiny-lr-fork/-/tiny-lr-fork-0.0.5.tgz";
+ sha1 = "1e99e1e2a8469b736ab97d97eefa98c71f76ed0a";
+ };
+ };
+ "async-0.2.10" = {
+ name = "async";
+ packageName = "async";
+ version = "0.2.10";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/async/-/async-0.2.10.tgz";
+ sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
+ };
+ };
+ "globule-0.1.0" = {
+ name = "globule";
+ packageName = "globule";
+ version = "0.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz";
+ sha1 = "d9c8edde1da79d125a151b79533b978676346ae5";
+ };
+ };
+ "lodash-1.0.2" = {
+ name = "lodash";
+ packageName = "lodash";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz";
+ sha1 = "8f57560c83b59fc270bd3d561b690043430e2551";
+ };
+ };
+ "qs-0.5.6" = {
+ name = "qs";
+ packageName = "qs";
+ version = "0.5.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
+ sha1 = "31b1ad058567651c526921506b9a8793911a0384";
+ };
+ };
+ "faye-websocket-0.4.4" = {
+ name = "faye-websocket";
+ packageName = "faye-websocket";
+ version = "0.4.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz";
+ sha1 = "c14c5b3bf14d7417ffbfd990c0a7495cd9f337bc";
+ };
+ };
+ "noptify-0.0.3" = {
+ name = "noptify";
+ packageName = "noptify";
+ version = "0.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/noptify/-/noptify-0.0.3.tgz";
+ sha1 = "58f654a73d9753df0c51d9686dc92104a67f4bbb";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "argparse" ];
- };
- by-spec."asap"."~1.0.0" =
- self.by-version."asap"."1.0.0";
- by-version."asap"."1.0.0" = lib.makeOverridable self.buildNodePackage {
- name = "asap-1.0.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/asap/-/asap-1.0.0.tgz";
- name = "asap-1.0.0.tgz";
- sha1 = "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d";
- })
- ];
- buildInputs =
- (self.nativeDeps."asap" or []);
- deps = {
+ "debug-0.7.4" = {
+ name = "debug";
+ packageName = "debug";
+ version = "0.7.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
+ sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
+ };
+ };
+ "nopt-2.0.0" = {
+ name = "nopt";
+ packageName = "nopt";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz";
+ sha1 = "ca7416f20a5e3f9c3b86180f96295fa3d0b52e0d";
+ };
+ };
+ "command-line-args-2.1.6" = {
+ name = "command-line-args";
+ packageName = "command-line-args";
+ version = "2.1.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/command-line-args/-/command-line-args-2.1.6.tgz";
+ sha1 = "f197d6eaff34c9085577484b2864375b294f5697";
+ };
+ };
+ "dom5-1.3.3" = {
+ name = "dom5";
+ packageName = "dom5";
+ version = "1.3.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/dom5/-/dom5-1.3.3.tgz";
+ sha1 = "07e514522c245c7aa8512aa3f9118e8bcab9f909";
+ };
+ };
+ "array-back-1.0.3" = {
+ name = "array-back";
+ packageName = "array-back";
+ version = "1.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/array-back/-/array-back-1.0.3.tgz";
+ sha1 = "f1128a5cf1b91c80bed4a218f8c5b635c8b10663";
+ };
+ };
+ "command-line-usage-2.0.5" = {
+ name = "command-line-usage";
+ packageName = "command-line-usage";
+ version = "2.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/command-line-usage/-/command-line-usage-2.0.5.tgz";
+ sha1 = "f80c35ca5e8624841923ea3be3b9bfbf4f7be27b";
+ };
+ };
+ "core-js-2.4.1" = {
+ name = "core-js";
+ packageName = "core-js";
+ version = "2.4.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz";
+ sha1 = "4de911e667b0eae9124e34254b53aea6fc618d3e";
+ };
+ };
+ "feature-detect-es6-1.3.1" = {
+ name = "feature-detect-es6";
+ packageName = "feature-detect-es6";
+ version = "1.3.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/feature-detect-es6/-/feature-detect-es6-1.3.1.tgz";
+ sha1 = "f888736af9cb0c91f55663bfa4762eb96ee7047f";
+ };
+ };
+ "find-replace-1.0.2" = {
+ name = "find-replace";
+ packageName = "find-replace";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/find-replace/-/find-replace-1.0.2.tgz";
+ sha1 = "a2d6ce740d15f0d92b1b26763e2ce9c0e361fd98";
+ };
+ };
+ "typical-2.5.0" = {
+ name = "typical";
+ packageName = "typical";
+ version = "2.5.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/typical/-/typical-2.5.0.tgz";
+ sha1 = "81244918aa28180c9e602aa457173404be0604f1";
+ };
+ };
+ "ansi-escape-sequences-2.2.2" = {
+ name = "ansi-escape-sequences";
+ packageName = "ansi-escape-sequences";
+ version = "2.2.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-2.2.2.tgz";
+ sha1 = "174c78d6f8b7de75f8957ae81c7f72210c701635";
+ };
+ };
+ "column-layout-2.1.4" = {
+ name = "column-layout";
+ packageName = "column-layout";
+ version = "2.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/column-layout/-/column-layout-2.1.4.tgz";
+ sha1 = "ed2857092ccf8338026fe538379d9672d70b3641";
+ };
+ };
+ "wordwrapjs-1.2.1" = {
+ name = "wordwrapjs";
+ packageName = "wordwrapjs";
+ version = "1.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-1.2.1.tgz";
+ sha1 = "754a5ea0664cfbff50540dc32d67bda3289fc34b";
+ };
+ };
+ "collect-all-0.2.1" = {
+ name = "collect-all";
+ packageName = "collect-all";
+ version = "0.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/collect-all/-/collect-all-0.2.1.tgz";
+ sha1 = "7225fb4585c22d4ffac886f0abaf5abc563a1a6a";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "asap" ];
- };
- by-spec."asn1".">=0.2.3 <0.3.0" =
- self.by-version."asn1"."0.2.3";
- by-version."asn1"."0.2.3" = lib.makeOverridable self.buildNodePackage {
- name = "asn1-0.2.3";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz";
- name = "asn1-0.2.3.tgz";
- sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
- })
- ];
- buildInputs =
- (self.nativeDeps."asn1" or []);
- deps = {
+ "stream-connect-1.0.2" = {
+ name = "stream-connect";
+ packageName = "stream-connect";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz";
+ sha1 = "18bc81f2edb35b8b5d9a8009200a985314428a97";
+ };
+ };
+ "stream-via-0.1.1" = {
+ name = "stream-via";
+ packageName = "stream-via";
+ version = "0.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/stream-via/-/stream-via-0.1.1.tgz";
+ sha1 = "0cee5df9c959fb1d3f4eda4819f289d5f9205afc";
+ };
+ };
+ "collect-json-1.0.8" = {
+ name = "collect-json";
+ packageName = "collect-json";
+ version = "1.0.8";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/collect-json/-/collect-json-1.0.8.tgz";
+ sha1 = "aa2fa52b4d1d9444ce690f07a1e3617ab74bb827";
+ };
+ };
+ "deep-extend-0.4.1" = {
+ name = "deep-extend";
+ packageName = "deep-extend";
+ version = "0.4.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz";
+ sha1 = "efe4113d08085f4e6f9687759810f807469e2253";
+ };
+ };
+ "object-tools-2.0.6" = {
+ name = "object-tools";
+ packageName = "object-tools";
+ version = "2.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/object-tools/-/object-tools-2.0.6.tgz";
+ sha1 = "f3fe1c350cda4a6f5d99d9646dc4892a02476ddd";
+ };
+ };
+ "collect-all-1.0.2" = {
+ name = "collect-all";
+ packageName = "collect-all";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/collect-all/-/collect-all-1.0.2.tgz";
+ sha1 = "39450f1e7aa6086570a006bce93ccf1218a77ea1";
+ };
+ };
+ "stream-via-1.0.3" = {
+ name = "stream-via";
+ packageName = "stream-via";
+ version = "1.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/stream-via/-/stream-via-1.0.3.tgz";
+ sha1 = "cebd32a5a59d74b3b68e3404942e867184ad4ac9";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "asn1" ];
- };
- by-spec."assert-plus".">=0.2.0 <0.3.0" =
- self.by-version."assert-plus"."0.2.0";
- by-version."assert-plus"."0.2.0" = lib.makeOverridable self.buildNodePackage {
- name = "assert-plus-0.2.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz";
- name = "assert-plus-0.2.0.tgz";
- sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234";
- })
- ];
- buildInputs =
- (self.nativeDeps."assert-plus" or []);
- deps = {
+ "object-get-2.1.0" = {
+ name = "object-get";
+ packageName = "object-get";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/object-get/-/object-get-2.1.0.tgz";
+ sha1 = "722bbdb60039efa47cad3c6dc2ce51a85c02c5ae";
+ };
+ };
+ "test-value-1.1.0" = {
+ name = "test-value";
+ packageName = "test-value";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/test-value/-/test-value-1.1.0.tgz";
+ sha1 = "a09136f72ec043d27c893707c2b159bfad7de93f";
+ };
+ };
+ "test-value-2.0.0" = {
+ name = "test-value";
+ packageName = "test-value";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/test-value/-/test-value-2.0.0.tgz";
+ sha1 = "0d65c45ee0b48a757c4507a5e98ec2680a9db137";
+ };
+ };
+ "@types/clone-0.1.29" = {
+ name = "@types/clone";
+ packageName = "@types/clone";
+ version = "0.1.29";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/clone/-/clone-0.1.29.tgz";
+ sha1 = "65a0be88189ffddcd373e450aa6b68c9c83218b7";
+ };
+ };
+ "@types/node-4.0.30" = {
+ name = "@types/node";
+ packageName = "@types/node";
+ version = "4.0.30";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/node/-/node-4.0.30.tgz";
+ sha1 = "553f490ed3030311620f88003e7abfc0edcb301e";
+ };
+ };
+ "@types/parse5-0.0.28" = {
+ name = "@types/parse5";
+ packageName = "@types/parse5";
+ version = "0.0.28";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/parse5/-/parse5-0.0.28.tgz";
+ sha1 = "2a38cb7145bb157688d4ad2c46944c6dffae3cc6";
+ };
+ };
+ "clone-1.0.2" = {
+ name = "clone";
+ packageName = "clone";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz";
+ sha1 = "260b7a99ebb1edfe247538175f783243cb19d149";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "assert-plus" ];
- };
- by-spec."assert-plus"."^0.1.5" =
- self.by-version."assert-plus"."0.1.5";
- by-version."assert-plus"."0.1.5" = lib.makeOverridable self.buildNodePackage {
- name = "assert-plus-0.1.5";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
- name = "assert-plus-0.1.5.tgz";
- sha1 = "ee74009413002d84cec7219c6ac811812e723160";
- })
- ];
- buildInputs =
- (self.nativeDeps."assert-plus" or []);
- deps = {
+ "parse5-1.5.1" = {
+ name = "parse5";
+ packageName = "parse5";
+ version = "1.5.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz";
+ sha1 = "9b7f3b0de32be78dc2401b17573ccaf0f6f59d94";
+ };
+ };
+ "@types/node-6.0.37" = {
+ name = "@types/node";
+ packageName = "@types/node";
+ version = "6.0.37";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/@types/node/-/node-6.0.37.tgz";
+ sha1 = "a1e081f2ec60074113d3a1fbf11f35d304f30e39";
+ };
+ };
+ "es6-promise-2.3.0" = {
+ name = "es6-promise";
+ packageName = "es6-promise";
+ version = "2.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz";
+ sha1 = "96edb9f2fdb01995822b263dd8aadab6748181bc";
+ };
+ };
+ "hydrolysis-1.24.1" = {
+ name = "hydrolysis";
+ packageName = "hydrolysis";
+ version = "1.24.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/hydrolysis/-/hydrolysis-1.24.1.tgz";
+ sha1 = "0f94f055d1065ac0d81ff40b762d143fef07eff4";
+ };
+ };
+ "nopt-3.0.6" = {
+ name = "nopt";
+ packageName = "nopt";
+ version = "3.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz";
+ sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
+ };
+ };
+ "path-posix-1.0.0" = {
+ name = "path-posix";
+ packageName = "path-posix";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-posix/-/path-posix-1.0.0.tgz";
+ sha1 = "06b26113f56beab042545a23bfa88003ccac260f";
+ };
+ };
+ "update-notifier-0.6.3" = {
+ name = "update-notifier";
+ packageName = "update-notifier";
+ version = "0.6.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/update-notifier/-/update-notifier-0.6.3.tgz";
+ sha1 = "776dec8daa13e962a341e8a1d98354306b67ae08";
+ };
+ };
+ "babel-polyfill-6.13.0" = {
+ name = "babel-polyfill";
+ packageName = "babel-polyfill";
+ version = "6.13.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.13.0.tgz";
+ sha1 = "5978215c25d49a697eb78afc54e63c9d3a73d5ec";
+ };
+ };
+ "doctrine-0.7.2" = {
+ name = "doctrine";
+ packageName = "doctrine";
+ version = "0.7.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/doctrine/-/doctrine-0.7.2.tgz";
+ sha1 = "7cb860359ba3be90e040b26b729ce4bfa654c523";
+ };
+ };
+ "escodegen-1.8.1" = {
+ name = "escodegen";
+ packageName = "escodegen";
+ version = "1.8.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz";
+ sha1 = "5a5b53af4693110bebb0867aa3430dd3b70a1018";
+ };
+ };
+ "espree-3.1.7" = {
+ name = "espree";
+ packageName = "espree";
+ version = "3.1.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/espree/-/espree-3.1.7.tgz";
+ sha1 = "fd5deec76a97a5120a9cd3a7cb1177a0923b11d2";
+ };
+ };
+ "estraverse-3.1.0" = {
+ name = "estraverse";
+ packageName = "estraverse";
+ version = "3.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/estraverse/-/estraverse-3.1.0.tgz";
+ sha1 = "15e28a446b8b82bc700ccc8b96c78af4da0d6cba";
+ };
+ };
+ "path-is-absolute-1.0.0" = {
+ name = "path-is-absolute";
+ packageName = "path-is-absolute";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz";
+ sha1 = "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912";
+ };
+ };
+ "babel-runtime-6.11.6" = {
+ name = "babel-runtime";
+ packageName = "babel-runtime";
+ version = "6.11.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.11.6.tgz";
+ sha1 = "6db707fef2d49c49bfa3cb64efdb436b518b8222";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "assert-plus" ];
- };
- by-spec."assert-plus"."^0.2.0" =
- self.by-version."assert-plus"."0.2.0";
- by-spec."async"."^0.9.0" =
- self.by-version."async"."0.9.2";
- by-version."async"."0.9.2" = lib.makeOverridable self.buildNodePackage {
- name = "async-0.9.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/async/-/async-0.9.2.tgz";
- name = "async-0.9.2.tgz";
- sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
- })
- ];
- buildInputs =
- (self.nativeDeps."async" or []);
- deps = {
+ "regenerator-runtime-0.9.5" = {
+ name = "regenerator-runtime";
+ packageName = "regenerator-runtime";
+ version = "0.9.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz";
+ sha1 = "403d6d40a4bdff9c330dd9392dcbb2d9a8bba1fc";
+ };
+ };
+ "esutils-1.1.6" = {
+ name = "esutils";
+ packageName = "esutils";
+ version = "1.1.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz";
+ sha1 = "c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375";
+ };
+ };
+ "isarray-0.0.1" = {
+ name = "isarray";
+ packageName = "isarray";
+ version = "0.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
+ sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
+ };
+ };
+ "estraverse-1.9.3" = {
+ name = "estraverse";
+ packageName = "estraverse";
+ version = "1.9.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz";
+ sha1 = "af67f2dc922582415950926091a4005d29c9bb44";
+ };
+ };
+ "esutils-2.0.2" = {
+ name = "esutils";
+ packageName = "esutils";
+ version = "2.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz";
+ sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b";
+ };
+ };
+ "esprima-2.7.3" = {
+ name = "esprima";
+ packageName = "esprima";
+ version = "2.7.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz";
+ sha1 = "96e3b70d5779f6ad49cd032673d1c312767ba581";
+ };
+ };
+ "optionator-0.8.1" = {
+ name = "optionator";
+ packageName = "optionator";
+ version = "0.8.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/optionator/-/optionator-0.8.1.tgz";
+ sha1 = "e31b4932cdd5fb862a8b0d10bc63d3ee1ec7d78b";
+ };
+ };
+ "source-map-0.2.0" = {
+ name = "source-map";
+ packageName = "source-map";
+ version = "0.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz";
+ sha1 = "dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d";
+ };
+ };
+ "prelude-ls-1.1.2" = {
+ name = "prelude-ls";
+ packageName = "prelude-ls";
+ version = "1.1.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz";
+ sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+ };
+ };
+ "deep-is-0.1.3" = {
+ name = "deep-is";
+ packageName = "deep-is";
+ version = "0.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";
+ sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
+ };
+ };
+ "wordwrap-1.0.0" = {
+ name = "wordwrap";
+ packageName = "wordwrap";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz";
+ sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
+ };
+ };
+ "type-check-0.3.2" = {
+ name = "type-check";
+ packageName = "type-check";
+ version = "0.3.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz";
+ sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+ };
+ };
+ "levn-0.3.0" = {
+ name = "levn";
+ packageName = "levn";
+ version = "0.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz";
+ sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+ };
+ };
+ "fast-levenshtein-1.1.4" = {
+ name = "fast-levenshtein";
+ packageName = "fast-levenshtein";
+ version = "1.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz";
+ sha1 = "e6a754cc8f15e58987aa9cbd27af66fd6f4e5af9";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "async" ];
- };
- by-spec."async"."^1.4.0" =
- self.by-version."async"."1.5.2";
- by-version."async"."1.5.2" = lib.makeOverridable self.buildNodePackage {
- name = "async-1.5.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/async/-/async-1.5.2.tgz";
- name = "async-1.5.2.tgz";
- sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
- })
- ];
- buildInputs =
- (self.nativeDeps."async" or []);
- deps = {
+ "acorn-3.3.0" = {
+ name = "acorn";
+ packageName = "acorn";
+ version = "3.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz";
+ sha1 = "45e37fb39e8da3f25baee3ff5369e2bb5f22017a";
+ };
+ };
+ "acorn-jsx-3.0.1" = {
+ name = "acorn-jsx";
+ packageName = "acorn-jsx";
+ version = "3.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz";
+ sha1 = "afdf9488fb1ecefc8348f6fb22f464e32a58b36b";
+ };
+ };
+ "boxen-0.3.1" = {
+ name = "boxen";
+ packageName = "boxen";
+ version = "0.3.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/boxen/-/boxen-0.3.1.tgz";
+ sha1 = "a7d898243ae622f7abb6bb604d740a76c6a5461b";
+ };
+ };
+ "configstore-2.0.0" = {
+ name = "configstore";
+ packageName = "configstore";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/configstore/-/configstore-2.0.0.tgz";
+ sha1 = "8d81e9cdfa73ebd0e06bc985147856b2f1c4e764";
+ };
+ };
+ "is-npm-1.0.0" = {
+ name = "is-npm";
+ packageName = "is-npm";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz";
+ sha1 = "f2fb63a65e4905b406c86072765a1a4dc793b9f4";
+ };
+ };
+ "latest-version-2.0.0" = {
+ name = "latest-version";
+ packageName = "latest-version";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz";
+ sha1 = "56f8d6139620847b8017f8f1f4d78e211324168b";
+ };
+ };
+ "semver-diff-2.1.0" = {
+ name = "semver-diff";
+ packageName = "semver-diff";
+ version = "2.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz";
+ sha1 = "4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36";
+ };
+ };
+ "filled-array-1.1.0" = {
+ name = "filled-array";
+ packageName = "filled-array";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/filled-array/-/filled-array-1.1.0.tgz";
+ sha1 = "c3c4f6c663b923459a9aa29912d2d031f1507f84";
+ };
+ };
+ "object-assign-4.1.0" = {
+ name = "object-assign";
+ packageName = "object-assign";
+ version = "4.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz";
+ sha1 = "7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0";
+ };
+ };
+ "repeating-2.0.1" = {
+ name = "repeating";
+ packageName = "repeating";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz";
+ sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
+ };
+ };
+ "string-width-1.0.2" = {
+ name = "string-width";
+ packageName = "string-width";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
+ sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+ };
+ };
+ "widest-line-1.0.0" = {
+ name = "widest-line";
+ packageName = "widest-line";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz";
+ sha1 = "0c09c85c2a94683d0d7eaf8ee097d564bf0e105c";
+ };
+ };
+ "is-finite-1.0.1" = {
+ name = "is-finite";
+ packageName = "is-finite";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz";
+ sha1 = "6438603eaebe2793948ff4a4262ec8db3d62597b";
+ };
+ };
+ "number-is-nan-1.0.0" = {
+ name = "number-is-nan";
+ packageName = "number-is-nan";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz";
+ sha1 = "c020f529c5282adfdd233d91d4b181c3d686dc4b";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "async" ];
- };
- by-spec."async"."~0.1.22" =
- self.by-version."async"."0.1.22";
- by-version."async"."0.1.22" = lib.makeOverridable self.buildNodePackage {
- name = "async-0.1.22";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
- name = "async-0.1.22.tgz";
- sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
- })
- ];
- buildInputs =
- (self.nativeDeps."async" or []);
- deps = {
+ "code-point-at-1.0.0" = {
+ name = "code-point-at";
+ packageName = "code-point-at";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz";
+ sha1 = "f69b192d3f7d91e382e4b71bddb77878619ab0c6";
+ };
+ };
+ "is-fullwidth-code-point-1.0.0" = {
+ name = "is-fullwidth-code-point";
+ packageName = "is-fullwidth-code-point";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
+ sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
+ };
+ };
+ "dot-prop-2.4.0" = {
+ name = "dot-prop";
+ packageName = "dot-prop";
+ version = "2.4.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/dot-prop/-/dot-prop-2.4.0.tgz";
+ sha1 = "848e28f7f1d50740c6747ab3cb07670462b6f89c";
+ };
+ };
+ "os-tmpdir-1.0.1" = {
+ name = "os-tmpdir";
+ packageName = "os-tmpdir";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz";
+ sha1 = "e9b423a1edaf479882562e92ed71d7743a071b6e";
+ };
+ };
+ "osenv-0.1.3" = {
+ name = "osenv";
+ packageName = "osenv";
+ version = "0.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz";
+ sha1 = "83cf05c6d6458fc4d5ac6362ea325d92f2754217";
+ };
+ };
+ "uuid-2.0.2" = {
+ name = "uuid";
+ packageName = "uuid";
+ version = "2.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/uuid/-/uuid-2.0.2.tgz";
+ sha1 = "48bd5698f0677e3c7901a1c46ef15b1643794726";
+ };
+ };
+ "write-file-atomic-1.2.0" = {
+ name = "write-file-atomic";
+ packageName = "write-file-atomic";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.2.0.tgz";
+ sha1 = "14c66d4e4cb3ca0565c28cf3b7a6f3e4d5938fab";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "async" ];
- };
- by-spec."async"."~0.2.9" =
- self.by-version."async"."0.2.10";
- by-version."async"."0.2.10" = lib.makeOverridable self.buildNodePackage {
- name = "async-0.2.10";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
- name = "async-0.2.10.tgz";
- sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
- })
- ];
- buildInputs =
- (self.nativeDeps."async" or []);
- deps = {
+ "xdg-basedir-2.0.0" = {
+ name = "xdg-basedir";
+ packageName = "xdg-basedir";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz";
+ sha1 = "edbc903cc385fc04523d966a335504b5504d1bd2";
+ };
+ };
+ "is-obj-1.0.1" = {
+ name = "is-obj";
+ packageName = "is-obj";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz";
+ sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
+ };
+ };
+ "os-homedir-1.0.1" = {
+ name = "os-homedir";
+ packageName = "os-homedir";
+ version = "1.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz";
+ sha1 = "0d62bdf44b916fd3bbdcf2cab191948fb094f007";
+ };
+ };
+ "imurmurhash-0.1.4" = {
+ name = "imurmurhash";
+ packageName = "imurmurhash";
+ version = "0.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
+ sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+ };
+ };
+ "slide-1.1.6" = {
+ name = "slide";
+ packageName = "slide";
+ version = "1.1.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz";
+ sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
+ };
+ };
+ "package-json-2.3.3" = {
+ name = "package-json";
+ packageName = "package-json";
+ version = "2.3.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/package-json/-/package-json-2.3.3.tgz";
+ sha1 = "14895311a963d18edf8801e06b67ea87795d15b9";
+ };
+ };
+ "got-5.6.0" = {
+ name = "got";
+ packageName = "got";
+ version = "5.6.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/got/-/got-5.6.0.tgz";
+ sha1 = "bb1d7ee163b78082bbc8eb836f3f395004ea6fbf";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "async" ];
- };
- by-spec."aws-sign2"."~0.6.0" =
- self.by-version."aws-sign2"."0.6.0";
- by-version."aws-sign2"."0.6.0" = lib.makeOverridable self.buildNodePackage {
- name = "aws-sign2-0.6.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz";
- name = "aws-sign2-0.6.0.tgz";
- sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f";
- })
- ];
- buildInputs =
- (self.nativeDeps."aws-sign2" or []);
- deps = {
+ "rc-1.1.6" = {
+ name = "rc";
+ packageName = "rc";
+ version = "1.1.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz";
+ sha1 = "43651b76b6ae53b5c802f1151fa3fc3b059969c9";
+ };
+ };
+ "registry-url-3.1.0" = {
+ name = "registry-url";
+ packageName = "registry-url";
+ version = "3.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz";
+ sha1 = "3d4ef870f73dde1d77f0cf9a381432444e174942";
+ };
+ };
+ "semver-5.3.0" = {
+ name = "semver";
+ packageName = "semver";
+ version = "5.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz";
+ sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f";
+ };
+ };
+ "create-error-class-3.0.2" = {
+ name = "create-error-class";
+ packageName = "create-error-class";
+ version = "3.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz";
+ sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
+ };
+ };
+ "duplexer2-0.1.4" = {
+ name = "duplexer2";
+ packageName = "duplexer2";
+ version = "0.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz";
+ sha1 = "8b12dab878c0d69e3e7891051662a32fc6bddcc1";
+ };
+ };
+ "is-plain-obj-1.1.0" = {
+ name = "is-plain-obj";
+ packageName = "is-plain-obj";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
+ sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e";
+ };
+ };
+ "is-redirect-1.0.0" = {
+ name = "is-redirect";
+ packageName = "is-redirect";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz";
+ sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
+ };
+ };
+ "is-retry-allowed-1.1.0" = {
+ name = "is-retry-allowed";
+ packageName = "is-retry-allowed";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz";
+ sha1 = "11a060568b67339444033d0125a61a20d564fb34";
+ };
+ };
+ "is-stream-1.1.0" = {
+ name = "is-stream";
+ packageName = "is-stream";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz";
+ sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
+ };
+ };
+ "lowercase-keys-1.0.0" = {
+ name = "lowercase-keys";
+ packageName = "lowercase-keys";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz";
+ sha1 = "4e3366b39e7f5457e35f1324bdf6f88d0bfc7306";
+ };
+ };
+ "node-status-codes-1.0.0" = {
+ name = "node-status-codes";
+ packageName = "node-status-codes";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz";
+ sha1 = "5ae5541d024645d32a58fcddc9ceecea7ae3ac2f";
+ };
+ };
+ "parse-json-2.2.0" = {
+ name = "parse-json";
+ packageName = "parse-json";
+ version = "2.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz";
+ sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
+ };
+ };
+ "pinkie-promise-2.0.1" = {
+ name = "pinkie-promise";
+ packageName = "pinkie-promise";
+ version = "2.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
+ sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
+ };
+ };
+ "read-all-stream-3.1.0" = {
+ name = "read-all-stream";
+ packageName = "read-all-stream";
+ version = "3.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz";
+ sha1 = "35c3e177f2078ef789ee4bfafa4373074eaef4fa";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "aws-sign2" ];
- };
- by-spec."balanced-match"."^0.3.0" =
- self.by-version."balanced-match"."0.3.0";
- by-version."balanced-match"."0.3.0" = lib.makeOverridable self.buildNodePackage {
- name = "balanced-match-0.3.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz";
- name = "balanced-match-0.3.0.tgz";
- sha1 = "a91cdd1ebef1a86659e70ff4def01625fc2d6756";
- })
- ];
- buildInputs =
- (self.nativeDeps."balanced-match" or []);
- deps = {
+ "readable-stream-2.1.5" = {
+ name = "readable-stream";
+ packageName = "readable-stream";
+ version = "2.1.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz";
+ sha1 = "66fa8b720e1438b364681f2ad1a63c618448c9d0";
+ };
+ };
+ "timed-out-2.0.0" = {
+ name = "timed-out";
+ packageName = "timed-out";
+ version = "2.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz";
+ sha1 = "f38b0ae81d3747d628001f41dafc652ace671c0a";
+ };
+ };
+ "unzip-response-1.0.0" = {
+ name = "unzip-response";
+ packageName = "unzip-response";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.0.tgz";
+ sha1 = "bfda54eeec658f00c2df4d4494b9dca0ca00f3e4";
+ };
+ };
+ "url-parse-lax-1.0.0" = {
+ name = "url-parse-lax";
+ packageName = "url-parse-lax";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz";
+ sha1 = "7af8f303645e9bd79a272e7a14ac68bc0609da73";
+ };
+ };
+ "capture-stack-trace-1.0.0" = {
+ name = "capture-stack-trace";
+ packageName = "capture-stack-trace";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz";
+ sha1 = "4a6fa07399c26bba47f0b2496b4d0fb408c5550d";
+ };
+ };
+ "error-ex-1.3.0" = {
+ name = "error-ex";
+ packageName = "error-ex";
+ version = "1.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz";
+ sha1 = "e67b43f3e82c96ea3a584ffee0b9fc3325d802d9";
+ };
+ };
+ "is-arrayish-0.2.1" = {
+ name = "is-arrayish";
+ packageName = "is-arrayish";
+ version = "0.2.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz";
+ sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+ };
+ };
+ "pinkie-2.0.4" = {
+ name = "pinkie";
+ packageName = "pinkie";
+ version = "2.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
+ sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
+ };
+ };
+ "buffer-shims-1.0.0" = {
+ name = "buffer-shims";
+ packageName = "buffer-shims";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz";
+ sha1 = "9978ce317388c649ad8793028c3477ef044a8b51";
+ };
+ };
+ "core-util-is-1.0.2" = {
+ name = "core-util-is";
+ packageName = "core-util-is";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
+ sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+ };
+ };
+ "isarray-1.0.0" = {
+ name = "isarray";
+ packageName = "isarray";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
+ sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+ };
+ };
+ "process-nextick-args-1.0.7" = {
+ name = "process-nextick-args";
+ packageName = "process-nextick-args";
+ version = "1.0.7";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz";
+ sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3";
+ };
+ };
+ "string_decoder-0.10.31" = {
+ name = "string_decoder";
+ packageName = "string_decoder";
+ version = "0.10.31";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
+ sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
+ };
+ };
+ "util-deprecate-1.0.2" = {
+ name = "util-deprecate";
+ packageName = "util-deprecate";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
+ sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "balanced-match" ];
- };
- by-spec."bl"."~1.0.0" =
- self.by-version."bl"."1.0.1";
- by-version."bl"."1.0.1" = lib.makeOverridable self.buildNodePackage {
- name = "bl-1.0.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/bl/-/bl-1.0.1.tgz";
- name = "bl-1.0.1.tgz";
- sha1 = "0e6df7330308c46515751676cafa7334dc9852fd";
- })
- ];
- buildInputs =
- (self.nativeDeps."bl" or []);
- deps = {
- "readable-stream-2.0.5" = self.by-version."readable-stream"."2.0.5";
+ "prepend-http-1.0.4" = {
+ name = "prepend-http";
+ packageName = "prepend-http";
+ version = "1.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz";
+ sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
+ };
+ };
+ "ini-1.3.4" = {
+ name = "ini";
+ packageName = "ini";
+ version = "1.3.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz";
+ sha1 = "0537cb79daf59b59a1a517dff706c86ec039162e";
+ };
+ };
+ "minimist-1.2.0" = {
+ name = "minimist";
+ packageName = "minimist";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
+ sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
+ };
+ };
+ "strip-json-comments-1.0.4" = {
+ name = "strip-json-comments";
+ packageName = "strip-json-comments";
+ version = "1.0.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz";
+ sha1 = "1e15fbcac97d3ee99bf2d73b4c656b082bbafb91";
+ };
+ };
+ "crisper-1.2.0" = {
+ name = "crisper";
+ packageName = "crisper";
+ version = "1.2.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/crisper/-/crisper-1.2.0.tgz";
+ sha1 = "9a91f597d71f6110294e076ad44dbb3408568e46";
+ };
+ };
+ "cli-1.0.0" = {
+ name = "cli";
+ packageName = "cli";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/cli/-/cli-1.0.0.tgz";
+ sha1 = "ee07dfc1390e3f2e6a9957cf88e1d4bfa777719d";
+ };
+ };
+ "console-browserify-1.1.0" = {
+ name = "console-browserify";
+ packageName = "console-browserify";
+ version = "1.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz";
+ sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
+ };
+ };
+ "htmlparser2-3.8.3" = {
+ name = "htmlparser2";
+ packageName = "htmlparser2";
+ version = "3.8.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz";
+ sha1 = "996c28b191516a8be86501a7d79757e5c70c1068";
+ };
+ };
+ "minimatch-3.0.3" = {
+ name = "minimatch";
+ packageName = "minimatch";
+ version = "3.0.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz";
+ sha1 = "2a4e4090b96b2db06a9d7df01055a62a77c9b774";
+ };
+ };
+ "shelljs-0.3.0" = {
+ name = "shelljs";
+ packageName = "shelljs";
+ version = "0.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz";
+ sha1 = "3596e6307a781544f591f37da618360f31db57b1";
+ };
+ };
+ "lodash-3.7.0" = {
+ name = "lodash";
+ packageName = "lodash";
+ version = "3.7.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz";
+ sha1 = "3678bd8ab995057c07ade836ed2ef087da811d45";
+ };
+ };
+ "glob-7.0.6" = {
+ name = "glob";
+ packageName = "glob";
+ version = "7.0.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz";
+ sha1 = "211bafaf49e525b8cd93260d14ab136152b3f57a";
+ };
+ };
+ "fs.realpath-1.0.0" = {
+ name = "fs.realpath";
+ packageName = "fs.realpath";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+ sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+ };
+ };
+ "inflight-1.0.5" = {
+ name = "inflight";
+ packageName = "inflight";
+ version = "1.0.5";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz";
+ sha1 = "db3204cd5a9de2e6cd890b85c6e2f66bcf4f620a";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "bl" ];
- };
- by-spec."boom"."2.x.x" =
- self.by-version."boom"."2.10.1";
- by-version."boom"."2.10.1" = lib.makeOverridable self.buildNodePackage {
- name = "boom-2.10.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/boom/-/boom-2.10.1.tgz";
- name = "boom-2.10.1.tgz";
- sha1 = "39c8918ceff5799f83f9492a848f625add0c766f";
- })
- ];
- buildInputs =
- (self.nativeDeps."boom" or []);
- deps = {
- "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
+ "once-1.3.3" = {
+ name = "once";
+ packageName = "once";
+ version = "1.3.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/once/-/once-1.3.3.tgz";
+ sha1 = "b2e261557ce4c314ec8304f3fa82663e4297ca20";
+ };
+ };
+ "wrappy-1.0.2" = {
+ name = "wrappy";
+ packageName = "wrappy";
+ version = "1.0.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+ sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+ };
+ };
+ "brace-expansion-1.1.6" = {
+ name = "brace-expansion";
+ packageName = "brace-expansion";
+ version = "1.1.6";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz";
+ sha1 = "7197d7eaa9b87e648390ea61fc66c84427420df9";
+ };
+ };
+ "balanced-match-0.4.2" = {
+ name = "balanced-match";
+ packageName = "balanced-match";
+ version = "0.4.2";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz";
+ sha1 = "cb3f3e3c732dc0f01ee70b403f302e61d7709838";
+ };
+ };
+ "concat-map-0.0.1" = {
+ name = "concat-map";
+ packageName = "concat-map";
+ version = "0.0.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
+ sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+ };
+ };
+ "date-now-0.1.4" = {
+ name = "date-now";
+ packageName = "date-now";
+ version = "0.1.4";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz";
+ sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
+ };
+ };
+ "domhandler-2.3.0" = {
+ name = "domhandler";
+ packageName = "domhandler";
+ version = "2.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz";
+ sha1 = "2de59a0822d5027fabff6f032c2b25a2a8abe738";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "boom" ];
- };
- by-spec."brace-expansion"."^1.0.0" =
- self.by-version."brace-expansion"."1.1.2";
- by-version."brace-expansion"."1.1.2" = lib.makeOverridable self.buildNodePackage {
- name = "brace-expansion-1.1.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.2.tgz";
- name = "brace-expansion-1.1.2.tgz";
- sha1 = "f21445d0488b658e2771efd870eff51df29f04ef";
- })
- ];
- buildInputs =
- (self.nativeDeps."brace-expansion" or []);
- deps = {
- "balanced-match-0.3.0" = self.by-version."balanced-match"."0.3.0";
- "concat-map-0.0.1" = self.by-version."concat-map"."0.0.1";
+ "domutils-1.5.1" = {
+ name = "domutils";
+ packageName = "domutils";
+ version = "1.5.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz";
+ sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
+ };
+ };
+ "domelementtype-1.3.0" = {
+ name = "domelementtype";
+ packageName = "domelementtype";
+ version = "1.3.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz";
+ sha1 = "b17aed82e8ab59e52dd9c19b1756e0fc187204c2";
+ };
+ };
+ "readable-stream-1.1.14" = {
+ name = "readable-stream";
+ packageName = "readable-stream";
+ version = "1.1.14";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz";
+ sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9";
+ };
};
- peerDependencies = [
- ];
- passthru.names = [ "brace-expansion" ];
+ "entities-1.0.0" = {
+ name = "entities";
+ packageName = "entities";
+ version = "1.0.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz";
+ sha1 = "b2987aa3821347fcde642b24fdfc9e4fb712bf26";
+ };
+ };
+ "dom-serializer-0.1.0" = {
+ name = "dom-serializer";
+ packageName = "dom-serializer";
+ version = "0.1.0";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz";
+ sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82";
+ };
+ };
+ "domelementtype-1.1.3" = {
+ name = "domelementtype";
+ packageName = "domelementtype";
+ version = "1.1.3";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz";
+ sha1 = "bd28773e2642881aec51544924299c5cd822185b";
+ };
+ };
+ "entities-1.1.1" = {
+ name = "entities";
+ packageName = "entities";
+ version = "1.1.1";
+ src = fetchurl {
+ url = "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz";
+ sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
+ };
+ };
};
- by-spec."caseless"."~0.11.0" =
- self.by-version."caseless"."0.11.0";
- by-version."caseless"."0.11.0" = lib.makeOverridable self.buildNodePackage {
- name = "caseless-0.11.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz";
- name = "caseless-0.11.0.tgz";
- sha1 = "715b96ea9841593cc33067923f5ec60ebda4f7d7";
- })
- ];
- buildInputs =
- (self.nativeDeps."caseless" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "caseless" ];
- };
- by-spec."chalk"."^0.5.1" =
- self.by-version."chalk"."0.5.1";
- by-version."chalk"."0.5.1" = lib.makeOverridable self.buildNodePackage {
- name = "chalk-0.5.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz";
- name = "chalk-0.5.1.tgz";
- sha1 = "663b3a648b68b55d04690d49167aa837858f2174";
- })
- ];
- buildInputs =
- (self.nativeDeps."chalk" or []);
- deps = {
- "ansi-styles-1.1.0" = self.by-version."ansi-styles"."1.1.0";
- "escape-string-regexp-1.0.4" = self.by-version."escape-string-regexp"."1.0.4";
- "has-ansi-0.1.0" = self.by-version."has-ansi"."0.1.0";
- "strip-ansi-0.3.0" = self.by-version."strip-ansi"."0.3.0";
- "supports-color-0.2.0" = self.by-version."supports-color"."0.2.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "chalk" ];
- };
- by-spec."chalk"."^1.0.0" =
- self.by-version."chalk"."1.1.1";
- by-version."chalk"."1.1.1" = lib.makeOverridable self.buildNodePackage {
- name = "chalk-1.1.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz";
- name = "chalk-1.1.1.tgz";
- sha1 = "509afb67066e7499f7eb3535c77445772ae2d019";
- })
- ];
- buildInputs =
- (self.nativeDeps."chalk" or []);
- deps = {
- "ansi-styles-2.1.0" = self.by-version."ansi-styles"."2.1.0";
- "escape-string-regexp-1.0.4" = self.by-version."escape-string-regexp"."1.0.4";
- "has-ansi-2.0.0" = self.by-version."has-ansi"."2.0.0";
- "strip-ansi-3.0.0" = self.by-version."strip-ansi"."3.0.0";
- "supports-color-2.0.0" = self.by-version."supports-color"."2.0.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "chalk" ];
- };
- by-spec."chalk"."^1.1.1" =
- self.by-version."chalk"."1.1.1";
- by-spec."cli"."0.6.x" =
- self.by-version."cli"."0.6.6";
- by-version."cli"."0.6.6" = lib.makeOverridable self.buildNodePackage {
- name = "cli-0.6.6";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/cli/-/cli-0.6.6.tgz";
- name = "cli-0.6.6.tgz";
- sha1 = "02ad44a380abf27adac5e6f0cdd7b043d74c53e3";
- })
- ];
- buildInputs =
- (self.nativeDeps."cli" or []);
- deps = {
- "glob-3.2.11" = self.by-version."glob"."3.2.11";
- "exit-0.1.2" = self.by-version."exit"."0.1.2";
- };
- peerDependencies = [
- ];
- passthru.names = [ "cli" ];
- };
- by-spec."coffee-script"."~1.3.3" =
- self.by-version."coffee-script"."1.3.3";
- by-version."coffee-script"."1.3.3" = lib.makeOverridable self.buildNodePackage {
- name = "coffee-script-1.3.3";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz";
- name = "coffee-script-1.3.3.tgz";
- sha1 = "150d6b4cb522894369efed6a2101c20bc7f4a4f4";
- })
- ];
- buildInputs =
- (self.nativeDeps."coffee-script" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "coffee-script" ];
- };
- by-spec."colors"."~0.6.2" =
- self.by-version."colors"."0.6.2";
- by-version."colors"."0.6.2" = lib.makeOverridable self.buildNodePackage {
- name = "colors-0.6.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
- name = "colors-0.6.2.tgz";
- sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
- })
- ];
- buildInputs =
- (self.nativeDeps."colors" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "colors" ];
- };
- by-spec."combined-stream"."^1.0.5" =
- self.by-version."combined-stream"."1.0.5";
- by-version."combined-stream"."1.0.5" = lib.makeOverridable self.buildNodePackage {
- name = "combined-stream-1.0.5";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz";
- name = "combined-stream-1.0.5.tgz";
- sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009";
- })
- ];
- buildInputs =
- (self.nativeDeps."combined-stream" or []);
- deps = {
- "delayed-stream-1.0.0" = self.by-version."delayed-stream"."1.0.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "combined-stream" ];
- };
- by-spec."combined-stream"."~1.0.5" =
- self.by-version."combined-stream"."1.0.5";
- by-spec."commander"."^2.9.0" =
- self.by-version."commander"."2.9.0";
- by-version."commander"."2.9.0" = lib.makeOverridable self.buildNodePackage {
- name = "commander-2.9.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/commander/-/commander-2.9.0.tgz";
- name = "commander-2.9.0.tgz";
- sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
- })
- ];
- buildInputs =
- (self.nativeDeps."commander" or []);
- deps = {
- "graceful-readlink-1.0.1" = self.by-version."graceful-readlink"."1.0.1";
- };
- peerDependencies = [
- ];
- passthru.names = [ "commander" ];
- };
- by-spec."concat-map"."0.0.1" =
- self.by-version."concat-map"."0.0.1";
- by-version."concat-map"."0.0.1" = lib.makeOverridable self.buildNodePackage {
- name = "concat-map-0.0.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
- name = "concat-map-0.0.1.tgz";
- sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
- })
- ];
- buildInputs =
- (self.nativeDeps."concat-map" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "concat-map" ];
- };
- by-spec."console-browserify"."1.1.x" =
- self.by-version."console-browserify"."1.1.0";
- by-version."console-browserify"."1.1.0" = lib.makeOverridable self.buildNodePackage {
- name = "console-browserify-1.1.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz";
- name = "console-browserify-1.1.0.tgz";
- sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
- })
- ];
- buildInputs =
- (self.nativeDeps."console-browserify" or []);
- deps = {
- "date-now-0.1.4" = self.by-version."date-now"."0.1.4";
- };
- peerDependencies = [
- ];
- passthru.names = [ "console-browserify" ];
- };
- by-spec."core-util-is"."~1.0.0" =
- self.by-version."core-util-is"."1.0.2";
- by-version."core-util-is"."1.0.2" = lib.makeOverridable self.buildNodePackage {
- name = "core-util-is-1.0.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
- name = "core-util-is-1.0.2.tgz";
- sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
- })
- ];
- buildInputs =
- (self.nativeDeps."core-util-is" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "core-util-is" ];
- };
- by-spec."cryptiles"."2.x.x" =
- self.by-version."cryptiles"."2.0.5";
- by-version."cryptiles"."2.0.5" = lib.makeOverridable self.buildNodePackage {
- name = "cryptiles-2.0.5";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz";
- name = "cryptiles-2.0.5.tgz";
- sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8";
- })
- ];
- buildInputs =
- (self.nativeDeps."cryptiles" or []);
- deps = {
- "boom-2.10.1" = self.by-version."boom"."2.10.1";
- };
- peerDependencies = [
- ];
- passthru.names = [ "cryptiles" ];
- };
- by-spec."dashdash".">=1.10.1 <2.0.0" =
- self.by-version."dashdash"."1.12.2";
- by-version."dashdash"."1.12.2" = lib.makeOverridable self.buildNodePackage {
- name = "dashdash-1.12.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/dashdash/-/dashdash-1.12.2.tgz";
- name = "dashdash-1.12.2.tgz";
- sha1 = "1c6f70588498d047b8cd5777b32ba85a5e25be36";
- })
- ];
- buildInputs =
- (self.nativeDeps."dashdash" or []);
- deps = {
- "assert-plus-0.2.0" = self.by-version."assert-plus"."0.2.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "dashdash" ];
- };
- by-spec."date-now"."^0.1.4" =
- self.by-version."date-now"."0.1.4";
- by-version."date-now"."0.1.4" = lib.makeOverridable self.buildNodePackage {
- name = "date-now-0.1.4";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz";
- name = "date-now-0.1.4.tgz";
- sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
- })
- ];
- buildInputs =
- (self.nativeDeps."date-now" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "date-now" ];
- };
- by-spec."dateformat"."1.0.2-1.2.3" =
- self.by-version."dateformat"."1.0.2-1.2.3";
- by-version."dateformat"."1.0.2-1.2.3" = lib.makeOverridable self.buildNodePackage {
- name = "dateformat-1.0.2-1.2.3";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz";
- name = "dateformat-1.0.2-1.2.3.tgz";
- sha1 = "b0220c02de98617433b72851cf47de3df2cdbee9";
- })
- ];
- buildInputs =
- (self.nativeDeps."dateformat" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "dateformat" ];
- };
- by-spec."debug"."~0.7.0" =
- self.by-version."debug"."0.7.4";
- by-version."debug"."0.7.4" = lib.makeOverridable self.buildNodePackage {
- name = "debug-0.7.4";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
- name = "debug-0.7.4.tgz";
- sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
- })
- ];
- buildInputs =
- (self.nativeDeps."debug" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "debug" ];
- };
- by-spec."delayed-stream"."~1.0.0" =
- self.by-version."delayed-stream"."1.0.0";
- by-version."delayed-stream"."1.0.0" = lib.makeOverridable self.buildNodePackage {
- name = "delayed-stream-1.0.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
- name = "delayed-stream-1.0.0.tgz";
- sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
- })
- ];
- buildInputs =
- (self.nativeDeps."delayed-stream" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "delayed-stream" ];
- };
- by-spec."dom-serializer"."0" =
- self.by-version."dom-serializer"."0.1.0";
- by-version."dom-serializer"."0.1.0" = lib.makeOverridable self.buildNodePackage {
- name = "dom-serializer-0.1.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz";
- name = "dom-serializer-0.1.0.tgz";
- sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82";
- })
- ];
- buildInputs =
- (self.nativeDeps."dom-serializer" or []);
- deps = {
- "domelementtype-1.1.3" = self.by-version."domelementtype"."1.1.3";
- "entities-1.1.1" = self.by-version."entities"."1.1.1";
- };
- peerDependencies = [
- ];
- passthru.names = [ "dom-serializer" ];
- };
- by-spec."domelementtype"."1" =
- self.by-version."domelementtype"."1.3.0";
- by-version."domelementtype"."1.3.0" = lib.makeOverridable self.buildNodePackage {
- name = "domelementtype-1.3.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz";
- name = "domelementtype-1.3.0.tgz";
- sha1 = "b17aed82e8ab59e52dd9c19b1756e0fc187204c2";
- })
- ];
- buildInputs =
- (self.nativeDeps."domelementtype" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "domelementtype" ];
- };
- by-spec."domelementtype"."~1.1.1" =
- self.by-version."domelementtype"."1.1.3";
- by-version."domelementtype"."1.1.3" = lib.makeOverridable self.buildNodePackage {
- name = "domelementtype-1.1.3";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz";
- name = "domelementtype-1.1.3.tgz";
- sha1 = "bd28773e2642881aec51544924299c5cd822185b";
+ args = {
+ name = "rhodecode-enterprise";
+ packageName = "rhodecode-enterprise";
+ version = "0.0.1";
+ src = ./.;
+ dependencies = [
+ sources."grunt-0.4.5"
+ sources."grunt-contrib-copy-1.0.0"
+ (sources."grunt-contrib-concat-0.5.1" // {
+ dependencies = [
+ sources."chalk-0.5.1"
+ sources."ansi-styles-1.1.0"
+ sources."has-ansi-0.1.0"
+ sources."strip-ansi-0.3.0"
+ sources."supports-color-0.2.0"
+ sources."ansi-regex-0.2.1"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."domelementtype" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "domelementtype" ];
- };
- by-spec."domhandler"."2.3" =
- self.by-version."domhandler"."2.3.0";
- by-version."domhandler"."2.3.0" = lib.makeOverridable self.buildNodePackage {
- name = "domhandler-2.3.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz";
- name = "domhandler-2.3.0.tgz";
- sha1 = "2de59a0822d5027fabff6f032c2b25a2a8abe738";
+ sources."grunt-contrib-jshint-0.12.0"
+ (sources."grunt-contrib-less-1.4.0" // {
+ dependencies = [
+ sources."async-2.0.1"
+ sources."lodash-4.15.0"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."domhandler" or []);
- deps = {
- "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "domhandler" ];
- };
- by-spec."domutils"."1.5" =
- self.by-version."domutils"."1.5.1";
- by-version."domutils"."1.5.1" = lib.makeOverridable self.buildNodePackage {
- name = "domutils-1.5.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz";
- name = "domutils-1.5.1.tgz";
- sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
+ (sources."grunt-contrib-watch-0.6.1" // {
+ dependencies = [
+ sources."lodash-2.4.2"
+ sources."async-0.2.10"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."domutils" or []);
- deps = {
- "dom-serializer-0.1.0" = self.by-version."dom-serializer"."0.1.0";
- "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "domutils" ];
- };
- by-spec."ecc-jsbn".">=0.0.1 <1.0.0" =
- self.by-version."ecc-jsbn"."0.1.1";
- by-version."ecc-jsbn"."0.1.1" = lib.makeOverridable self.buildNodePackage {
- name = "ecc-jsbn-0.1.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz";
- name = "ecc-jsbn-0.1.1.tgz";
- sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
+ sources."crisper-2.0.2"
+ (sources."vulcanize-1.14.8" // {
+ dependencies = [
+ sources."nopt-3.0.6"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."ecc-jsbn" or []);
- deps = {
- "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "ecc-jsbn" ];
- };
- by-spec."entities"."1.0" =
- self.by-version."entities"."1.0.0";
- by-version."entities"."1.0.0" = lib.makeOverridable self.buildNodePackage {
- name = "entities-1.0.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/entities/-/entities-1.0.0.tgz";
- name = "entities-1.0.0.tgz";
- sha1 = "b2987aa3821347fcde642b24fdfc9e4fb712bf26";
+ sources."grunt-crisper-1.0.1"
+ (sources."grunt-vulcanize-1.0.0" // {
+ dependencies = [
+ sources."crisper-1.2.0"
+ sources."nopt-3.0.6"
+ ];
+ })
+ (sources."jshint-2.9.3" // {
+ dependencies = [
+ sources."minimatch-3.0.3"
+ sources."lodash-3.7.0"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."entities" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "entities" ];
- };
- by-spec."entities"."~1.1.1" =
- self.by-version."entities"."1.1.1";
- by-version."entities"."1.1.1" = lib.makeOverridable self.buildNodePackage {
- name = "entities-1.1.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/entities/-/entities-1.1.1.tgz";
- name = "entities-1.1.1.tgz";
- sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
+ sources."async-0.1.22"
+ sources."coffee-script-1.3.3"
+ sources."colors-0.6.2"
+ sources."dateformat-1.0.2-1.2.3"
+ sources."eventemitter2-0.4.14"
+ (sources."findup-sync-0.1.3" // {
+ dependencies = [
+ sources."glob-3.2.11"
+ sources."lodash-2.4.2"
+ sources."minimatch-0.3.0"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."entities" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "entities" ];
- };
- by-spec."errno"."^0.1.1" =
- self.by-version."errno"."0.1.4";
- by-version."errno"."0.1.4" = lib.makeOverridable self.buildNodePackage {
- name = "errno-0.1.4";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/errno/-/errno-0.1.4.tgz";
- name = "errno-0.1.4.tgz";
- sha1 = "b896e23a9e5e8ba33871fc996abd3635fc9a1c7d";
+ (sources."glob-3.1.21" // {
+ dependencies = [
+ sources."inherits-1.0.2"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."errno" or []);
- deps = {
- "prr-0.0.0" = self.by-version."prr"."0.0.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "errno" ];
- };
- by-spec."escape-string-regexp"."^1.0.0" =
- self.by-version."escape-string-regexp"."1.0.4";
- by-version."escape-string-regexp"."1.0.4" = lib.makeOverridable self.buildNodePackage {
- name = "escape-string-regexp-1.0.4";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.4.tgz";
- name = "escape-string-regexp-1.0.4.tgz";
- sha1 = "b85e679b46f72d03fbbe8a3bf7259d535c21b62f";
- })
- ];
- buildInputs =
- (self.nativeDeps."escape-string-regexp" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "escape-string-regexp" ];
- };
- by-spec."escape-string-regexp"."^1.0.2" =
- self.by-version."escape-string-regexp"."1.0.4";
- by-spec."esprima"."~ 1.0.2" =
- self.by-version."esprima"."1.0.4";
- by-version."esprima"."1.0.4" = lib.makeOverridable self.buildNodePackage {
- name = "esprima-1.0.4";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
- name = "esprima-1.0.4.tgz";
- sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
- })
- ];
- buildInputs =
- (self.nativeDeps."esprima" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "esprima" ];
- };
- by-spec."eventemitter2"."~0.4.13" =
- self.by-version."eventemitter2"."0.4.14";
- by-version."eventemitter2"."0.4.14" = lib.makeOverridable self.buildNodePackage {
- name = "eventemitter2-0.4.14";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz";
- name = "eventemitter2-0.4.14.tgz";
- sha1 = "8f61b75cde012b2e9eb284d4545583b5643b61ab";
+ sources."hooker-0.2.3"
+ sources."iconv-lite-0.2.11"
+ sources."minimatch-0.2.14"
+ sources."nopt-1.0.10"
+ sources."rimraf-2.2.8"
+ sources."lodash-0.9.2"
+ sources."underscore.string-2.2.1"
+ sources."which-1.0.9"
+ sources."js-yaml-2.0.5"
+ sources."exit-0.1.2"
+ sources."getobject-0.1.0"
+ sources."grunt-legacy-util-0.2.0"
+ (sources."grunt-legacy-log-0.1.3" // {
+ dependencies = [
+ sources."lodash-2.4.2"
+ sources."underscore.string-2.3.3"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."eventemitter2" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "eventemitter2" ];
- };
- by-spec."exit"."0.1.2" =
- self.by-version."exit"."0.1.2";
- by-version."exit"."0.1.2" = lib.makeOverridable self.buildNodePackage {
- name = "exit-0.1.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
- name = "exit-0.1.2.tgz";
- sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
- })
- ];
- buildInputs =
- (self.nativeDeps."exit" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "exit" ];
- };
- by-spec."exit"."0.1.x" =
- self.by-version."exit"."0.1.2";
- by-spec."exit"."~0.1.1" =
- self.by-version."exit"."0.1.2";
- by-spec."extend"."~3.0.0" =
- self.by-version."extend"."3.0.0";
- by-version."extend"."3.0.0" = lib.makeOverridable self.buildNodePackage {
- name = "extend-3.0.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/extend/-/extend-3.0.0.tgz";
- name = "extend-3.0.0.tgz";
- sha1 = "5a474353b9f3353ddd8176dfd37b91c83a46f1d4";
+ sources."inherits-2.0.1"
+ sources."lru-cache-2.7.3"
+ sources."sigmund-1.0.1"
+ sources."graceful-fs-1.2.3"
+ sources."abbrev-1.0.9"
+ (sources."argparse-0.1.16" // {
+ dependencies = [
+ sources."underscore.string-2.4.0"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."extend" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "extend" ];
- };
- by-spec."extsprintf"."1.0.2" =
- self.by-version."extsprintf"."1.0.2";
- by-version."extsprintf"."1.0.2" = lib.makeOverridable self.buildNodePackage {
- name = "extsprintf-1.0.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz";
- name = "extsprintf-1.0.2.tgz";
- sha1 = "e1080e0658e300b06294990cc70e1502235fd550";
+ sources."esprima-1.0.4"
+ sources."underscore-1.7.0"
+ (sources."grunt-legacy-log-utils-0.1.1" // {
+ dependencies = [
+ sources."lodash-2.4.2"
+ sources."underscore.string-2.3.3"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."extsprintf" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "extsprintf" ];
- };
- by-spec."faye-websocket"."~0.4.3" =
- self.by-version."faye-websocket"."0.4.4";
- by-version."faye-websocket"."0.4.4" = lib.makeOverridable self.buildNodePackage {
- name = "faye-websocket-0.4.4";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz";
- name = "faye-websocket-0.4.4.tgz";
- sha1 = "c14c5b3bf14d7417ffbfd990c0a7495cd9f337bc";
- })
- ];
- buildInputs =
- (self.nativeDeps."faye-websocket" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "faye-websocket" ];
- };
- by-spec."findup-sync"."~0.1.2" =
- self.by-version."findup-sync"."0.1.3";
- by-version."findup-sync"."0.1.3" = lib.makeOverridable self.buildNodePackage {
- name = "findup-sync-0.1.3";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz";
- name = "findup-sync-0.1.3.tgz";
- sha1 = "7f3e7a97b82392c653bf06589bd85190e93c3683";
+ sources."chalk-1.1.3"
+ sources."file-sync-cmp-0.1.1"
+ sources."ansi-styles-2.2.1"
+ sources."escape-string-regexp-1.0.5"
+ sources."has-ansi-2.0.0"
+ sources."strip-ansi-3.0.1"
+ sources."supports-color-2.0.0"
+ sources."ansi-regex-2.0.0"
+ sources."source-map-0.3.0"
+ sources."amdefine-1.0.0"
+ (sources."less-2.7.1" // {
+ dependencies = [
+ sources."graceful-fs-4.1.6"
+ sources."source-map-0.5.6"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."findup-sync" or []);
- deps = {
- "glob-3.2.11" = self.by-version."glob"."3.2.11";
- "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
- };
- peerDependencies = [
- ];
- passthru.names = [ "findup-sync" ];
- };
- by-spec."forever-agent"."~0.6.1" =
- self.by-version."forever-agent"."0.6.1";
- by-version."forever-agent"."0.6.1" = lib.makeOverridable self.buildNodePackage {
- name = "forever-agent-0.6.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
- name = "forever-agent-0.6.1.tgz";
- sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
- })
- ];
- buildInputs =
- (self.nativeDeps."forever-agent" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "forever-agent" ];
- };
- by-spec."form-data"."~1.0.0-rc3" =
- self.by-version."form-data"."1.0.0-rc3";
- by-version."form-data"."1.0.0-rc3" = lib.makeOverridable self.buildNodePackage {
- name = "form-data-1.0.0-rc3";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz";
- name = "form-data-1.0.0-rc3.tgz";
- sha1 = "d35bc62e7fbc2937ae78f948aaa0d38d90607577";
+ sources."errno-0.1.4"
+ sources."image-size-0.5.0"
+ sources."mime-1.3.4"
+ sources."mkdirp-0.5.1"
+ sources."promise-7.1.1"
+ sources."prr-0.0.0"
+ sources."minimist-0.0.8"
+ sources."asap-2.0.4"
+ sources."gaze-0.5.2"
+ sources."tiny-lr-fork-0.0.5"
+ (sources."globule-0.1.0" // {
+ dependencies = [
+ sources."lodash-1.0.2"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."form-data" or []);
- deps = {
- "async-1.5.2" = self.by-version."async"."1.5.2";
- "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
- "mime-types-2.1.9" = self.by-version."mime-types"."2.1.9";
- };
- peerDependencies = [
- ];
- passthru.names = [ "form-data" ];
- };
- by-spec."gaze"."~0.5.1" =
- self.by-version."gaze"."0.5.2";
- by-version."gaze"."0.5.2" = lib.makeOverridable self.buildNodePackage {
- name = "gaze-0.5.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz";
- name = "gaze-0.5.2.tgz";
- sha1 = "40b709537d24d1d45767db5a908689dfe69ac44f";
+ sources."qs-0.5.6"
+ sources."faye-websocket-0.4.4"
+ (sources."noptify-0.0.3" // {
+ dependencies = [
+ sources."nopt-2.0.0"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."gaze" or []);
- deps = {
- "globule-0.1.0" = self.by-version."globule"."0.1.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "gaze" ];
- };
- by-spec."generate-function"."^2.0.0" =
- self.by-version."generate-function"."2.0.0";
- by-version."generate-function"."2.0.0" = lib.makeOverridable self.buildNodePackage {
- name = "generate-function-2.0.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz";
- name = "generate-function-2.0.0.tgz";
- sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74";
- })
- ];
- buildInputs =
- (self.nativeDeps."generate-function" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "generate-function" ];
- };
- by-spec."generate-object-property"."^1.1.0" =
- self.by-version."generate-object-property"."1.2.0";
- by-version."generate-object-property"."1.2.0" = lib.makeOverridable self.buildNodePackage {
- name = "generate-object-property-1.2.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz";
- name = "generate-object-property-1.2.0.tgz";
- sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
+ sources."debug-0.7.4"
+ sources."command-line-args-2.1.6"
+ sources."dom5-1.3.3"
+ sources."array-back-1.0.3"
+ sources."command-line-usage-2.0.5"
+ sources."core-js-2.4.1"
+ sources."feature-detect-es6-1.3.1"
+ (sources."find-replace-1.0.2" // {
+ dependencies = [
+ sources."test-value-2.0.0"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."generate-object-property" or []);
- deps = {
- "is-property-1.0.2" = self.by-version."is-property"."1.0.2";
- };
- peerDependencies = [
- ];
- passthru.names = [ "generate-object-property" ];
- };
- by-spec."getobject"."~0.1.0" =
- self.by-version."getobject"."0.1.0";
- by-version."getobject"."0.1.0" = lib.makeOverridable self.buildNodePackage {
- name = "getobject-0.1.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz";
- name = "getobject-0.1.0.tgz";
- sha1 = "047a449789fa160d018f5486ed91320b6ec7885c";
- })
- ];
- buildInputs =
- (self.nativeDeps."getobject" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "getobject" ];
- };
- by-spec."glob"."~ 3.2.1" =
- self.by-version."glob"."3.2.11";
- by-version."glob"."3.2.11" = lib.makeOverridable self.buildNodePackage {
- name = "glob-3.2.11";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
- name = "glob-3.2.11.tgz";
- sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
+ sources."typical-2.5.0"
+ sources."ansi-escape-sequences-2.2.2"
+ sources."column-layout-2.1.4"
+ sources."wordwrapjs-1.2.1"
+ sources."collect-all-0.2.1"
+ sources."stream-connect-1.0.2"
+ sources."stream-via-0.1.1"
+ (sources."collect-json-1.0.8" // {
+ dependencies = [
+ sources."collect-all-1.0.2"
+ sources."stream-via-1.0.3"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."glob" or []);
- deps = {
- "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
- "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "glob" ];
- };
- by-spec."glob"."~3.1.21" =
- self.by-version."glob"."3.1.21";
- by-version."glob"."3.1.21" = lib.makeOverridable self.buildNodePackage {
- name = "glob-3.1.21";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/glob/-/glob-3.1.21.tgz";
- name = "glob-3.1.21.tgz";
- sha1 = "d29e0a055dea5138f4d07ed40e8982e83c2066cd";
- })
- ];
- buildInputs =
- (self.nativeDeps."glob" or []);
- deps = {
- "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
- "graceful-fs-1.2.3" = self.by-version."graceful-fs"."1.2.3";
- "inherits-1.0.2" = self.by-version."inherits"."1.0.2";
- };
- peerDependencies = [
- ];
- passthru.names = [ "glob" ];
- };
- by-spec."glob"."~3.2.9" =
- self.by-version."glob"."3.2.11";
- by-spec."globule"."~0.1.0" =
- self.by-version."globule"."0.1.0";
- by-version."globule"."0.1.0" = lib.makeOverridable self.buildNodePackage {
- name = "globule-0.1.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/globule/-/globule-0.1.0.tgz";
- name = "globule-0.1.0.tgz";
- sha1 = "d9c8edde1da79d125a151b79533b978676346ae5";
+ sources."deep-extend-0.4.1"
+ sources."object-tools-2.0.6"
+ sources."object-get-2.1.0"
+ sources."test-value-1.1.0"
+ sources."@types/clone-0.1.29"
+ sources."@types/node-4.0.30"
+ (sources."@types/parse5-0.0.28" // {
+ dependencies = [
+ sources."@types/node-6.0.37"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."globule" or []);
- deps = {
- "lodash-1.0.2" = self.by-version."lodash"."1.0.2";
- "glob-3.1.21" = self.by-version."glob"."3.1.21";
- "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
- };
- peerDependencies = [
- ];
- passthru.names = [ "globule" ];
- };
- by-spec."graceful-fs"."^3.0.5" =
- self.by-version."graceful-fs"."3.0.8";
- by-version."graceful-fs"."3.0.8" = lib.makeOverridable self.buildNodePackage {
- name = "graceful-fs-3.0.8";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz";
- name = "graceful-fs-3.0.8.tgz";
- sha1 = "ce813e725fa82f7e6147d51c9a5ca68270551c22";
- })
- ];
- buildInputs =
- (self.nativeDeps."graceful-fs" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "graceful-fs" ];
- };
- by-spec."graceful-fs"."~1.2.0" =
- self.by-version."graceful-fs"."1.2.3";
- by-version."graceful-fs"."1.2.3" = lib.makeOverridable self.buildNodePackage {
- name = "graceful-fs-1.2.3";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
- name = "graceful-fs-1.2.3.tgz";
- sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
- })
- ];
- buildInputs =
- (self.nativeDeps."graceful-fs" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "graceful-fs" ];
- };
- by-spec."graceful-readlink".">= 1.0.0" =
- self.by-version."graceful-readlink"."1.0.1";
- by-version."graceful-readlink"."1.0.1" = lib.makeOverridable self.buildNodePackage {
- name = "graceful-readlink-1.0.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
- name = "graceful-readlink-1.0.1.tgz";
- sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
+ sources."clone-1.0.2"
+ sources."parse5-1.5.1"
+ sources."es6-promise-2.3.0"
+ sources."hydrolysis-1.24.1"
+ sources."path-posix-1.0.0"
+ sources."update-notifier-0.6.3"
+ sources."babel-polyfill-6.13.0"
+ sources."doctrine-0.7.2"
+ (sources."escodegen-1.8.1" // {
+ dependencies = [
+ sources."estraverse-1.9.3"
+ sources."esutils-2.0.2"
+ sources."esprima-2.7.3"
+ sources."source-map-0.2.0"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."graceful-readlink" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "graceful-readlink" ];
- };
- by-spec."grunt".">=0.4.0" =
- self.by-version."grunt"."0.4.5";
- by-version."grunt"."0.4.5" = lib.makeOverridable self.buildNodePackage {
- name = "grunt-0.4.5";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz";
- name = "grunt-0.4.5.tgz";
- sha1 = "56937cd5194324adff6d207631832a9d6ba4e7f0";
- })
- ];
- buildInputs =
- (self.nativeDeps."grunt" or []);
- deps = {
- "async-0.1.22" = self.by-version."async"."0.1.22";
- "coffee-script-1.3.3" = self.by-version."coffee-script"."1.3.3";
- "colors-0.6.2" = self.by-version."colors"."0.6.2";
- "dateformat-1.0.2-1.2.3" = self.by-version."dateformat"."1.0.2-1.2.3";
- "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
- "findup-sync-0.1.3" = self.by-version."findup-sync"."0.1.3";
- "glob-3.1.21" = self.by-version."glob"."3.1.21";
- "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
- "iconv-lite-0.2.11" = self.by-version."iconv-lite"."0.2.11";
- "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
- "nopt-1.0.10" = self.by-version."nopt"."1.0.10";
- "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
- "lodash-0.9.2" = self.by-version."lodash"."0.9.2";
- "underscore.string-2.2.1" = self.by-version."underscore.string"."2.2.1";
- "which-1.0.9" = self.by-version."which"."1.0.9";
- "js-yaml-2.0.5" = self.by-version."js-yaml"."2.0.5";
- "exit-0.1.2" = self.by-version."exit"."0.1.2";
- "getobject-0.1.0" = self.by-version."getobject"."0.1.0";
- "grunt-legacy-util-0.2.0" = self.by-version."grunt-legacy-util"."0.2.0";
- "grunt-legacy-log-0.1.3" = self.by-version."grunt-legacy-log"."0.1.3";
- };
- peerDependencies = [
- ];
- passthru.names = [ "grunt" ];
- };
- by-spec."grunt"."^0.4.5" =
- self.by-version."grunt"."0.4.5";
- "grunt" = self.by-version."grunt"."0.4.5";
- by-spec."grunt"."~0.4.0" =
- self.by-version."grunt"."0.4.5";
- by-spec."grunt-contrib-concat"."^0.5.1" =
- self.by-version."grunt-contrib-concat"."0.5.1";
- by-version."grunt-contrib-concat"."0.5.1" = lib.makeOverridable self.buildNodePackage {
- name = "grunt-contrib-concat-0.5.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-0.5.1.tgz";
- name = "grunt-contrib-concat-0.5.1.tgz";
- sha1 = "953c6efdfdfd2c107ab9c85077f2d4b24d31cd49";
+ sources."espree-3.1.7"
+ sources."estraverse-3.1.0"
+ sources."path-is-absolute-1.0.0"
+ sources."babel-runtime-6.11.6"
+ sources."regenerator-runtime-0.9.5"
+ sources."esutils-1.1.6"
+ sources."isarray-0.0.1"
+ sources."optionator-0.8.1"
+ sources."prelude-ls-1.1.2"
+ sources."deep-is-0.1.3"
+ sources."wordwrap-1.0.0"
+ sources."type-check-0.3.2"
+ sources."levn-0.3.0"
+ sources."fast-levenshtein-1.1.4"
+ sources."acorn-3.3.0"
+ sources."acorn-jsx-3.0.1"
+ sources."boxen-0.3.1"
+ (sources."configstore-2.0.0" // {
+ dependencies = [
+ sources."graceful-fs-4.1.6"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."grunt-contrib-concat" or []);
- deps = {
- "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
- "source-map-0.3.0" = self.by-version."source-map"."0.3.0";
- };
- peerDependencies = [
- self.by-version."grunt"."0.4.5"
- ];
- passthru.names = [ "grunt-contrib-concat" ];
- };
- "grunt-contrib-concat" = self.by-version."grunt-contrib-concat"."0.5.1";
- by-spec."grunt-contrib-jshint"."^0.12.0" =
- self.by-version."grunt-contrib-jshint"."0.12.0";
- by-version."grunt-contrib-jshint"."0.12.0" = lib.makeOverridable self.buildNodePackage {
- name = "grunt-contrib-jshint-0.12.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-0.12.0.tgz";
- name = "grunt-contrib-jshint-0.12.0.tgz";
- sha1 = "f6b2f06fc715264837a7ab6c69a1ce1a689c2c29";
- })
- ];
- buildInputs =
- (self.nativeDeps."grunt-contrib-jshint" or []);
- deps = {
- "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
- "jshint-2.9.1" = self.by-version."jshint"."2.9.1";
- };
- peerDependencies = [
- self.by-version."grunt"."0.4.5"
- ];
- passthru.names = [ "grunt-contrib-jshint" ];
- };
- "grunt-contrib-jshint" = self.by-version."grunt-contrib-jshint"."0.12.0";
- by-spec."grunt-contrib-less"."^1.1.0" =
- self.by-version."grunt-contrib-less"."1.1.0";
- by-version."grunt-contrib-less"."1.1.0" = lib.makeOverridable self.buildNodePackage {
- name = "grunt-contrib-less-1.1.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.1.0.tgz";
- name = "grunt-contrib-less-1.1.0.tgz";
- sha1 = "44d5c5521ad76f3675a12374125d019b5dd03f51";
+ sources."is-npm-1.0.0"
+ sources."latest-version-2.0.0"
+ sources."semver-diff-2.1.0"
+ sources."filled-array-1.1.0"
+ sources."object-assign-4.1.0"
+ sources."repeating-2.0.1"
+ sources."string-width-1.0.2"
+ sources."widest-line-1.0.0"
+ sources."is-finite-1.0.1"
+ sources."number-is-nan-1.0.0"
+ sources."code-point-at-1.0.0"
+ sources."is-fullwidth-code-point-1.0.0"
+ sources."dot-prop-2.4.0"
+ sources."os-tmpdir-1.0.1"
+ sources."osenv-0.1.3"
+ sources."uuid-2.0.2"
+ (sources."write-file-atomic-1.2.0" // {
+ dependencies = [
+ sources."graceful-fs-4.1.6"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."grunt-contrib-less" or []);
- deps = {
- "async-0.9.2" = self.by-version."async"."0.9.2";
- "chalk-1.1.1" = self.by-version."chalk"."1.1.1";
- "less-2.5.3" = self.by-version."less"."2.5.3";
- "lodash-3.10.1" = self.by-version."lodash"."3.10.1";
- };
- peerDependencies = [
- self.by-version."grunt"."0.4.5"
- ];
- passthru.names = [ "grunt-contrib-less" ];
- };
- "grunt-contrib-less" = self.by-version."grunt-contrib-less"."1.1.0";
- by-spec."grunt-contrib-watch"."^0.6.1" =
- self.by-version."grunt-contrib-watch"."0.6.1";
- by-version."grunt-contrib-watch"."0.6.1" = lib.makeOverridable self.buildNodePackage {
- name = "grunt-contrib-watch-0.6.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-0.6.1.tgz";
- name = "grunt-contrib-watch-0.6.1.tgz";
- sha1 = "64fdcba25a635f5b4da1b6ce6f90da0aeb6e3f15";
- })
- ];
- buildInputs =
- (self.nativeDeps."grunt-contrib-watch" or []);
- deps = {
- "gaze-0.5.2" = self.by-version."gaze"."0.5.2";
- "tiny-lr-fork-0.0.5" = self.by-version."tiny-lr-fork"."0.0.5";
- "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
- "async-0.2.10" = self.by-version."async"."0.2.10";
- };
- peerDependencies = [
- self.by-version."grunt"."0.4.5"
- ];
- passthru.names = [ "grunt-contrib-watch" ];
- };
- "grunt-contrib-watch" = self.by-version."grunt-contrib-watch"."0.6.1";
- by-spec."grunt-legacy-log"."~0.1.0" =
- self.by-version."grunt-legacy-log"."0.1.3";
- by-version."grunt-legacy-log"."0.1.3" = lib.makeOverridable self.buildNodePackage {
- name = "grunt-legacy-log-0.1.3";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz";
- name = "grunt-legacy-log-0.1.3.tgz";
- sha1 = "ec29426e803021af59029f87d2f9cd7335a05531";
+ sources."xdg-basedir-2.0.0"
+ sources."is-obj-1.0.1"
+ sources."os-homedir-1.0.1"
+ sources."imurmurhash-0.1.4"
+ sources."slide-1.1.6"
+ sources."package-json-2.3.3"
+ sources."got-5.6.0"
+ (sources."rc-1.1.6" // {
+ dependencies = [
+ sources."minimist-1.2.0"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."grunt-legacy-log" or []);
- deps = {
- "colors-0.6.2" = self.by-version."colors"."0.6.2";
- "grunt-legacy-log-utils-0.1.1" = self.by-version."grunt-legacy-log-utils"."0.1.1";
- "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
- "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
- "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
- };
- peerDependencies = [
- ];
- passthru.names = [ "grunt-legacy-log" ];
- };
- by-spec."grunt-legacy-log-utils"."~0.1.1" =
- self.by-version."grunt-legacy-log-utils"."0.1.1";
- by-version."grunt-legacy-log-utils"."0.1.1" = lib.makeOverridable self.buildNodePackage {
- name = "grunt-legacy-log-utils-0.1.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz";
- name = "grunt-legacy-log-utils-0.1.1.tgz";
- sha1 = "c0706b9dd9064e116f36f23fe4e6b048672c0f7e";
- })
- ];
- buildInputs =
- (self.nativeDeps."grunt-legacy-log-utils" or []);
- deps = {
- "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
- "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
- "colors-0.6.2" = self.by-version."colors"."0.6.2";
- };
- peerDependencies = [
- ];
- passthru.names = [ "grunt-legacy-log-utils" ];
- };
- by-spec."grunt-legacy-util"."~0.2.0" =
- self.by-version."grunt-legacy-util"."0.2.0";
- by-version."grunt-legacy-util"."0.2.0" = lib.makeOverridable self.buildNodePackage {
- name = "grunt-legacy-util-0.2.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz";
- name = "grunt-legacy-util-0.2.0.tgz";
- sha1 = "93324884dbf7e37a9ff7c026dff451d94a9e554b";
+ sources."registry-url-3.1.0"
+ sources."semver-5.3.0"
+ sources."create-error-class-3.0.2"
+ sources."duplexer2-0.1.4"
+ sources."is-plain-obj-1.1.0"
+ sources."is-redirect-1.0.0"
+ sources."is-retry-allowed-1.1.0"
+ sources."is-stream-1.1.0"
+ sources."lowercase-keys-1.0.0"
+ sources."node-status-codes-1.0.0"
+ sources."parse-json-2.2.0"
+ sources."pinkie-promise-2.0.1"
+ sources."read-all-stream-3.1.0"
+ (sources."readable-stream-2.1.5" // {
+ dependencies = [
+ sources."isarray-1.0.0"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."grunt-legacy-util" or []);
- deps = {
- "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
- "async-0.1.22" = self.by-version."async"."0.1.22";
- "lodash-0.9.2" = self.by-version."lodash"."0.9.2";
- "exit-0.1.2" = self.by-version."exit"."0.1.2";
- "underscore.string-2.2.1" = self.by-version."underscore.string"."2.2.1";
- "getobject-0.1.0" = self.by-version."getobject"."0.1.0";
- "which-1.0.9" = self.by-version."which"."1.0.9";
- };
- peerDependencies = [
- ];
- passthru.names = [ "grunt-legacy-util" ];
- };
- by-spec."har-validator"."~2.0.2" =
- self.by-version."har-validator"."2.0.6";
- by-version."har-validator"."2.0.6" = lib.makeOverridable self.buildNodePackage {
- name = "har-validator-2.0.6";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz";
- name = "har-validator-2.0.6.tgz";
- sha1 = "cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d";
+ sources."timed-out-2.0.0"
+ sources."unzip-response-1.0.0"
+ sources."url-parse-lax-1.0.0"
+ sources."capture-stack-trace-1.0.0"
+ sources."error-ex-1.3.0"
+ sources."is-arrayish-0.2.1"
+ sources."pinkie-2.0.4"
+ sources."buffer-shims-1.0.0"
+ sources."core-util-is-1.0.2"
+ sources."process-nextick-args-1.0.7"
+ sources."string_decoder-0.10.31"
+ sources."util-deprecate-1.0.2"
+ sources."prepend-http-1.0.4"
+ sources."ini-1.3.4"
+ sources."strip-json-comments-1.0.4"
+ (sources."cli-1.0.0" // {
+ dependencies = [
+ sources."glob-7.0.6"
+ sources."minimatch-3.0.3"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."har-validator" or []);
- deps = {
- "chalk-1.1.1" = self.by-version."chalk"."1.1.1";
- "commander-2.9.0" = self.by-version."commander"."2.9.0";
- "is-my-json-valid-2.12.4" = self.by-version."is-my-json-valid"."2.12.4";
- "pinkie-promise-2.0.0" = self.by-version."pinkie-promise"."2.0.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "har-validator" ];
- };
- by-spec."has-ansi"."^0.1.0" =
- self.by-version."has-ansi"."0.1.0";
- by-version."has-ansi"."0.1.0" = lib.makeOverridable self.buildNodePackage {
- name = "has-ansi-0.1.0";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz";
- name = "has-ansi-0.1.0.tgz";
- sha1 = "84f265aae8c0e6a88a12d7022894b7568894c62e";
+ sources."console-browserify-1.1.0"
+ (sources."htmlparser2-3.8.3" // {
+ dependencies = [
+ sources."readable-stream-1.1.14"
+ ];
})
- ];
- buildInputs =
- (self.nativeDeps."has-ansi" or []);
- deps = {
- "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
- };
- peerDependencies = [
- ];
- passthru.names = [ "has-ansi" ];
- };
- by-spec."has-ansi"."^2.0.0" =
- self.by-version."has-ansi"."2.0.0";
- by-version."has-ansi"."2.0.0" = lib.makeOverridable self.buildNodePackage {
- name = "has-ansi-2.0.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
- name = "has-ansi-2.0.0.tgz";
- sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
+ sources."shelljs-0.3.0"
+ sources."fs.realpath-1.0.0"
+ sources."inflight-1.0.5"
+ sources."once-1.3.3"
+ sources."wrappy-1.0.2"
+ sources."brace-expansion-1.1.6"
+ sources."balanced-match-0.4.2"
+ sources."concat-map-0.0.1"
+ sources."date-now-0.1.4"
+ sources."domhandler-2.3.0"
+ sources."domutils-1.5.1"
+ sources."domelementtype-1.3.0"
+ sources."entities-1.0.0"
+ (sources."dom-serializer-0.1.0" // {
+ dependencies = [
+ sources."domelementtype-1.1.3"
+ sources."entities-1.1.1"
+ ];
})
];
- buildInputs =
- (self.nativeDeps."has-ansi" or []);
- deps = {
- "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "has-ansi" ];
- };
- by-spec."hawk"."~3.1.0" =
- self.by-version."hawk"."3.1.3";
- by-version."hawk"."3.1.3" = lib.makeOverridable self.buildNodePackage {
- name = "hawk-3.1.3";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz";
- name = "hawk-3.1.3.tgz";
- sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4";
- })
- ];
- buildInputs =
- (self.nativeDeps."hawk" or []);
- deps = {
- "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
- "boom-2.10.1" = self.by-version."boom"."2.10.1";
- "cryptiles-2.0.5" = self.by-version."cryptiles"."2.0.5";
- "sntp-1.0.9" = self.by-version."sntp"."1.0.9";
- };
- peerDependencies = [
- ];
- passthru.names = [ "hawk" ];
- };
- by-spec."hoek"."2.x.x" =
- self.by-version."hoek"."2.16.3";
- by-version."hoek"."2.16.3" = lib.makeOverridable self.buildNodePackage {
- name = "hoek-2.16.3";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz";
- name = "hoek-2.16.3.tgz";
- sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed";
- })
- ];
- buildInputs =
- (self.nativeDeps."hoek" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "hoek" ];
- };
- by-spec."hooker"."^0.2.3" =
- self.by-version."hooker"."0.2.3";
- by-version."hooker"."0.2.3" = lib.makeOverridable self.buildNodePackage {
- name = "hooker-0.2.3";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz";
- name = "hooker-0.2.3.tgz";
- sha1 = "b834f723cc4a242aa65963459df6d984c5d3d959";
- })
- ];
- buildInputs =
- (self.nativeDeps."hooker" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "hooker" ];
- };
- by-spec."hooker"."~0.2.3" =
- self.by-version."hooker"."0.2.3";
- by-spec."htmlparser2"."3.8.x" =
- self.by-version."htmlparser2"."3.8.3";
- by-version."htmlparser2"."3.8.3" = lib.makeOverridable self.buildNodePackage {
- name = "htmlparser2-3.8.3";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz";
- name = "htmlparser2-3.8.3.tgz";
- sha1 = "996c28b191516a8be86501a7d79757e5c70c1068";
- })
- ];
- buildInputs =
- (self.nativeDeps."htmlparser2" or []);
- deps = {
- "domhandler-2.3.0" = self.by-version."domhandler"."2.3.0";
- "domutils-1.5.1" = self.by-version."domutils"."1.5.1";
- "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
- "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
- "entities-1.0.0" = self.by-version."entities"."1.0.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "htmlparser2" ];
- };
- by-spec."http-signature"."~1.1.0" =
- self.by-version."http-signature"."1.1.0";
- by-version."http-signature"."1.1.0" = lib.makeOverridable self.buildNodePackage {
- name = "http-signature-1.1.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/http-signature/-/http-signature-1.1.0.tgz";
- name = "http-signature-1.1.0.tgz";
- sha1 = "5d2d7e9b6ef49980ad5b128d8e4ef09a31c90d95";
- })
- ];
- buildInputs =
- (self.nativeDeps."http-signature" or []);
- deps = {
- "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
- "jsprim-1.2.2" = self.by-version."jsprim"."1.2.2";
- "sshpk-1.7.3" = self.by-version."sshpk"."1.7.3";
- };
- peerDependencies = [
- ];
- passthru.names = [ "http-signature" ];
- };
- by-spec."iconv-lite"."~0.2.11" =
- self.by-version."iconv-lite"."0.2.11";
- by-version."iconv-lite"."0.2.11" = lib.makeOverridable self.buildNodePackage {
- name = "iconv-lite-0.2.11";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
- name = "iconv-lite-0.2.11.tgz";
- sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
- })
- ];
- buildInputs =
- (self.nativeDeps."iconv-lite" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "iconv-lite" ];
- };
- by-spec."image-size"."~0.3.5" =
- self.by-version."image-size"."0.3.5";
- by-version."image-size"."0.3.5" = lib.makeOverridable self.buildNodePackage {
- name = "image-size-0.3.5";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/image-size/-/image-size-0.3.5.tgz";
- name = "image-size-0.3.5.tgz";
- sha1 = "83240eab2fb5b00b04aab8c74b0471e9cba7ad8c";
- })
- ];
- buildInputs =
- (self.nativeDeps."image-size" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "image-size" ];
- };
- by-spec."inherits"."1" =
- self.by-version."inherits"."1.0.2";
- by-version."inherits"."1.0.2" = lib.makeOverridable self.buildNodePackage {
- name = "inherits-1.0.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz";
- name = "inherits-1.0.2.tgz";
- sha1 = "ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b";
- })
- ];
- buildInputs =
- (self.nativeDeps."inherits" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "inherits" ];
- };
- by-spec."inherits"."2" =
- self.by-version."inherits"."2.0.1";
- by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
- name = "inherits-2.0.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
- name = "inherits-2.0.1.tgz";
- sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
- })
- ];
- buildInputs =
- (self.nativeDeps."inherits" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "inherits" ];
- };
- by-spec."inherits"."~2.0.1" =
- self.by-version."inherits"."2.0.1";
- by-spec."is-my-json-valid"."^2.12.4" =
- self.by-version."is-my-json-valid"."2.12.4";
- by-version."is-my-json-valid"."2.12.4" = lib.makeOverridable self.buildNodePackage {
- name = "is-my-json-valid-2.12.4";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.4.tgz";
- name = "is-my-json-valid-2.12.4.tgz";
- sha1 = "d4ed2bc1d7f88daf8d0f763b3e3e39a69bd37880";
- })
- ];
- buildInputs =
- (self.nativeDeps."is-my-json-valid" or []);
- deps = {
- "generate-function-2.0.0" = self.by-version."generate-function"."2.0.0";
- "generate-object-property-1.2.0" = self.by-version."generate-object-property"."1.2.0";
- "jsonpointer-2.0.0" = self.by-version."jsonpointer"."2.0.0";
- "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
- };
- peerDependencies = [
- ];
- passthru.names = [ "is-my-json-valid" ];
- };
- by-spec."is-property"."^1.0.0" =
- self.by-version."is-property"."1.0.2";
- by-version."is-property"."1.0.2" = lib.makeOverridable self.buildNodePackage {
- name = "is-property-1.0.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz";
- name = "is-property-1.0.2.tgz";
- sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
- })
- ];
- buildInputs =
- (self.nativeDeps."is-property" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "is-property" ];
- };
- by-spec."is-typedarray"."~1.0.0" =
- self.by-version."is-typedarray"."1.0.0";
- by-version."is-typedarray"."1.0.0" = lib.makeOverridable self.buildNodePackage {
- name = "is-typedarray-1.0.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
- name = "is-typedarray-1.0.0.tgz";
- sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
- })
- ];
- buildInputs =
- (self.nativeDeps."is-typedarray" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "is-typedarray" ];
- };
- by-spec."isarray"."0.0.1" =
- self.by-version."isarray"."0.0.1";
- by-version."isarray"."0.0.1" = lib.makeOverridable self.buildNodePackage {
- name = "isarray-0.0.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
- name = "isarray-0.0.1.tgz";
- sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
- })
- ];
- buildInputs =
- (self.nativeDeps."isarray" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "isarray" ];
- };
- by-spec."isstream"."~0.1.2" =
- self.by-version."isstream"."0.1.2";
- by-version."isstream"."0.1.2" = lib.makeOverridable self.buildNodePackage {
- name = "isstream-0.1.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
- name = "isstream-0.1.2.tgz";
- sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
- })
- ];
- buildInputs =
- (self.nativeDeps."isstream" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "isstream" ];
- };
- by-spec."jodid25519".">=1.0.0 <2.0.0" =
- self.by-version."jodid25519"."1.0.2";
- by-version."jodid25519"."1.0.2" = lib.makeOverridable self.buildNodePackage {
- name = "jodid25519-1.0.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz";
- name = "jodid25519-1.0.2.tgz";
- sha1 = "06d4912255093419477d425633606e0e90782967";
- })
- ];
- buildInputs =
- (self.nativeDeps."jodid25519" or []);
- deps = {
- "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "jodid25519" ];
- };
- by-spec."js-yaml"."~2.0.5" =
- self.by-version."js-yaml"."2.0.5";
- by-version."js-yaml"."2.0.5" = lib.makeOverridable self.buildNodePackage {
- name = "js-yaml-2.0.5";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz";
- name = "js-yaml-2.0.5.tgz";
- sha1 = "a25ae6509999e97df278c6719da11bd0687743a8";
- })
- ];
- buildInputs =
- (self.nativeDeps."js-yaml" or []);
- deps = {
- "argparse-0.1.16" = self.by-version."argparse"."0.1.16";
- "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
- };
- peerDependencies = [
- ];
- passthru.names = [ "js-yaml" ];
- };
- by-spec."jsbn".">=0.1.0 <0.2.0" =
- self.by-version."jsbn"."0.1.0";
- by-version."jsbn"."0.1.0" = lib.makeOverridable self.buildNodePackage {
- name = "jsbn-0.1.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz";
- name = "jsbn-0.1.0.tgz";
- sha1 = "650987da0dd74f4ebf5a11377a2aa2d273e97dfd";
- })
- ];
- buildInputs =
- (self.nativeDeps."jsbn" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "jsbn" ];
- };
- by-spec."jsbn"."~0.1.0" =
- self.by-version."jsbn"."0.1.0";
- by-spec."jshint"."^2.9.1-rc3" =
- self.by-version."jshint"."2.9.1";
- by-version."jshint"."2.9.1" = lib.makeOverridable self.buildNodePackage {
- name = "jshint-2.9.1";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/jshint/-/jshint-2.9.1.tgz";
- name = "jshint-2.9.1.tgz";
- sha1 = "3136b68f8b6fa37423aacb8ec5e18a1ada7a2638";
- })
- ];
- buildInputs =
- (self.nativeDeps."jshint" or []);
- deps = {
- "cli-0.6.6" = self.by-version."cli"."0.6.6";
- "console-browserify-1.1.0" = self.by-version."console-browserify"."1.1.0";
- "exit-0.1.2" = self.by-version."exit"."0.1.2";
- "htmlparser2-3.8.3" = self.by-version."htmlparser2"."3.8.3";
- "minimatch-2.0.10" = self.by-version."minimatch"."2.0.10";
- "shelljs-0.3.0" = self.by-version."shelljs"."0.3.0";
- "strip-json-comments-1.0.4" = self.by-version."strip-json-comments"."1.0.4";
- "lodash-3.7.0" = self.by-version."lodash"."3.7.0";
+ meta = {
};
- peerDependencies = [
- ];
- passthru.names = [ "jshint" ];
- };
- "jshint" = self.by-version."jshint"."2.9.1";
- by-spec."jshint"."~2.9.1" =
- self.by-version."jshint"."2.9.1";
- by-spec."json-schema"."0.2.2" =
- self.by-version."json-schema"."0.2.2";
- by-version."json-schema"."0.2.2" = lib.makeOverridable self.buildNodePackage {
- name = "json-schema-0.2.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz";
- name = "json-schema-0.2.2.tgz";
- sha1 = "50354f19f603917c695f70b85afa77c3b0f23506";
- })
- ];
- buildInputs =
- (self.nativeDeps."json-schema" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "json-schema" ];
- };
- by-spec."json-stringify-safe"."~5.0.1" =
- self.by-version."json-stringify-safe"."5.0.1";
- by-version."json-stringify-safe"."5.0.1" = lib.makeOverridable self.buildNodePackage {
- name = "json-stringify-safe-5.0.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
- name = "json-stringify-safe-5.0.1.tgz";
- sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
- })
- ];
- buildInputs =
- (self.nativeDeps."json-stringify-safe" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "json-stringify-safe" ];
- };
- by-spec."jsonpointer"."2.0.0" =
- self.by-version."jsonpointer"."2.0.0";
- by-version."jsonpointer"."2.0.0" = lib.makeOverridable self.buildNodePackage {
- name = "jsonpointer-2.0.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz";
- name = "jsonpointer-2.0.0.tgz";
- sha1 = "3af1dd20fe85463910d469a385e33017d2a030d9";
- })
- ];
- buildInputs =
- (self.nativeDeps."jsonpointer" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "jsonpointer" ];
- };
- by-spec."jsprim"."^1.2.2" =
- self.by-version."jsprim"."1.2.2";
- by-version."jsprim"."1.2.2" = lib.makeOverridable self.buildNodePackage {
- name = "jsprim-1.2.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz";
- name = "jsprim-1.2.2.tgz";
- sha1 = "f20c906ac92abd58e3b79ac8bc70a48832512da1";
- })
- ];
- buildInputs =
- (self.nativeDeps."jsprim" or []);
- deps = {
- "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2";
- "json-schema-0.2.2" = self.by-version."json-schema"."0.2.2";
- "verror-1.3.6" = self.by-version."verror"."1.3.6";
- };
- peerDependencies = [
- ];
- passthru.names = [ "jsprim" ];
- };
- by-spec."less"."~2.5.0" =
- self.by-version."less"."2.5.3";
- by-version."less"."2.5.3" = lib.makeOverridable self.buildNodePackage {
- name = "less-2.5.3";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/less/-/less-2.5.3.tgz";
- name = "less-2.5.3.tgz";
- sha1 = "9ff586e8a703515fc18dc99c7bc498d2f3ad4849";
- })
- ];
- buildInputs =
- (self.nativeDeps."less" or []);
- deps = {
- "errno-0.1.4" = self.by-version."errno"."0.1.4";
- "graceful-fs-3.0.8" = self.by-version."graceful-fs"."3.0.8";
- "image-size-0.3.5" = self.by-version."image-size"."0.3.5";
- "mime-1.3.4" = self.by-version."mime"."1.3.4";
- "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
- "promise-6.1.0" = self.by-version."promise"."6.1.0";
- "request-2.67.0" = self.by-version."request"."2.67.0";
- "source-map-0.4.4" = self.by-version."source-map"."0.4.4";
- };
- peerDependencies = [
- ];
- passthru.names = [ "less" ];
- };
- by-spec."lodash"."3.7.x" =
- self.by-version."lodash"."3.7.0";
- by-version."lodash"."3.7.0" = lib.makeOverridable self.buildNodePackage {
- name = "lodash-3.7.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz";
- name = "lodash-3.7.0.tgz";
- sha1 = "3678bd8ab995057c07ade836ed2ef087da811d45";
- })
- ];
- buildInputs =
- (self.nativeDeps."lodash" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "lodash" ];
- };
- by-spec."lodash"."^3.2.0" =
- self.by-version."lodash"."3.10.1";
- by-version."lodash"."3.10.1" = lib.makeOverridable self.buildNodePackage {
- name = "lodash-3.10.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz";
- name = "lodash-3.10.1.tgz";
- sha1 = "5bf45e8e49ba4189e17d482789dfd15bd140b7b6";
- })
- ];
- buildInputs =
- (self.nativeDeps."lodash" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "lodash" ];
- };
- by-spec."lodash"."~0.9.2" =
- self.by-version."lodash"."0.9.2";
- by-version."lodash"."0.9.2" = lib.makeOverridable self.buildNodePackage {
- name = "lodash-0.9.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz";
- name = "lodash-0.9.2.tgz";
- sha1 = "8f3499c5245d346d682e5b0d3b40767e09f1a92c";
- })
- ];
- buildInputs =
- (self.nativeDeps."lodash" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "lodash" ];
- };
- by-spec."lodash"."~1.0.1" =
- self.by-version."lodash"."1.0.2";
- by-version."lodash"."1.0.2" = lib.makeOverridable self.buildNodePackage {
- name = "lodash-1.0.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz";
- name = "lodash-1.0.2.tgz";
- sha1 = "8f57560c83b59fc270bd3d561b690043430e2551";
- })
- ];
- buildInputs =
- (self.nativeDeps."lodash" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "lodash" ];
- };
- by-spec."lodash"."~2.4.1" =
- self.by-version."lodash"."2.4.2";
- by-version."lodash"."2.4.2" = lib.makeOverridable self.buildNodePackage {
- name = "lodash-2.4.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz";
- name = "lodash-2.4.2.tgz";
- sha1 = "fadd834b9683073da179b3eae6d9c0d15053f73e";
- })
- ];
- buildInputs =
- (self.nativeDeps."lodash" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "lodash" ];
- };
- by-spec."lru-cache"."2" =
- self.by-version."lru-cache"."2.7.3";
- by-version."lru-cache"."2.7.3" = lib.makeOverridable self.buildNodePackage {
- name = "lru-cache-2.7.3";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz";
- name = "lru-cache-2.7.3.tgz";
- sha1 = "6d4524e8b955f95d4f5b58851ce21dd72fb4e952";
- })
- ];
- buildInputs =
- (self.nativeDeps."lru-cache" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "lru-cache" ];
- };
- by-spec."mime"."^1.2.11" =
- self.by-version."mime"."1.3.4";
- by-version."mime"."1.3.4" = lib.makeOverridable self.buildNodePackage {
- name = "mime-1.3.4";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
- name = "mime-1.3.4.tgz";
- sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
- })
- ];
- buildInputs =
- (self.nativeDeps."mime" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "mime" ];
- };
- by-spec."mime-db"."~1.21.0" =
- self.by-version."mime-db"."1.21.0";
- by-version."mime-db"."1.21.0" = lib.makeOverridable self.buildNodePackage {
- name = "mime-db-1.21.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/mime-db/-/mime-db-1.21.0.tgz";
- name = "mime-db-1.21.0.tgz";
- sha1 = "9b5239e3353cf6eb015a00d890261027c36d4bac";
- })
- ];
- buildInputs =
- (self.nativeDeps."mime-db" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "mime-db" ];
- };
- by-spec."mime-types"."^2.1.3" =
- self.by-version."mime-types"."2.1.9";
- by-version."mime-types"."2.1.9" = lib.makeOverridable self.buildNodePackage {
- name = "mime-types-2.1.9";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/mime-types/-/mime-types-2.1.9.tgz";
- name = "mime-types-2.1.9.tgz";
- sha1 = "dfb396764b5fdf75be34b1f4104bc3687fb635f8";
- })
- ];
- buildInputs =
- (self.nativeDeps."mime-types" or []);
- deps = {
- "mime-db-1.21.0" = self.by-version."mime-db"."1.21.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "mime-types" ];
- };
- by-spec."mime-types"."~2.1.7" =
- self.by-version."mime-types"."2.1.9";
- by-spec."minimatch"."0.3" =
- self.by-version."minimatch"."0.3.0";
- by-version."minimatch"."0.3.0" = lib.makeOverridable self.buildNodePackage {
- name = "minimatch-0.3.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz";
- name = "minimatch-0.3.0.tgz";
- sha1 = "275d8edaac4f1bb3326472089e7949c8394699dd";
- })
- ];
- buildInputs =
- (self.nativeDeps."minimatch" or []);
- deps = {
- "lru-cache-2.7.3" = self.by-version."lru-cache"."2.7.3";
- "sigmund-1.0.1" = self.by-version."sigmund"."1.0.1";
- };
- peerDependencies = [
- ];
- passthru.names = [ "minimatch" ];
- };
- by-spec."minimatch"."2.0.x" =
- self.by-version."minimatch"."2.0.10";
- by-version."minimatch"."2.0.10" = lib.makeOverridable self.buildNodePackage {
- name = "minimatch-2.0.10";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz";
- name = "minimatch-2.0.10.tgz";
- sha1 = "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7";
- })
- ];
- buildInputs =
- (self.nativeDeps."minimatch" or []);
- deps = {
- "brace-expansion-1.1.2" = self.by-version."brace-expansion"."1.1.2";
- };
- peerDependencies = [
- ];
- passthru.names = [ "minimatch" ];
- };
- by-spec."minimatch"."~0.2.11" =
- self.by-version."minimatch"."0.2.14";
- by-version."minimatch"."0.2.14" = lib.makeOverridable self.buildNodePackage {
- name = "minimatch-0.2.14";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
- name = "minimatch-0.2.14.tgz";
- sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a";
- })
- ];
- buildInputs =
- (self.nativeDeps."minimatch" or []);
- deps = {
- "lru-cache-2.7.3" = self.by-version."lru-cache"."2.7.3";
- "sigmund-1.0.1" = self.by-version."sigmund"."1.0.1";
- };
- peerDependencies = [
- ];
- passthru.names = [ "minimatch" ];
- };
- by-spec."minimatch"."~0.2.12" =
- self.by-version."minimatch"."0.2.14";
- by-spec."minimist"."0.0.8" =
- self.by-version."minimist"."0.0.8";
- by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage {
- name = "minimist-0.0.8";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
- name = "minimist-0.0.8.tgz";
- sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
- })
- ];
- buildInputs =
- (self.nativeDeps."minimist" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "minimist" ];
- };
- by-spec."mkdirp"."^0.5.0" =
- self.by-version."mkdirp"."0.5.1";
- by-version."mkdirp"."0.5.1" = lib.makeOverridable self.buildNodePackage {
- name = "mkdirp-0.5.1";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
- name = "mkdirp-0.5.1.tgz";
- sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
- })
- ];
- buildInputs =
- (self.nativeDeps."mkdirp" or []);
- deps = {
- "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
- };
- peerDependencies = [
- ];
- passthru.names = [ "mkdirp" ];
- };
- by-spec."node-uuid"."~1.4.7" =
- self.by-version."node-uuid"."1.4.7";
- by-version."node-uuid"."1.4.7" = lib.makeOverridable self.buildNodePackage {
- name = "node-uuid-1.4.7";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz";
- name = "node-uuid-1.4.7.tgz";
- sha1 = "6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f";
- })
- ];
- buildInputs =
- (self.nativeDeps."node-uuid" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "node-uuid" ];
+ production = false;
};
- by-spec."nopt"."~1.0.10" =
- self.by-version."nopt"."1.0.10";
- by-version."nopt"."1.0.10" = lib.makeOverridable self.buildNodePackage {
- name = "nopt-1.0.10";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
- name = "nopt-1.0.10.tgz";
- sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
- })
- ];
- buildInputs =
- (self.nativeDeps."nopt" or []);
- deps = {
- "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
- };
- peerDependencies = [
- ];
- passthru.names = [ "nopt" ];
- };
- by-spec."nopt"."~2.0.0" =
- self.by-version."nopt"."2.0.0";
- by-version."nopt"."2.0.0" = lib.makeOverridable self.buildNodePackage {
- name = "nopt-2.0.0";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz";
- name = "nopt-2.0.0.tgz";
- sha1 = "ca7416f20a5e3f9c3b86180f96295fa3d0b52e0d";
- })
- ];
- buildInputs =
- (self.nativeDeps."nopt" or []);
- deps = {
- "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
- };
- peerDependencies = [
- ];
- passthru.names = [ "nopt" ];
- };
- by-spec."noptify"."~0.0.3" =
- self.by-version."noptify"."0.0.3";
- by-version."noptify"."0.0.3" = lib.makeOverridable self.buildNodePackage {
- name = "noptify-0.0.3";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/noptify/-/noptify-0.0.3.tgz";
- name = "noptify-0.0.3.tgz";
- sha1 = "58f654a73d9753df0c51d9686dc92104a67f4bbb";
- })
- ];
- buildInputs =
- (self.nativeDeps."noptify" or []);
- deps = {
- "nopt-2.0.0" = self.by-version."nopt"."2.0.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "noptify" ];
- };
- by-spec."oauth-sign"."~0.8.0" =
- self.by-version."oauth-sign"."0.8.0";
- by-version."oauth-sign"."0.8.0" = lib.makeOverridable self.buildNodePackage {
- name = "oauth-sign-0.8.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.0.tgz";
- name = "oauth-sign-0.8.0.tgz";
- sha1 = "938fdc875765ba527137d8aec9d178e24debc553";
- })
- ];
- buildInputs =
- (self.nativeDeps."oauth-sign" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "oauth-sign" ];
- };
- by-spec."pinkie"."^2.0.0" =
- self.by-version."pinkie"."2.0.1";
- by-version."pinkie"."2.0.1" = lib.makeOverridable self.buildNodePackage {
- name = "pinkie-2.0.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/pinkie/-/pinkie-2.0.1.tgz";
- name = "pinkie-2.0.1.tgz";
- sha1 = "4236c86fc29f261c2045bbe81f78cbb2a5e8306c";
- })
- ];
- buildInputs =
- (self.nativeDeps."pinkie" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "pinkie" ];
- };
- by-spec."pinkie-promise"."^2.0.0" =
- self.by-version."pinkie-promise"."2.0.0";
- by-version."pinkie-promise"."2.0.0" = lib.makeOverridable self.buildNodePackage {
- name = "pinkie-promise-2.0.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.0.tgz";
- name = "pinkie-promise-2.0.0.tgz";
- sha1 = "4c83538de1f6e660c29e0a13446844f7a7e88259";
- })
- ];
- buildInputs =
- (self.nativeDeps."pinkie-promise" or []);
- deps = {
- "pinkie-2.0.1" = self.by-version."pinkie"."2.0.1";
- };
- peerDependencies = [
- ];
- passthru.names = [ "pinkie-promise" ];
- };
- by-spec."process-nextick-args"."~1.0.6" =
- self.by-version."process-nextick-args"."1.0.6";
- by-version."process-nextick-args"."1.0.6" = lib.makeOverridable self.buildNodePackage {
- name = "process-nextick-args-1.0.6";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.6.tgz";
- name = "process-nextick-args-1.0.6.tgz";
- sha1 = "0f96b001cea90b12592ce566edb97ec11e69bd05";
- })
- ];
- buildInputs =
- (self.nativeDeps."process-nextick-args" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "process-nextick-args" ];
- };
- by-spec."promise"."^6.0.1" =
- self.by-version."promise"."6.1.0";
- by-version."promise"."6.1.0" = lib.makeOverridable self.buildNodePackage {
- name = "promise-6.1.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/promise/-/promise-6.1.0.tgz";
- name = "promise-6.1.0.tgz";
- sha1 = "2ce729f6b94b45c26891ad0602c5c90e04c6eef6";
- })
- ];
- buildInputs =
- (self.nativeDeps."promise" or []);
- deps = {
- "asap-1.0.0" = self.by-version."asap"."1.0.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "promise" ];
- };
- by-spec."prr"."~0.0.0" =
- self.by-version."prr"."0.0.0";
- by-version."prr"."0.0.0" = lib.makeOverridable self.buildNodePackage {
- name = "prr-0.0.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/prr/-/prr-0.0.0.tgz";
- name = "prr-0.0.0.tgz";
- sha1 = "1a84b85908325501411853d0081ee3fa86e2926a";
- })
- ];
- buildInputs =
- (self.nativeDeps."prr" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "prr" ];
- };
- by-spec."qs"."~0.5.2" =
- self.by-version."qs"."0.5.6";
- by-version."qs"."0.5.6" = lib.makeOverridable self.buildNodePackage {
- name = "qs-0.5.6";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
- name = "qs-0.5.6.tgz";
- sha1 = "31b1ad058567651c526921506b9a8793911a0384";
- })
- ];
- buildInputs =
- (self.nativeDeps."qs" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "qs" ];
- };
- by-spec."qs"."~5.2.0" =
- self.by-version."qs"."5.2.0";
- by-version."qs"."5.2.0" = lib.makeOverridable self.buildNodePackage {
- name = "qs-5.2.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/qs/-/qs-5.2.0.tgz";
- name = "qs-5.2.0.tgz";
- sha1 = "a9f31142af468cb72b25b30136ba2456834916be";
- })
- ];
- buildInputs =
- (self.nativeDeps."qs" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "qs" ];
- };
- by-spec."readable-stream"."1.1" =
- self.by-version."readable-stream"."1.1.13";
- by-version."readable-stream"."1.1.13" = lib.makeOverridable self.buildNodePackage {
- name = "readable-stream-1.1.13";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz";
- name = "readable-stream-1.1.13.tgz";
- sha1 = "f6eef764f514c89e2b9e23146a75ba106756d23e";
- })
- ];
- buildInputs =
- (self.nativeDeps."readable-stream" or []);
- deps = {
- "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2";
- "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
- "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
- "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
- };
- peerDependencies = [
- ];
- passthru.names = [ "readable-stream" ];
- };
- by-spec."readable-stream"."~2.0.5" =
- self.by-version."readable-stream"."2.0.5";
- by-version."readable-stream"."2.0.5" = lib.makeOverridable self.buildNodePackage {
- name = "readable-stream-2.0.5";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.5.tgz";
- name = "readable-stream-2.0.5.tgz";
- sha1 = "a2426f8dcd4551c77a33f96edf2886a23c829669";
- })
- ];
- buildInputs =
- (self.nativeDeps."readable-stream" or []);
- deps = {
- "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2";
- "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
- "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
- "process-nextick-args-1.0.6" = self.by-version."process-nextick-args"."1.0.6";
- "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
- "util-deprecate-1.0.2" = self.by-version."util-deprecate"."1.0.2";
- };
- peerDependencies = [
- ];
- passthru.names = [ "readable-stream" ];
- };
- by-spec."request"."^2.51.0" =
- self.by-version."request"."2.67.0";
- by-version."request"."2.67.0" = lib.makeOverridable self.buildNodePackage {
- name = "request-2.67.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/request/-/request-2.67.0.tgz";
- name = "request-2.67.0.tgz";
- sha1 = "8af74780e2bf11ea0ae9aa965c11f11afd272742";
- })
- ];
- buildInputs =
- (self.nativeDeps."request" or []);
- deps = {
- "bl-1.0.1" = self.by-version."bl"."1.0.1";
- "caseless-0.11.0" = self.by-version."caseless"."0.11.0";
- "extend-3.0.0" = self.by-version."extend"."3.0.0";
- "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
- "form-data-1.0.0-rc3" = self.by-version."form-data"."1.0.0-rc3";
- "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
- "mime-types-2.1.9" = self.by-version."mime-types"."2.1.9";
- "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
- "qs-5.2.0" = self.by-version."qs"."5.2.0";
- "tunnel-agent-0.4.2" = self.by-version."tunnel-agent"."0.4.2";
- "tough-cookie-2.2.1" = self.by-version."tough-cookie"."2.2.1";
- "http-signature-1.1.0" = self.by-version."http-signature"."1.1.0";
- "oauth-sign-0.8.0" = self.by-version."oauth-sign"."0.8.0";
- "hawk-3.1.3" = self.by-version."hawk"."3.1.3";
- "aws-sign2-0.6.0" = self.by-version."aws-sign2"."0.6.0";
- "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5";
- "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
- "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
- "is-typedarray-1.0.0" = self.by-version."is-typedarray"."1.0.0";
- "har-validator-2.0.6" = self.by-version."har-validator"."2.0.6";
- };
- peerDependencies = [
- ];
- passthru.names = [ "request" ];
- };
- by-spec."rimraf"."~2.2.8" =
- self.by-version."rimraf"."2.2.8";
- by-version."rimraf"."2.2.8" = lib.makeOverridable self.buildNodePackage {
- name = "rimraf-2.2.8";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
- name = "rimraf-2.2.8.tgz";
- sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
- })
- ];
- buildInputs =
- (self.nativeDeps."rimraf" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "rimraf" ];
- };
- by-spec."shelljs"."0.3.x" =
- self.by-version."shelljs"."0.3.0";
- by-version."shelljs"."0.3.0" = lib.makeOverridable self.buildNodePackage {
- name = "shelljs-0.3.0";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz";
- name = "shelljs-0.3.0.tgz";
- sha1 = "3596e6307a781544f591f37da618360f31db57b1";
- })
- ];
- buildInputs =
- (self.nativeDeps."shelljs" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "shelljs" ];
- };
- by-spec."sigmund"."~1.0.0" =
- self.by-version."sigmund"."1.0.1";
- by-version."sigmund"."1.0.1" = lib.makeOverridable self.buildNodePackage {
- name = "sigmund-1.0.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz";
- name = "sigmund-1.0.1.tgz";
- sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
- })
- ];
- buildInputs =
- (self.nativeDeps."sigmund" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "sigmund" ];
- };
- by-spec."sntp"."1.x.x" =
- self.by-version."sntp"."1.0.9";
- by-version."sntp"."1.0.9" = lib.makeOverridable self.buildNodePackage {
- name = "sntp-1.0.9";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz";
- name = "sntp-1.0.9.tgz";
- sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
- })
- ];
- buildInputs =
- (self.nativeDeps."sntp" or []);
- deps = {
- "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
- };
- peerDependencies = [
- ];
- passthru.names = [ "sntp" ];
- };
- by-spec."source-map"."^0.3.0" =
- self.by-version."source-map"."0.3.0";
- by-version."source-map"."0.3.0" = lib.makeOverridable self.buildNodePackage {
- name = "source-map-0.3.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/source-map/-/source-map-0.3.0.tgz";
- name = "source-map-0.3.0.tgz";
- sha1 = "8586fb9a5a005e5b501e21cd18b6f21b457ad1f9";
- })
- ];
- buildInputs =
- (self.nativeDeps."source-map" or []);
- deps = {
- "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "source-map" ];
- };
- by-spec."source-map"."^0.4.2" =
- self.by-version."source-map"."0.4.4";
- by-version."source-map"."0.4.4" = lib.makeOverridable self.buildNodePackage {
- name = "source-map-0.4.4";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz";
- name = "source-map-0.4.4.tgz";
- sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b";
- })
- ];
- buildInputs =
- (self.nativeDeps."source-map" or []);
- deps = {
- "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "source-map" ];
- };
- by-spec."sshpk"."^1.7.0" =
- self.by-version."sshpk"."1.7.3";
- by-version."sshpk"."1.7.3" = lib.makeOverridable self.buildNodePackage {
- name = "sshpk-1.7.3";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/sshpk/-/sshpk-1.7.3.tgz";
- name = "sshpk-1.7.3.tgz";
- sha1 = "caa8ef95e30765d856698b7025f9f211ab65962f";
- })
- ];
- buildInputs =
- (self.nativeDeps."sshpk" or []);
- deps = {
- "asn1-0.2.3" = self.by-version."asn1"."0.2.3";
- "assert-plus-0.2.0" = self.by-version."assert-plus"."0.2.0";
- "dashdash-1.12.2" = self.by-version."dashdash"."1.12.2";
- "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0";
- "tweetnacl-0.13.3" = self.by-version."tweetnacl"."0.13.3";
- "jodid25519-1.0.2" = self.by-version."jodid25519"."1.0.2";
- "ecc-jsbn-0.1.1" = self.by-version."ecc-jsbn"."0.1.1";
- };
- peerDependencies = [
- ];
- passthru.names = [ "sshpk" ];
- };
- by-spec."string_decoder"."~0.10.x" =
- self.by-version."string_decoder"."0.10.31";
- by-version."string_decoder"."0.10.31" = lib.makeOverridable self.buildNodePackage {
- name = "string_decoder-0.10.31";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
- name = "string_decoder-0.10.31.tgz";
- sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
- })
- ];
- buildInputs =
- (self.nativeDeps."string_decoder" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "string_decoder" ];
- };
- by-spec."stringstream"."~0.0.4" =
- self.by-version."stringstream"."0.0.5";
- by-version."stringstream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
- name = "stringstream-0.0.5";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz";
- name = "stringstream-0.0.5.tgz";
- sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878";
- })
- ];
- buildInputs =
- (self.nativeDeps."stringstream" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "stringstream" ];
- };
- by-spec."strip-ansi"."^0.3.0" =
- self.by-version."strip-ansi"."0.3.0";
- by-version."strip-ansi"."0.3.0" = lib.makeOverridable self.buildNodePackage {
- name = "strip-ansi-0.3.0";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz";
- name = "strip-ansi-0.3.0.tgz";
- sha1 = "25f48ea22ca79187f3174a4db8759347bb126220";
- })
- ];
- buildInputs =
- (self.nativeDeps."strip-ansi" or []);
- deps = {
- "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
- };
- peerDependencies = [
- ];
- passthru.names = [ "strip-ansi" ];
- };
- by-spec."strip-ansi"."^3.0.0" =
- self.by-version."strip-ansi"."3.0.0";
- by-version."strip-ansi"."3.0.0" = lib.makeOverridable self.buildNodePackage {
- name = "strip-ansi-3.0.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz";
- name = "strip-ansi-3.0.0.tgz";
- sha1 = "7510b665567ca914ccb5d7e072763ac968be3724";
- })
- ];
- buildInputs =
- (self.nativeDeps."strip-ansi" or []);
- deps = {
- "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0";
- };
- peerDependencies = [
- ];
- passthru.names = [ "strip-ansi" ];
- };
- by-spec."strip-json-comments"."1.0.x" =
- self.by-version."strip-json-comments"."1.0.4";
- by-version."strip-json-comments"."1.0.4" = lib.makeOverridable self.buildNodePackage {
- name = "strip-json-comments-1.0.4";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz";
- name = "strip-json-comments-1.0.4.tgz";
- sha1 = "1e15fbcac97d3ee99bf2d73b4c656b082bbafb91";
- })
- ];
- buildInputs =
- (self.nativeDeps."strip-json-comments" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "strip-json-comments" ];
- };
- by-spec."supports-color"."^0.2.0" =
- self.by-version."supports-color"."0.2.0";
- by-version."supports-color"."0.2.0" = lib.makeOverridable self.buildNodePackage {
- name = "supports-color-0.2.0";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz";
- name = "supports-color-0.2.0.tgz";
- sha1 = "d92de2694eb3f67323973d7ae3d8b55b4c22190a";
- })
- ];
- buildInputs =
- (self.nativeDeps."supports-color" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "supports-color" ];
- };
- by-spec."supports-color"."^2.0.0" =
- self.by-version."supports-color"."2.0.0";
- by-version."supports-color"."2.0.0" = lib.makeOverridable self.buildNodePackage {
- name = "supports-color-2.0.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
- name = "supports-color-2.0.0.tgz";
- sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
- })
- ];
- buildInputs =
- (self.nativeDeps."supports-color" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "supports-color" ];
- };
- by-spec."tiny-lr-fork"."0.0.5" =
- self.by-version."tiny-lr-fork"."0.0.5";
- by-version."tiny-lr-fork"."0.0.5" = lib.makeOverridable self.buildNodePackage {
- name = "tiny-lr-fork-0.0.5";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/tiny-lr-fork/-/tiny-lr-fork-0.0.5.tgz";
- name = "tiny-lr-fork-0.0.5.tgz";
- sha1 = "1e99e1e2a8469b736ab97d97eefa98c71f76ed0a";
- })
- ];
- buildInputs =
- (self.nativeDeps."tiny-lr-fork" or []);
- deps = {
- "qs-0.5.6" = self.by-version."qs"."0.5.6";
- "faye-websocket-0.4.4" = self.by-version."faye-websocket"."0.4.4";
- "noptify-0.0.3" = self.by-version."noptify"."0.0.3";
- "debug-0.7.4" = self.by-version."debug"."0.7.4";
- };
- peerDependencies = [
- ];
- passthru.names = [ "tiny-lr-fork" ];
- };
- by-spec."tough-cookie"."~2.2.0" =
- self.by-version."tough-cookie"."2.2.1";
- by-version."tough-cookie"."2.2.1" = lib.makeOverridable self.buildNodePackage {
- name = "tough-cookie-2.2.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.1.tgz";
- name = "tough-cookie-2.2.1.tgz";
- sha1 = "3b0516b799e70e8164436a1446e7e5877fda118e";
- })
- ];
- buildInputs =
- (self.nativeDeps."tough-cookie" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "tough-cookie" ];
- };
- by-spec."tunnel-agent"."~0.4.1" =
- self.by-version."tunnel-agent"."0.4.2";
- by-version."tunnel-agent"."0.4.2" = lib.makeOverridable self.buildNodePackage {
- name = "tunnel-agent-0.4.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.2.tgz";
- name = "tunnel-agent-0.4.2.tgz";
- sha1 = "1104e3f36ac87125c287270067d582d18133bfee";
- })
- ];
- buildInputs =
- (self.nativeDeps."tunnel-agent" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "tunnel-agent" ];
- };
- by-spec."tweetnacl".">=0.13.0 <1.0.0" =
- self.by-version."tweetnacl"."0.13.3";
- by-version."tweetnacl"."0.13.3" = lib.makeOverridable self.buildNodePackage {
- name = "tweetnacl-0.13.3";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz";
- name = "tweetnacl-0.13.3.tgz";
- sha1 = "d628b56f3bcc3d5ae74ba9d4c1a704def5ab4b56";
- })
- ];
- buildInputs =
- (self.nativeDeps."tweetnacl" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "tweetnacl" ];
- };
- by-spec."underscore"."~1.7.0" =
- self.by-version."underscore"."1.7.0";
- by-version."underscore"."1.7.0" = lib.makeOverridable self.buildNodePackage {
- name = "underscore-1.7.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
- name = "underscore-1.7.0.tgz";
- sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
- })
- ];
- buildInputs =
- (self.nativeDeps."underscore" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "underscore" ];
- };
- by-spec."underscore.string"."~2.2.1" =
- self.by-version."underscore.string"."2.2.1";
- by-version."underscore.string"."2.2.1" = lib.makeOverridable self.buildNodePackage {
- name = "underscore.string-2.2.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz";
- name = "underscore.string-2.2.1.tgz";
- sha1 = "d7c0fa2af5d5a1a67f4253daee98132e733f0f19";
- })
- ];
- buildInputs =
- (self.nativeDeps."underscore.string" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "underscore.string" ];
- };
- by-spec."underscore.string"."~2.3.3" =
- self.by-version."underscore.string"."2.3.3";
- by-version."underscore.string"."2.3.3" = lib.makeOverridable self.buildNodePackage {
- name = "underscore.string-2.3.3";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
- name = "underscore.string-2.3.3.tgz";
- sha1 = "71c08bf6b428b1133f37e78fa3a21c82f7329b0d";
- })
- ];
- buildInputs =
- (self.nativeDeps."underscore.string" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "underscore.string" ];
- };
- by-spec."underscore.string"."~2.4.0" =
- self.by-version."underscore.string"."2.4.0";
- by-version."underscore.string"."2.4.0" = lib.makeOverridable self.buildNodePackage {
- name = "underscore.string-2.4.0";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz";
- name = "underscore.string-2.4.0.tgz";
- sha1 = "8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b";
- })
- ];
- buildInputs =
- (self.nativeDeps."underscore.string" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "underscore.string" ];
- };
- by-spec."util-deprecate"."~1.0.1" =
- self.by-version."util-deprecate"."1.0.2";
- by-version."util-deprecate"."1.0.2" = lib.makeOverridable self.buildNodePackage {
- name = "util-deprecate-1.0.2";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
- name = "util-deprecate-1.0.2.tgz";
- sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
- })
- ];
- buildInputs =
- (self.nativeDeps."util-deprecate" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "util-deprecate" ];
- };
- by-spec."verror"."1.3.6" =
- self.by-version."verror"."1.3.6";
- by-version."verror"."1.3.6" = lib.makeOverridable self.buildNodePackage {
- name = "verror-1.3.6";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/verror/-/verror-1.3.6.tgz";
- name = "verror-1.3.6.tgz";
- sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c";
- })
- ];
- buildInputs =
- (self.nativeDeps."verror" or []);
- deps = {
- "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2";
- };
- peerDependencies = [
- ];
- passthru.names = [ "verror" ];
- };
- by-spec."which"."~1.0.5" =
- self.by-version."which"."1.0.9";
- by-version."which"."1.0.9" = lib.makeOverridable self.buildNodePackage {
- name = "which-1.0.9";
- bin = true;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/which/-/which-1.0.9.tgz";
- name = "which-1.0.9.tgz";
- sha1 = "460c1da0f810103d0321a9b633af9e575e64486f";
- })
- ];
- buildInputs =
- (self.nativeDeps."which" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "which" ];
- };
- by-spec."xtend"."^4.0.0" =
- self.by-version."xtend"."4.0.1";
- by-version."xtend"."4.0.1" = lib.makeOverridable self.buildNodePackage {
- name = "xtend-4.0.1";
- bin = false;
- src = [
- (fetchurl {
- url = "http://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz";
- name = "xtend-4.0.1.tgz";
- sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
- })
- ];
- buildInputs =
- (self.nativeDeps."xtend" or []);
- deps = {
- };
- peerDependencies = [
- ];
- passthru.names = [ "xtend" ];
- };
-}
+in
+{
+ tarball = nodeEnv.buildNodeSourceDist args;
+ package = nodeEnv.buildNodePackage args;
+ shell = nodeEnv.buildNodeShell args;
+}
\ No newline at end of file
diff --git a/pkgs/python-packages-overrides.nix b/pkgs/python-packages-overrides.nix
--- a/pkgs/python-packages-overrides.nix
+++ b/pkgs/python-packages-overrides.nix
@@ -14,6 +14,20 @@ let
url = http://www.repoze.org/LICENSE.txt;
};
};
+
+ # johbo: Interim bridge which allows us to build with the upcoming
+ # nixos.16.09 branch (unstable at the moment of writing this note) and the
+ # current stable nixos-16.03.
+ backwardsCompatibleFetchgit = { ... }@args:
+ let
+ origSources = pkgs.fetchgit args;
+ in
+ pkgs.lib.overrideDerivation origSources (oldAttrs: {
+ NIX_PREFETCH_GIT_CHECKOUT_HOOK = ''
+ find $out -name '.git*' -print0 | xargs -0 rm -rf
+ '';
+ });
+
in
self: super: {
@@ -96,7 +110,7 @@ self: super: {
});
py-gfm = super.py-gfm.override {
- src = pkgs.fetchgit {
+ src = backwardsCompatibleFetchgit {
url = "https://code.rhodecode.com/upstream/py-gfm";
rev = "0d66a19bc16e3d49de273c0f797d4e4781e8c0f2";
sha256 = "0ryp74jyihd3ckszq31bml5jr3bciimhfp7va7kw6ld92930ksv3";
@@ -120,7 +134,7 @@ self: super: {
Pylons = super.Pylons.override (attrs: {
name = "Pylons-1.0.1-patch1";
- src = pkgs.fetchgit {
+ src = backwardsCompatibleFetchgit {
url = "https://code.rhodecode.com/upstream/pylons";
rev = "707354ee4261b9c10450404fc9852ccea4fd667d";
sha256 = "b2763274c2780523a335f83a1df65be22ebe4ff413a7bc9e9288d23c1f62032e";
diff --git a/pkgs/python-packages.nix b/pkgs/python-packages.nix
--- a/pkgs/python-packages.nix
+++ b/pkgs/python-packages.nix
@@ -51,19 +51,6 @@
license = [ { fullName = "BSD-like (http://repoze.org/license.html)"; } ];
};
};
- Fabric = super.buildPythonPackage {
- name = "Fabric-1.10.0";
- buildInputs = with self; [];
- doCheck = false;
- propagatedBuildInputs = with self; [paramiko];
- src = fetchurl {
- url = "https://pypi.python.org/packages/e3/5f/b6ebdb5241d5ec9eab582a5c8a01255c1107da396f849e538801d2fe64a5/Fabric-1.10.0.tar.gz";
- md5 = "2cb96473387f0e7aa035210892352f4a";
- };
- meta = {
- license = [ pkgs.lib.licenses.bsdOriginal ];
- };
- };
FormEncode = super.buildPythonPackage {
name = "FormEncode-1.2.4";
buildInputs = with self; [];
@@ -1430,7 +1417,7 @@
};
};
rhodecode-enterprise-ce = super.buildPythonPackage {
- name = "rhodecode-enterprise-ce-4.3.1";
+ name = "rhodecode-enterprise-ce-4.4.0";
buildInputs = with self; [WebTest configobj cssselect flake8 lxml mock pytest pytest-cov pytest-runner];
doCheck = true;
propagatedBuildInputs = with self; [Babel Beaker FormEncode Mako Markdown MarkupSafe MySQL-python Paste PasteDeploy PasteScript Pygments Pylons Pyro4 Routes SQLAlchemy Tempita URLObject WebError WebHelpers WebHelpers2 WebOb WebTest Whoosh alembic amqplib anyjson appenlight-client authomatic backport-ipaddress celery channelstream colander decorator deform docutils gevent gunicorn infrae.cache ipython iso8601 kombu msgpack-python packaging psycopg2 py-gfm pycrypto pycurl pyparsing pyramid pyramid-debugtoolbar pyramid-mako pyramid-beaker pysqlite python-dateutil python-ldap python-memcached python-pam recaptcha-client repoze.lru requests simplejson waitress zope.cachedescriptors dogpile.cache dogpile.core psutil py-bcrypt];
diff --git a/requirements.txt b/requirements.txt
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,7 +1,6 @@
Babel==1.3
Beaker==1.7.0
CProfileV==1.0.6
-Fabric==1.10.0
FormEncode==1.2.4
Jinja2==2.7.3
Mako==1.0.1
diff --git a/rhodecode/VERSION b/rhodecode/VERSION
--- a/rhodecode/VERSION
+++ b/rhodecode/VERSION
@@ -1,1 +1,1 @@
-4.3.1
\ No newline at end of file
+4.4.0
\ No newline at end of file
diff --git a/rhodecode/__init__.py b/rhodecode/__init__.py
--- a/rhodecode/__init__.py
+++ b/rhodecode/__init__.py
@@ -51,7 +51,7 @@ PYRAMID_SETTINGS = {}
EXTENSIONS = {}
__version__ = ('.'.join((str(each) for each in VERSION[:3])))
-__dbversion__ = 55 # defines current db version for migrations
+__dbversion__ = 58 # defines current db version for migrations
__platform__ = platform.system()
__license__ = 'AGPLv3, and Commercial License'
__author__ = 'RhodeCode GmbH'
@@ -60,3 +60,4 @@ EXTENSIONS = {}
is_windows = __platform__ in ['Windows']
is_unix = not is_windows
is_test = False
+disable_error_handler = False
diff --git a/rhodecode/channelstream/__init__.py b/rhodecode/channelstream/__init__.py
--- a/rhodecode/channelstream/__init__.py
+++ b/rhodecode/channelstream/__init__.py
@@ -29,7 +29,9 @@ from rhodecode.lib.ext_json import json
def url_gen(request):
urls = {
'connect': request.route_url('channelstream_connect'),
- 'subscribe': request.route_url('channelstream_subscribe')
+ 'subscribe': request.route_url('channelstream_subscribe'),
+ 'longpoll': request.registry.settings.get('channelstream.longpoll_url', ''),
+ 'ws': request.registry.settings.get('channelstream.ws_url', '')
}
return json.dumps(urls)
diff --git a/rhodecode/channelstream/views.py b/rhodecode/channelstream/views.py
--- a/rhodecode/channelstream/views.py
+++ b/rhodecode/channelstream/views.py
@@ -95,6 +95,7 @@ class ChannelstreamView(object):
'display_name': None,
'display_link': None,
}
+ user_data['permissions'] = c.rhodecode_user.permissions
payload = {
'username': user.username,
'user_state': user_data,
diff --git a/rhodecode/config/conf.py b/rhodecode/config/conf.py
--- a/rhodecode/config/conf.py
+++ b/rhodecode/config/conf.py
@@ -28,7 +28,11 @@ from rhodecode.lib.utils2 import __get_l
# language map is also used by whoosh indexer, which for those specified
# extensions will index it's content
-LANGUAGES_EXTENSIONS_MAP = __get_lem()
+# custom extensions to lexers, format is 'ext': 'LexerClass'
+extra = {
+ 'vbs': 'VbNet'
+}
+LANGUAGES_EXTENSIONS_MAP = __get_lem(extra)
DATETIME_FORMAT = "%Y-%m-%d %H:%M:%S"
diff --git a/rhodecode/config/environment.py b/rhodecode/config/environment.py
--- a/rhodecode/config/environment.py
+++ b/rhodecode/config/environment.py
@@ -158,6 +158,8 @@ def load_pyramid_environment(global_conf
# This has to be done before the database connection is initialized.
if settings['is_test']:
rhodecode.is_test = True
+ rhodecode.disable_error_handler = True
+
utils.initialize_test_environment(settings_merged)
# Initialize the database connection.
diff --git a/rhodecode/config/middleware.py b/rhodecode/config/middleware.py
--- a/rhodecode/config/middleware.py
+++ b/rhodecode/config/middleware.py
@@ -44,9 +44,10 @@ from rhodecode.config import patches
from rhodecode.config.routing import STATIC_FILE_PREFIX
from rhodecode.config.environment import (
load_environment, load_pyramid_environment)
+from rhodecode.lib.exceptions import VCSServerUnavailable
+from rhodecode.lib.vcs.exceptions import VCSCommunicationError
from rhodecode.lib.middleware import csrf
from rhodecode.lib.middleware.appenlight import wrap_in_appenlight_if_enabled
-from rhodecode.lib.middleware.disable_vcs import DisableVCSPagesWrapper
from rhodecode.lib.middleware.https_fixup import HttpsFixup
from rhodecode.lib.middleware.vcs import VCSMiddleware
from rhodecode.lib.plugins.utils import register_rhodecode_plugin
@@ -193,10 +194,6 @@ def make_not_found_view(config):
pylons_app_as_view = wsgiapp(pylons_app)
- # Protect from VCS Server error related pages when server is not available
- if not vcs_server_enabled:
- pylons_app_as_view = DisableVCSPagesWrapper(pylons_app_as_view)
-
def pylons_app_with_error_handler(context, request):
"""
Handle exceptions from rc pylons app:
@@ -221,10 +218,18 @@ def make_not_found_view(config):
return error_handler(response, request)
except HTTPError as e: # pyramid type exceptions
return error_handler(e, request)
- except Exception:
- if settings.get('debugtoolbar.enabled', False):
+ except Exception as e:
+ log.exception(e)
+
+ if (settings.get('debugtoolbar.enabled', False) or
+ rhodecode.disable_error_handler):
raise
+
+ if isinstance(e, VCSCommunicationError):
+ return error_handler(VCSServerUnavailable(), request)
+
return error_handler(HTTPInternalServerError(), request)
+
return response
return pylons_app_with_error_handler
@@ -249,7 +254,6 @@ def webob_to_pyramid_http_response(webob
def error_handler(exception, request):
- # TODO: dan: replace the old pylons error controller with this
from rhodecode.model.settings import SettingsModel
from rhodecode.lib.utils2 import AttributeDict
@@ -278,6 +282,10 @@ def error_handler(exception, request):
if not c.rhodecode_name:
c.rhodecode_name = 'Rhodecode'
+ c.causes = []
+ if hasattr(base_response, 'causes'):
+ c.causes = base_response.causes
+
response = render_to_response(
'/errors/error_document.html', {'c': c}, request=request,
response=base_response)
diff --git a/rhodecode/config/routing.py b/rhodecode/config/routing.py
--- a/rhodecode/config/routing.py
+++ b/rhodecode/config/routing.py
@@ -42,6 +42,7 @@ STATIC_FILE_PREFIX = '/_static'
URL_NAME_REQUIREMENTS = {
# group name can have a slash in them, but they must not end with a slash
'group_name': r'.*?[^/]',
+ 'repo_group_name': r'.*?[^/]',
# repo names can have a slash in them, but they must not end with a slash
'repo_name': r'.*?[^/]',
# file path eats up everything at the end
@@ -531,9 +532,7 @@ def make_map(config):
action='my_account_update', conditions={'method': ['POST']})
m.connect('my_account_password', '/my_account/password',
- action='my_account_password', conditions={'method': ['GET']})
- m.connect('my_account_password', '/my_account/password',
- action='my_account_password_update', conditions={'method': ['POST']})
+ action='my_account_password', conditions={'method': ['GET', 'POST']})
m.connect('my_account_repos', '/my_account/repos',
action='my_account_repos', conditions={'method': ['GET']})
diff --git a/rhodecode/controllers/admin/my_account.py b/rhodecode/controllers/admin/my_account.py
--- a/rhodecode/controllers/admin/my_account.py
+++ b/rhodecode/controllers/admin/my_account.py
@@ -32,17 +32,21 @@ from pylons.controllers.util import redi
from pylons.i18n.translation import _
from sqlalchemy.orm import joinedload
+from rhodecode import forms
from rhodecode.lib import helpers as h
from rhodecode.lib import auth
from rhodecode.lib.auth import (
LoginRequired, NotAnonymous, AuthUser, generate_auth_token)
from rhodecode.lib.base import BaseController, render
+from rhodecode.lib.utils import jsonify
from rhodecode.lib.utils2 import safe_int, md5
from rhodecode.lib.ext_json import json
+
+from rhodecode.model.validation_schema.schemas import user_schema
from rhodecode.model.db import (
Repository, PullRequest, PullRequestReviewers, UserEmailMap, User,
UserFollowing)
-from rhodecode.model.forms import UserForm, PasswordChangeForm
+from rhodecode.model.forms import UserForm
from rhodecode.model.scm import RepoList
from rhodecode.model.user import UserModel
from rhodecode.model.repo import RepoModel
@@ -185,38 +189,44 @@ class MyAccountController(BaseController
force_defaults=False
)
- @auth.CSRFRequired()
- def my_account_password_update(self):
- c.active = 'password'
- self.__load_data()
- _form = PasswordChangeForm(c.rhodecode_user.username)()
- try:
- form_result = _form.to_python(request.POST)
- UserModel().update_user(c.rhodecode_user.user_id, **form_result)
- instance = c.rhodecode_user.get_instance()
- instance.update_userdata(force_password_change=False)
- Session().commit()
- session.setdefault('rhodecode_user', {}).update(
- {'password': md5(instance.password)})
- session.save()
- h.flash(_("Successfully updated password"), category='success')
- except formencode.Invalid as errors:
- return htmlfill.render(
- render('admin/my_account/my_account.html'),
- defaults=errors.value,
- errors=errors.error_dict or {},
- prefix_error=False,
- encoding="UTF-8",
- force_defaults=False)
- except Exception:
- log.exception("Exception updating password")
- h.flash(_('Error occurred during update of user password'),
- category='error')
- return render('admin/my_account/my_account.html')
-
+ @auth.CSRFRequired(except_methods=['GET'])
def my_account_password(self):
c.active = 'password'
self.__load_data()
+
+ schema = user_schema.ChangePasswordSchema().bind(
+ username=c.rhodecode_user.username)
+
+ form = forms.Form(schema,
+ buttons=(forms.buttons.save, forms.buttons.reset))
+
+ if request.method == 'POST':
+ controls = request.POST.items()
+ try:
+ valid_data = form.validate(controls)
+ UserModel().update_user(c.rhodecode_user.user_id, **valid_data)
+ instance = c.rhodecode_user.get_instance()
+ instance.update_userdata(force_password_change=False)
+ Session().commit()
+ except forms.ValidationFailure as e:
+ request.session.flash(
+ _('Error occurred during update of user password'),
+ queue='error')
+ form = e
+ except Exception:
+ log.exception("Exception updating password")
+ request.session.flash(
+ _('Error occurred during update of user password'),
+ queue='error')
+ else:
+ session.setdefault('rhodecode_user', {}).update(
+ {'password': md5(instance.password)})
+ session.save()
+ request.session.flash(
+ _("Successfully updated password"), queue='success')
+ return redirect(url('my_account_password'))
+
+ c.form = form
return render('admin/my_account/my_account.html')
def my_account_repos(self):
@@ -352,11 +362,10 @@ class MyAccountController(BaseController
return render('admin/my_account/my_account.html')
@auth.CSRFRequired()
+ @jsonify
def my_notifications_toggle_visibility(self):
user = c.rhodecode_user.get_instance()
- user_data = user.user_data
- status = user_data.get('notification_status', False)
- user_data['notification_status'] = not status
- user.user_data = user_data
+ new_status = not user.user_data.get('notification_status', True)
+ user.update_userdata(notification_status=new_status)
Session().commit()
- return redirect(url('my_account_notifications'))
+ return user.user_data['notification_status']
diff --git a/rhodecode/controllers/admin/settings.py b/rhodecode/controllers/admin/settings.py
--- a/rhodecode/controllers/admin/settings.py
+++ b/rhodecode/controllers/admin/settings.py
@@ -135,6 +135,7 @@ class SettingsController(BaseController)
c.svn_tag_patterns = model.get_global_svn_tag_patterns()
application_form = ApplicationUiSettingsForm()()
+
try:
form_result = application_form.to_python(dict(request.POST))
except formencode.Invalid as errors:
@@ -151,12 +152,14 @@ class SettingsController(BaseController)
)
try:
- model.update_global_ssl_setting(form_result['web_push_ssl'])
if c.visual.allow_repo_location_change:
model.update_global_path_setting(
form_result['paths_root_path'])
+
+ model.update_global_ssl_setting(form_result['web_push_ssl'])
model.update_global_hook_settings(form_result)
- model.create_global_svn_settings(form_result)
+
+ model.create_or_update_global_svn_settings(form_result)
model.create_or_update_global_hg_settings(form_result)
model.create_or_update_global_pr_settings(form_result)
except Exception:
@@ -789,18 +792,5 @@ LabSetting = collections.namedtuple(
# This list has to be kept in sync with the form
# rhodecode.model.forms.LabsSettingsForm.
_LAB_SETTINGS = [
- LabSetting(
- key='rhodecode_proxy_subversion_http_requests',
- type='bool',
- group=lazy_ugettext('Subversion HTTP Support'),
- label=lazy_ugettext('Proxy subversion HTTP requests'),
- help='' # Do not translate the empty string!
- ),
- LabSetting(
- key='rhodecode_subversion_http_server_url',
- type='str',
- group=lazy_ugettext('Subversion HTTP Server URL'),
- label='', # Do not translate the empty string!
- help=lazy_ugettext('e.g. http://localhost:8080/')
- ),
+
]
diff --git a/rhodecode/controllers/summary.py b/rhodecode/controllers/summary.py
--- a/rhodecode/controllers/summary.py
+++ b/rhodecode/controllers/summary.py
@@ -44,6 +44,8 @@ from rhodecode.lib.vcs.backends.base imp
from rhodecode.lib.vcs.exceptions import (
CommitError, EmptyRepositoryError, NodeDoesNotExistError)
from rhodecode.model.db import Statistics, CacheKey, User
+from rhodecode.model.repo import ReadmeFinder
+
log = logging.getLogger(__name__)
@@ -61,37 +63,16 @@ class SummaryController(BaseRepoControll
@cache_region('long_term')
def _generate_readme(cache_key):
readme_data = None
- readme_file = None
- try:
- # gets the landing revision or tip if fails
- commit = db_repo.get_landing_commit()
- if isinstance(commit, EmptyCommit):
- raise EmptyRepositoryError()
- renderer = MarkupRenderer()
- for f in renderer.pick_readme_order(default_renderer):
- try:
- node = commit.get_node(f)
- except NodeDoesNotExistError:
- continue
-
- if not node.is_file():
- continue
-
- readme_file = f
- log.debug('Found README file `%s` rendering...',
- readme_file)
- readme_data = renderer.render(node.content,
- filename=f)
- break
- except CommitError:
- log.exception("Problem getting commit")
- pass
- except EmptyRepositoryError:
- pass
- except Exception:
- log.exception("General failure")
-
- return readme_data, readme_file
+ readme_node = None
+ readme_filename = None
+ commit = self._get_landing_commit_or_none(db_repo)
+ if commit:
+ log.debug("Searching for a README file.")
+ readme_node = ReadmeFinder(default_renderer).search(commit)
+ if readme_node:
+ readme_data = self._render_readme_or_none(commit, readme_node)
+ readme_filename = readme_node.path
+ return readme_data, readme_filename
invalidator_context = CacheKey.repo_context_cache(
_generate_readme, repo_name, CacheKey.CACHE_TYPE_README)
@@ -102,11 +83,36 @@ class SummaryController(BaseRepoControll
return computed
+ def _get_landing_commit_or_none(self, db_repo):
+ log.debug("Getting the landing commit.")
+ try:
+ commit = db_repo.get_landing_commit()
+ if not isinstance(commit, EmptyCommit):
+ return commit
+ else:
+ log.debug("Repository is empty, no README to render.")
+ except CommitError:
+ log.exception(
+ "Problem getting commit when trying to render the README.")
+
+ def _render_readme_or_none(self, commit, readme_node):
+ log.debug(
+ 'Found README file `%s` rendering...', readme_node.path)
+ renderer = MarkupRenderer()
+ try:
+ return renderer.render(
+ readme_node.content, filename=readme_node.path)
+ except Exception:
+ log.exception(
+ "Exception while trying to render the README")
@LoginRequired()
@HasRepoPermissionAnyDecorator(
'repository.read', 'repository.write', 'repository.admin')
def index(self, repo_name):
+
+ # Prepare the clone URL
+
username = ''
if c.rhodecode_user.username != User.DEFAULT_USER:
username = safe_str(c.rhodecode_user.username)
@@ -124,6 +130,8 @@ class SummaryController(BaseRepoControll
c.clone_repo_url_id = c.rhodecode_db_repo.clone_url(
user=username, uri_tmpl=_def_clone_uri_by_id)
+ # If enabled, get statistics data
+
c.show_stats = bool(c.rhodecode_db_repo.enable_statistics)
stats = self.sa.query(Statistics)\
diff --git a/rhodecode/events/repo.py b/rhodecode/events/repo.py
--- a/rhodecode/events/repo.py
+++ b/rhodecode/events/repo.py
@@ -47,7 +47,7 @@ def _commits_as_dict(commit_ids, repos):
if not commit_ids:
return []
- needed_commits = set(commit_ids)
+ needed_commits = list(commit_ids)
commits = []
reviewers = []
@@ -57,6 +57,7 @@ def _commits_as_dict(commit_ids, repos):
vcs_repo = repo.scm_instance(cache=False)
try:
+ # use copy of needed_commits since we modify it while iterating
for commit_id in list(needed_commits):
try:
cs = vcs_repo.get_changeset(commit_id)
@@ -78,7 +79,7 @@ def _commits_as_dict(commit_ids, repos):
repo.repo_name)
commits.append(cs_data)
- needed_commits.discard(commit_id)
+ needed_commits.remove(commit_id)
except Exception as e:
log.exception(e)
diff --git a/rhodecode/forms/__init__.py b/rhodecode/forms/__init__.py
new file mode 100644
--- /dev/null
+++ b/rhodecode/forms/__init__.py
@@ -0,0 +1,33 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (C) 2010-2016 RhodeCode GmbH
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License, version 3
+# (only), as published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see .
+#
+# This program is dual-licensed. If you wish to learn more about the
+# RhodeCode Enterprise Edition, including its added features, Support services,
+# and proprietary license terms, please see https://rhodecode.com/licenses/
+
+"""
+Base module for form rendering / validation - currently just a wrapper for
+deform - later can be replaced with something custom.
+"""
+
+from rhodecode.translation import _
+from deform import Button, Form, widget, ValidationFailure
+
+
+class buttons:
+ save = Button(name='Save', type='submit')
+ reset = Button(name=_('Reset'), type='reset')
+ delete = Button(name=_('Delete'), type='submit')
diff --git a/rhodecode/i18n/en/LC_MESSAGES/rhodecode.po b/rhodecode/i18n/en/LC_MESSAGES/rhodecode.po
--- a/rhodecode/i18n/en/LC_MESSAGES/rhodecode.po
+++ b/rhodecode/i18n/en/LC_MESSAGES/rhodecode.po
@@ -1,21 +1,22 @@
-# English translations for rhodecode.
-# Copyright (C) 2015 RhodeCode GmbH
-# This file is distributed under the same license as the rhodecode project.
-# FIRST AUTHOR , 2010.
+# Translations template for rhodecode-enterprise-ce.
+# Copyright (C) 2016 RhodeCode GmbH
+# This file is distributed under the same license as the rhodecode-enterprise-ce project.
#
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: rhodecode 0.1\n"
-"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
+"Project-Id-Version: RhodeCode\n"
+"Report-Msgid-Bugs-To: marcin@rhodecode.com\n"
"POT-Creation-Date: 2013-06-01 18:38+0200\n"
"PO-Revision-Date: 2011-02-25 19:13+0100\n"
-"Last-Translator: FULL NAME \n"
-"Language-Team: en \n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Last-Translator: Marcin Kuzminski \n"
+"Language-Team: en \n"
"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.6\n"
+"Generated-By: Babel 1.3\n"
+"Language: en\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
#: rhodecode/controllers/changelog.py:149
msgid "All Branches"
diff --git a/rhodecode/integrations/routes.py b/rhodecode/integrations/routes.py
--- a/rhodecode/integrations/routes.py
+++ b/rhodecode/integrations/routes.py
@@ -20,7 +20,7 @@
import logging
-from rhodecode.model.db import Repository, Integration
+from rhodecode.model.db import Repository, Integration, RepoGroup
from rhodecode.config.routing import (
ADMIN_PREFIX, add_route_requirements, URL_NAME_REQUIREMENTS)
from rhodecode.integrations import integration_type_registry
@@ -29,6 +29,17 @@ log = logging.getLogger(__name__)
def includeme(config):
+
+ # global integrations
+
+ config.add_route('global_integrations_new',
+ ADMIN_PREFIX + '/integrations/new')
+ config.add_view('rhodecode.integrations.views.GlobalIntegrationsView',
+ attr='new_integration',
+ renderer='rhodecode:templates/admin/integrations/new.html',
+ request_method='GET',
+ route_name='global_integrations_new')
+
config.add_route('global_integrations_home',
ADMIN_PREFIX + '/integrations')
config.add_route('global_integrations_list',
@@ -46,18 +57,80 @@ def includeme(config):
config.add_route('global_integrations_edit',
ADMIN_PREFIX + '/integrations/{integration}/{integration_id}',
custom_predicates=(valid_integration,))
+
+
for route_name in ['global_integrations_create', 'global_integrations_edit']:
config.add_view('rhodecode.integrations.views.GlobalIntegrationsView',
attr='settings_get',
- renderer='rhodecode:templates/admin/integrations/edit.html',
+ renderer='rhodecode:templates/admin/integrations/form.html',
request_method='GET',
route_name=route_name)
config.add_view('rhodecode.integrations.views.GlobalIntegrationsView',
attr='settings_post',
- renderer='rhodecode:templates/admin/integrations/edit.html',
+ renderer='rhodecode:templates/admin/integrations/form.html',
request_method='POST',
route_name=route_name)
+
+ # repo group integrations
+ config.add_route('repo_group_integrations_home',
+ add_route_requirements(
+ '{repo_group_name}/settings/integrations',
+ URL_NAME_REQUIREMENTS
+ ),
+ custom_predicates=(valid_repo_group,)
+ )
+ config.add_route('repo_group_integrations_list',
+ add_route_requirements(
+ '{repo_group_name}/settings/integrations/{integration}',
+ URL_NAME_REQUIREMENTS
+ ),
+ custom_predicates=(valid_repo_group, valid_integration))
+ for route_name in ['repo_group_integrations_home', 'repo_group_integrations_list']:
+ config.add_view('rhodecode.integrations.views.RepoGroupIntegrationsView',
+ attr='index',
+ renderer='rhodecode:templates/admin/integrations/list.html',
+ request_method='GET',
+ route_name=route_name)
+
+ config.add_route('repo_group_integrations_new',
+ add_route_requirements(
+ '{repo_group_name}/settings/integrations/new',
+ URL_NAME_REQUIREMENTS
+ ),
+ custom_predicates=(valid_repo_group,))
+ config.add_view('rhodecode.integrations.views.RepoGroupIntegrationsView',
+ attr='new_integration',
+ renderer='rhodecode:templates/admin/integrations/new.html',
+ request_method='GET',
+ route_name='repo_group_integrations_new')
+
+ config.add_route('repo_group_integrations_create',
+ add_route_requirements(
+ '{repo_group_name}/settings/integrations/{integration}/new',
+ URL_NAME_REQUIREMENTS
+ ),
+ custom_predicates=(valid_repo_group, valid_integration))
+ config.add_route('repo_group_integrations_edit',
+ add_route_requirements(
+ '{repo_group_name}/settings/integrations/{integration}/{integration_id}',
+ URL_NAME_REQUIREMENTS
+ ),
+ custom_predicates=(valid_repo_group, valid_integration))
+ for route_name in ['repo_group_integrations_edit', 'repo_group_integrations_create']:
+ config.add_view('rhodecode.integrations.views.RepoGroupIntegrationsView',
+ attr='settings_get',
+ renderer='rhodecode:templates/admin/integrations/form.html',
+ request_method='GET',
+ route_name=route_name)
+ config.add_view('rhodecode.integrations.views.RepoGroupIntegrationsView',
+ attr='settings_post',
+ renderer='rhodecode:templates/admin/integrations/form.html',
+ request_method='POST',
+ route_name=route_name)
+
+
+ # repo integrations
config.add_route('repo_integrations_home',
add_route_requirements(
'{repo_name}/settings/integrations',
@@ -74,8 +147,21 @@ def includeme(config):
config.add_view('rhodecode.integrations.views.RepoIntegrationsView',
attr='index',
request_method='GET',
+ renderer='rhodecode:templates/admin/integrations/list.html',
route_name=route_name)
+ config.add_route('repo_integrations_new',
+ add_route_requirements(
+ '{repo_name}/settings/integrations/new',
+ URL_NAME_REQUIREMENTS
+ ),
+ custom_predicates=(valid_repo,))
+ config.add_view('rhodecode.integrations.views.RepoIntegrationsView',
+ attr='new_integration',
+ renderer='rhodecode:templates/admin/integrations/new.html',
+ request_method='GET',
+ route_name='repo_integrations_new')
+
config.add_route('repo_integrations_create',
add_route_requirements(
'{repo_name}/settings/integrations/{integration}/new',
@@ -91,12 +177,12 @@ def includeme(config):
for route_name in ['repo_integrations_edit', 'repo_integrations_create']:
config.add_view('rhodecode.integrations.views.RepoIntegrationsView',
attr='settings_get',
- renderer='rhodecode:templates/admin/integrations/edit.html',
+ renderer='rhodecode:templates/admin/integrations/form.html',
request_method='GET',
route_name=route_name)
config.add_view('rhodecode.integrations.views.RepoIntegrationsView',
attr='settings_post',
- renderer='rhodecode:templates/admin/integrations/edit.html',
+ renderer='rhodecode:templates/admin/integrations/form.html',
request_method='POST',
route_name=route_name)
@@ -107,20 +193,37 @@ def valid_repo(info, request):
return True
+def valid_repo_group(info, request):
+ repo_group = RepoGroup.get_by_group_name(info['match']['repo_group_name'])
+ if repo_group:
+ return True
+ return False
+
+
def valid_integration(info, request):
integration_type = info['match']['integration']
integration_id = info['match'].get('integration_id')
repo_name = info['match'].get('repo_name')
+ repo_group_name = info['match'].get('repo_group_name')
if integration_type not in integration_type_registry:
return False
- repo = None
+ repo, repo_group = None, None
if repo_name:
- repo = Repository.get_by_repo_name(info['match']['repo_name'])
+ repo = Repository.get_by_repo_name(repo_name)
if not repo:
return False
+ if repo_group_name:
+ repo_group = RepoGroup.get_by_group_name(repo_group_name)
+ if not repo_group:
+ return False
+
+ if repo_name and repo_group:
+ raise Exception('Either repo or repo_group can be set, not both')
+
+
if integration_id:
integration = Integration.get(integration_id)
if not integration:
@@ -129,5 +232,7 @@ def valid_integration(info, request):
return False
if repo and repo.repo_id != integration.repo_id:
return False
+ if repo_group and repo_group.group_id != integration.repo_group_id:
+ return False
return True
diff --git a/rhodecode/integrations/schema.py b/rhodecode/integrations/schema.py
--- a/rhodecode/integrations/schema.py
+++ b/rhodecode/integrations/schema.py
@@ -20,26 +20,52 @@
import colander
-from rhodecode.translation import lazy_ugettext
+from rhodecode.translation import _
-class IntegrationSettingsSchemaBase(colander.MappingSchema):
- """
- This base schema is intended for use in integrations.
- It adds a few default settings (e.g., "enabled"), so that integration
- authors don't have to maintain a bunch of boilerplate.
- """
+class IntegrationOptionsSchemaBase(colander.MappingSchema):
enabled = colander.SchemaNode(
colander.Bool(),
default=True,
- description=lazy_ugettext('Enable or disable this integration.'),
+ description=_('Enable or disable this integration.'),
missing=False,
- title=lazy_ugettext('Enabled'),
+ title=_('Enabled'),
)
name = colander.SchemaNode(
colander.String(),
- description=lazy_ugettext('Short name for this integration.'),
+ description=_('Short name for this integration.'),
missing=colander.required,
- title=lazy_ugettext('Integration name'),
+ title=_('Integration name'),
)
+
+
+class RepoIntegrationOptionsSchema(IntegrationOptionsSchemaBase):
+ pass
+
+
+class RepoGroupIntegrationOptionsSchema(IntegrationOptionsSchemaBase):
+ child_repos_only = colander.SchemaNode(
+ colander.Bool(),
+ default=True,
+ description=_(
+ 'Limit integrations to to work only on the direct children '
+ 'repositories of this repository group (no subgroups)'),
+ missing=False,
+ title=_('Limit to childen repos only'),
+ )
+
+
+class GlobalIntegrationOptionsSchema(IntegrationOptionsSchemaBase):
+ child_repos_only = colander.SchemaNode(
+ colander.Bool(),
+ default=False,
+ description=_(
+ 'Limit integrations to to work only on root level repositories'),
+ missing=False,
+ title=_('Root repositories only'),
+ )
+
+
+class IntegrationSettingsSchemaBase(colander.MappingSchema):
+ pass
diff --git a/rhodecode/integrations/types/base.py b/rhodecode/integrations/types/base.py
--- a/rhodecode/integrations/types/base.py
+++ b/rhodecode/integrations/types/base.py
@@ -18,25 +18,84 @@
# RhodeCode Enterprise Edition, including its added features, Support services,
# and proprietary license terms, please see https://rhodecode.com/licenses/
-from rhodecode.integrations.schema import IntegrationSettingsSchemaBase
+import colander
+from rhodecode.translation import _
class IntegrationTypeBase(object):
""" Base class for IntegrationType plugins """
+ description = ''
+ icon = '''
+
+
+'''
+
def __init__(self, settings):
"""
:param settings: dict of settings to be used for the integration
"""
self.settings = settings
-
def settings_schema(self):
"""
A colander schema of settings for the integration type
-
- Subclasses can return their own schema but should always
- inherit from IntegrationSettingsSchemaBase
"""
- return IntegrationSettingsSchemaBase()
-
+ return colander.Schema()
diff --git a/rhodecode/integrations/types/email.py b/rhodecode/integrations/types/email.py
--- a/rhodecode/integrations/types/email.py
+++ b/rhodecode/integrations/types/email.py
@@ -26,11 +26,10 @@ import colander
from mako.template import Template
from rhodecode import events
-from rhodecode.translation import _, lazy_ugettext
+from rhodecode.translation import _
from rhodecode.lib.celerylib import run_task
from rhodecode.lib.celerylib import tasks
from rhodecode.integrations.types.base import IntegrationTypeBase
-from rhodecode.integrations.schema import IntegrationSettingsSchemaBase
log = logging.getLogger(__name__)
@@ -147,18 +146,79 @@ repo_push_template_html = Template('''