Skip to content

Instantly share code, notes, and snippets.

@dmarcelino
Created June 2, 2015 09:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmarcelino/bb1ed70aeefefc7ea01e to your computer and use it in GitHub Desktop.
Save dmarcelino/bb1ed70aeefefc7ea01e to your computer and use it in GitHub Desktop.
npm ERR! registry error parsing json
0 info it worked if it ends with ok
1 verbose cli [ 'node', '/usr/local/bin/npm', 'publish' ]
2 info using npm@2.11.0
3 info using node@v0.10.36
4 verbose publish [ '.' ]
5 silly cache add args [ '.', null ]
6 verbose cache add spec .
7 silly cache add parsed spec { raw: '.',
7 silly cache add scope: null,
7 silly cache add name: null,
7 silly cache add rawSpec: '.',
7 silly cache add spec: '/Users/dmarcelino/Development/node/waterline-orientdb',
7 silly cache add type: 'directory' }
8 verbose addLocalDirectory /Users/dmarcelino/.npm/sails-orientdb/0.10.54/package.tgz not in flight; packing
9 verbose tar pack [ '/Users/dmarcelino/.npm/sails-orientdb/0.10.54/package.tgz',
9 verbose tar pack '/Users/dmarcelino/Development/node/waterline-orientdb' ]
10 verbose tarball /Users/dmarcelino/.npm/sails-orientdb/0.10.54/package.tgz
11 verbose folder /Users/dmarcelino/Development/node/waterline-orientdb
12 info prepublish sails-orientdb@0.10.54
13 verbose addLocalTarball adding from inside cache /Users/dmarcelino/.npm/sails-orientdb/0.10.54/package.tgz
14 silly cache afterAdd sails-orientdb@0.10.54
15 verbose afterAdd /Users/dmarcelino/.npm/sails-orientdb/0.10.54/package/package.json not in flight; writing
16 verbose afterAdd /Users/dmarcelino/.npm/sails-orientdb/0.10.54/package/package.json written
17 silly publish { name: 'sails-orientdb',
17 silly publish version: '0.10.54',
17 silly publish description: 'OrientDB adapter for Waterline / Sails.js ORM',
17 silly publish main: './lib/adapter.js',
17 silly publish scripts:
17 silly publish { pretest: 'jshint ./lib',
17 silly publish test: 'make test',
17 silly publish coverage: 'make coverage',
17 silly publish lint: 'jshint ./lib' },
17 silly publish repository:
17 silly publish { type: 'git',
17 silly publish url: 'git+ssh://git@github.com/appscot/sails-orientdb.git' },
17 silly publish keywords:
17 silly publish [ 'orientdb',
17 silly publish 'orient',
17 silly publish 'orm',
17 silly publish 'waterline',
17 silly publish 'sails',
17 silly publish 'sailsjs',
17 silly publish 'sails.js',
17 silly publish 'graph',
17 silly publish 'graphdb' ],
17 silly publish author: { name: 'Dario Marcelino', email: 'dario@appscot.com' },
17 silly publish contributors:
17 silly publish [ { name: 'Srinath Janakiraman', email: 'vjsrinath@live.com' },
17 silly publish { name: 'Gaurav Dhiman', email: 'gauravd.chd@gmail.com' } ],
17 silly publish license: 'MIT',
17 silly publish readmeFilename: 'README.md',
17 silly publish dependencies:
17 silly publish { async: '^1.0.0',
17 silly publish bluebird: '^2.9.24',
17 silly publish 'debug-logger': '^0.4.0',
17 silly publish lodash: '^3.3.0',
17 silly publish oriento: '~1.1.0',
17 silly publish 'waterline-criteria': '~0.11.1',
17 silly publish 'waterline-cursor': '~0.0.5',
17 silly publish 'waterline-sequel-orientdb': '^0.1.0' },
17 silly publish devDependencies:
17 silly publish { 'codeclimate-test-reporter': '~0.0.4',
17 silly publish istanbul: '^0.3.5',
17 silly publish jshint: '*',
17 silly publish mocha: '*',
17 silly publish waterline: '~0.10.18',
17 silly publish 'waterline-adapter-tests': '0.10.11' },
17 silly publish waterlineAdapter:
17 silly publish { type: 'orientdb',
17 silly publish interfaces: [ 'semantic', 'queryable', 'associations', 'migratable', 'sql' ],
17 silly publish waterlineVersion: '~0.10.18' },
17 silly publish readme: '[![npm version](https://badge.fury.io/js/sails-orientdb.svg)](http://badge.fury.io/js/sails-orientdb)\n[![Build Status](https://travis-ci.org/appscot/sails-orientdb.svg?branch=master)](https://travis-ci.org/appscot/sails-orientdb)\n[![Test Coverage](https://codeclimate.com/github/appscot/sails-orientdb/badges/coverage.svg)](https://codeclimate.com/github/appscot/sails-orientdb)\n[![dependencies](https://david-dm.org/appscot/sails-orientdb.svg)](https://david-dm.org/appscot/sails-orientdb)\n[![Gitter](https://img.shields.io/badge/gitter-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/appscot/sails-orientdb?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\n# sails-orientdb\n\nWaterline adapter for OrientDB. [Waterline](https://github.com/balderdashy/waterline) is an adapter-based ORM for Node.js with support for mysql, mongo, postgres, redis, orientdb and more.\n\n> **Warning**\n>\n> `sails-orientdb` maps the logical `id` attribute to the required `@rid` physical-layer OrientDB Record ID.\n>\n>\n> [Migrations](http://sailsjs.org/#!/documentation/concepts/ORM/model-settings.html?q=migrate)\n>\n> We don\'t recommend using `migrate: \'alter\'` as it has the nasty effect of deleting the data of all edges on a graphDB, leaving only data on the vertexes. \n> Either use `\'safe\'` and migrate manually, or use `\'drop\'` to completely reset the data and collections or use [`\'create\'`](https://github.com/balderdashy/waterline/issues/846) to only create new collections/attributes.\n\n\nSails-orientdb aims to work with Waterline v0.10.x and [OrientDB](http://www.orientechnologies.com/orientdb/) v1.7.10 and later. While it may work with earlier versions, they are not currently supported, [pull requests are welcome](./CONTRIBUTING.md)!\n\nFrom the waterline [adapter interfaces](https://github.com/balderdashy/sails-docs/blob/master/contributing/adapter-specification.md) sails-orientdb supports `Semantic`, `Queryable`, `Associations`, `Migratable` and `SQL` interfaces. Sails-orientdb complies with waterline API and it\'s used in the same way as other waterline/sails adapters.\n\nSails-orientdb connects to OrientDB using [Oriento](https://github.com/codemix/oriento) (OrientDB\'s official driver).\n\n\n## Table of Contents\n1. [Installation](#installation)\n2. [Configuration](#configuration)\n3. [Overview](#overview)\n4. [Usage](#usage)\n5. [Testing](#testing)\n6. [Issues or Suggestions](#issues-or-suggestions)\n7. [History](#history)\n8. [Authors](#authors)\n9. [About Waterline](#about-waterline)\n10. [License](#license)\n\n\n## Installation\n\nInstall stable version from NPM:\n```bash\nnpm install sails-orientdb --save\n```\n\nInstall edge version from GitHub (mostly for testing):\n```bash\nnpm install appscot/sails-orientdb\n```\n\n## Configuration\n\nSails-orientdb can be used with SailsJS, for more information on how to use Waterline in your Sails App view the [Sails Docs](http://sailsjs.org/#!/documentation/concepts/ORM).\nAn example configuration for SailsJS is provided [here](./example/sails-config).\n\nFor examples on how to use Waterline/sails-orientdb with frameworks such as Express look in the [example](./example/express) folder.\n\n### Waterline v0.10.x configuration\n\n#### Basic Example\n\n```javascript\nvar orientAdapter = require(\'sails-orientdb\');\nvar config = {\n adapters: {\n \'default\': orientAdapter,\n orient: orientAdapter,\n },\n \n connections: {\n myLocalOrient: {\n adapter: \'orient\',\n host: \'localhost\',\n port: 2424,\n user: \'root\',\n password: \'root\',\n database: \'waterline\'\n }\n },\n \n defaults: {\n // The first time you run sails-orientdb `migrate` needs to be set to \'drop\', \'alter\' or \'create\' in order to create the DB schema\n // More about this on: http://sailsjs.org/#!/documentation/concepts/ORM/model-settings.html\n migrate: \'safe\'\n }\n}\n```\n\n#### Connection advanced config example\n```javascript\n myLocalOrient: {\n adapter: \'orient\',\n host: \'localhost\',\n port: 2424,\n user: \'root\',\n password: \'root\',\n database: \'waterline\',\n schema : true,\n \n // Additional options\n options: {\n \n // DB/Oriento Options\n //\n // database type: graph | document\n databaseType : \'graph\',\n //\n // storage type: memory | plocal\n storage : \'plocal\',\n \n // Useful in REST APIs\n //\n // If `id` is URI encoded, decode it with `decodeURIComponent()` (useful when `id` comes from an URL)\n decodeURIComponent : true,\n //\n // Replaces circular references with `id` after populate operations (useful when results will be JSONfied)\n removeCircularReferences : false,\n \n // migrations\n //\n // Drop tables without deleting edges/vertexes hence not ensuring graph consistency\n // Will speed up drop operations. Only works with migration: \'alter\' or \'drop\'\n unsafeDrop : false,\n \n // other\n //\n // Turn parameterized queries on\n parameterized : true\n }\n }\n```\nThe values stated above represent the default values. For an up to date comprehensive list check [adapter.js](https://github.com/appscot/sails-orientdb/blob/master/lib/adapter.js#L87).\n\n## Overview\n\n### Models\nIn a graph db Sails-orientdb will represent most models in OrientDB as vertexes, the exception being Many-to-Many join tables which are represented by Edges. If using a document db, all models will be represented by documents.\n\n### Associations\nTo learn how to create associations with Waterline/Sails.js check the Waterline Docs [Associations Page](https://github.com/balderdashy/waterline-docs/blob/master/associations.md). Below we go through how sails-orientdb represent each kind of association in an OrientDB database.\n\n#### One-to-One Associations\nFor One-to-One Associations sails-orientdb creates a LINK ([OrientDB Types](http://www.orientechnologies.com/docs/last/orientdb.wiki/Types.html)) to associate records.\n\n#### One-to-Many Associations\nOne-to-Many Associations are also represented by LINKs in OrientDB.\n\n#### Many-to-Many Associations\nIn many-to-many associations sails-orientdb will connect vertexes using edges, hence edges act as join tables.\n\n##### Custom edge names (optional)\nUsually Waterline will create rather long names for join tables (e.g. driver_taxis__taxi_drivers) which are little meaningful from the perspective of a graphDB. Sails-orientdb allows you to change the name of the edge by adding a property `joinTableNames` to the dominant collection. Example:\n```javascript\n{\n identity: \'driver\',\n joinTableNames: {\n taxis: \'drives\'\n },\n \n attributes: {\n name: \'string\',\n taxis: {\n collection: \'taxi\',\n via: \'drivers\',\n dominant: true\n }\n }\n}\n```\nIn this example the join table name **driver_taxis__taxi_drivers** gets converted to **drives**. Complete example of the fixture can be found [here](https://github.com/appscot/sails-orientdb/tree/master/test/integration-orientdb/fixtures/manyToMany.driverHack.fixture.js).\n\n#### Many-to-Many Through Associations\nIn a [Many-to-Many Through Association](https://github.com/balderdashy/waterline-docs/blob/master/associations.md#many-to-many-through-associations) ([more info](https://github.com/balderdashy/waterline/issues/705#issuecomment-60945411)) the join table is represented in OrientDB by Edges. Sails-orientdb automatically creates the edges whenever an association is created. The Edge is named after the property tableName (or identity in case tableName is missing).\n\n#### Populate queries (joins)\nSails-orientdb implements its own custom join function so when the user runs `.populate(some_collection)` it will send a single `SELECT` query with a [fetchplan](http://www.orientechnologies.com/docs/last/orientdb.wiki/Fetching-Strategies.html) to OrientDB. This way join operations remain fast and performant by leveraging OrientDB\'s graphDB features.\n\n## Usage\n\n### Documentation\nFor a comprehensive reference on how to use `sails-orientdb`/waterline check the [Waterline Documentation](https://github.com/balderdashy/waterline-docs#waterline-v010-documentation). Below we describe how `sails-orientdb` approaches and adds to the waterline core experience.\n\n### Models\n`sails-orientdb` uses the standard [waterline model definition](https://github.com/balderdashy/waterline-docs/blob/master/models.md) and extends it in order to accommodate OrientDB features.\n\n#### Indexes\nTo add an index to an attribute the keyword `index` is used as per the waterline default [model definition](https://github.com/balderdashy/waterline-docs/blob/master/models.md#index):\n```javascript\nattributes: {\n email: {\n type: \'string\',\n index: true // will default to SB-Tree NOTUNIQUE\n }\n}\n```\n\nHowever OrientDB supports [other indexes](http://orientdb.com/docs/last/Indexes.html#index-types) and it\'s possible to use them by specifying the name of the index type as a string in the `index` key. Example:\n```javascript\nattributes: {\n email: {\n type: \'string\',\n index: \'fulltext_hash_index\'\n }\n}\n```\nList of supported index types:\n* unique\n* notunique\n* fulltext\n* dictionary\n* unique_hash_index\n* notunique_hash_index\n* fulltext_hash_index\n* dictionary_hash_index\n\n#### orientdbClass\n\nIt\'s possible to force the class of a model by adding the property `orientdbClass` to the definition. Generally this is not required as `sails-orientdb` can determine which is the best class to use, so it should only be used in special cases. Possible values:\n* `undefined` - the default and recommended option. The appropriate class will be determined for the model;\n* `""` or `"document"` - class will be the default OrientDB document class;\n* `"V"` - class will be Vertex;\n* `"E"` - class will be Edge.\n\nExample:\n```javascript\n{\n identity : \'post\',\n orientdbClass : \'V\'\n\n attributes : {\n name : \'string\'\n }\n}\n```\n\nNote, when using a document database (through `config.options.databaseType`), `orientdbClass` class will be ignored and all classes will be documents.\n\n\n### Methods\n\nThis adapter supports all waterline standard [query methods](https://github.com/balderdashy/waterline-docs/blob/master/query-methods.md) and extends it with the following methods:\n\n#### .query (query [, options], cb)\nRuns a SQL query against the database using Oriento\'s query method. Will attempt to convert @rid\'s into ids.\n \nusage: \n ```javascript\n // Assume a model named "Friend"\n Friend.query("SELECT FROM friendTable WHERE name=\'friend query\'", function(err, retrievedUsers){\n \tconsole.log(retrievedUsers);\n });\n \n // Using params (and promise)\n Friend.query("SELECT FROM friendTable WHERE name=:name", {\n params: {\n name: \'friend query\'\n }\n }).then(function(retrievedUsers){\n \tconsole.log(retrievedUsers);\n }).catch(function(err){\n console.error(err);\n });\n ```\n\n#### .native ()\nReturns a native Oriento class\n \nusage: \n ```javascript\n // Assume a model named "Post"\n Post.native()\n \t.property.list()\n .then(function (properties) {\n console.log(\'The class has the following properties:\', properties);\n });\n ```\n\n#### .getDB ()\nReturns a native Oriento database object\n \nusage: \n ```javascript\n // Assume a model named "Post"\n Post.getDB()\n .class.list()\n .then(function (classes) {\n console.log(\'There are \' + classes.length + \' classes in the db:\', classes);\n });\n ```\n\n#### .getServer ()\nReturns a native Oriento connection\n \nusage: \n ```javascript\n // Assume a model named "Post"\n Post.getServer()\n .list()\n .then(function (dbs) {\n console.log(\'There are \' + dbs.length + \' databases on the server.\');\n });\n ``` \n \n#### .runFunction (functionName [, ...])\nReturns a prepared Oriento statement with query and params to run an OrientDB function.\n \nusage: \n ```javascript\n // Assume a model named "Post"\n Post.runFunction(\'foo\', \'arg1\').from(\'OUser\').limit(1).one()\n .then(function(res) {\n console.log(res.foo); // res.foo contains the result of the function\n \t});\n ``` \n \n#### .createEdge (from, to, options, callback)\nCreates edge between specified two model instances by ID in the form parameters `from` and `to`\n\nusage: \n ```javascript\n // Assume a model named "Post"\n Post.createEdge(\'#12:1\', \'#13:1\', { \'@class\':\'Comments\' }, function(err, result){\n console.log(\'Edge created\', result);\n });\n \n // Adding param createdAt to the edge (and using promise)\n Post.createEdge(\'#12:2\', \'#13:2\', { \'@class\':\'Comments\', createdAt: new Date() })\n .then(function(result){\n console.log(\'Edge created\', result);\n });\n ```\n> Note: when using many-to-many or many-to-many through associations edges will automatically be created. This method is for manual edge manipulation only and it\'s not required for maintaining associations.\n \n#### .deleteEdges (from, to, options, callback)\nDeletes edges between specified two model instances by ID in the form parameters `from` and `to`\n\nusage: \n ```javascript\n // Assume a model named "Post"\n Post.deleteEdges(\'#12:1\', \'#13:1\', null, function(err, result){\n console.log(\'Edge deleted\', result);\n });\n ```\n> Note: when using many-to-many or many-to-many through associations edges will automatically be deleted when using the conventional waterline methods. This method is for manual edge manipulation only and it\'s not required for maintaining associations.\n\n#### .increment (criteria, field[, amount][, cb])\nIncrements the given field by amount (defaults to `1`). This can be used to generate sequencial numbers, more about this in [OrientDB docs](http://orientdb.com/docs/last/Sequences-and-auto-increment.html).\n\nusage: \n ```javascript\n // Given a model Counter with attributes `name` and `value`\n Counter.increment({ name: \'counter1\' }, \'value\', function (err, counter) {\n console.log(\'counter1 has increased by 1 to:\', counter.value);\n });\n \n // To decrement use negative numbers\n Counter.increment({ name: \'counter1\' }, \'value\', -2)\n .then(function (counter) {\n console.log(\'counter1 haas decreased by 2 to:\', counter.value);\n });\n ```\n\n#### .removeCircularReferences (object)\nConvenience method that replaces circular references with `id` when one is available, otherwise it replaces the object with string \'[Circular]\'.\n \nusage: \n ```javascript\n //Assume a model named "Post"\n var result = Post.removeCircularReferences(posts);\n console.log(JSON.stringify(result)); // it\'s safe to stringify result\n ```\n\n\n### Examples\n\nFor a vast set of examples on how to set up models take a look at [waterline-adapter-tests fixtures](https://github.com/balderdashy/waterline-adapter-tests/tree/master/interfaces/associations/support/fixtures), all of those are working examples and frequently tested. \n\nThe only case poorly covered is how to set up a Many-to-many *through* association as it is [not yet officially supported](https://github.com/balderdashy/waterline/issues/705). Below is an example of a Many-to-many through association that works in OrientDB.\n\n#### Many-to-many through example\n\n##### Venue model which will join (via edge) teams to stadiums\n```javascript\n/**\n * Venue Model\n *\n * Join table between teams and associations\n */\nvar Waterline = require(\'waterline\');\n\nmodule.exports = Waterline.Collection.extend({\n\n tableName: \'venueTable\',\n identity: \'venue\',\n connection: \'associations\',\n\n attributes: {\n seats: \'integer\',\n teamRef: {\n columnName: \'teamRef\',\n type: \'string\',\n foreignKey: true,\n references: \'team\',\n on: \'id\',\n onKey: \'id\',\n via: \'stadiumRef\'\n },\n stadiumRef: {\n columnName: \'stadiumRef\',\n type: \'string\',\n foreignKey: true,\n references: \'stadium\',\n on: \'id\',\n onKey: \'id\',\n via: \'teamRef\'\n }\n }\n\n});\n```\n\n##### Team Model to be associated with Stadium model\n```javascript\n/**\n * Team.js\n */\nvar Waterline = require(\'waterline\');\n\nmodule.exports = Waterline.Collection.extend({\n\n tableName: \'teamTable\',\n identity: \'team\',\n connection: \'associations\',\n\n attributes: {\n name: \'string\',\n mascot: \'string\',\n stadiums: {\n collection: \'Stadium\',\n through: \'venue\',\n via: \'team\',\n dominant: true\n }\n }\n});\n```\n\n##### Stadium Model to be associated with Team model\n```javascript\n/**\n * Stadium.js\n */\nvar Waterline = require(\'waterline\');\n\nmodule.exports = Waterline.Collection.extend({\n\n tableName: \'stadiumTable\',\n identity: \'stadium\',\n connection: \'associations\',\n\n attributes: {\n name: \'string\',\n teams: {\n collection: \'Team\',\n through: \'venue\',\n via: \'stadium\'\n }\n }\n\n});\n```\n\nAn edge named **venueTable** will be created from Team to Stadium model instances whenever an instance of team model is saved with a \'stadiums\' attribute.\n\n\n### Questions?\n\nSee [`FAQ.md`](./FAQ.md).\n\n\n## Testing\nTest are written with mocha. Integration tests are handled by the [waterline-adapter-tests](https://github.com/balderdashy/waterline-adapter-tests) project, which tests adapter methods against the latest Waterline API.\n\nTo run tests:\n```shell\nnpm test\n```\n\n## Issues or Suggestions\nWe are always trying to improve `sails-orientdb` either by fixing issues or adding new features. If you experienced an issue or have a suggestion feel free to [raise a new issue](https://github.com/appscot/sails-orientdb/issues/new), preferably by following the [guidelines](./CONTRIBUTING.md#how-to-report-bugs).\n\n### Contributions\n\nWe are always looking for the quality contributions! Please check the [CONTRIBUTING.md](./CONTRIBUTING.md) for the contribution guidelines.\n\n\n## History\n\nIn July 2014, [Srinath Janakiraman](http://github.com/vjsrinath) created the original [sails-orientdb](https://github.com/vjsrinath/sails-orientdb) adapter.\n\nAlmost simultaneously, [Gaurav Dhiman](https://github.com/gauravdhiman) created [sails-orientdb-binary](https://github.com/gauravdhiman/sails-orientdb-binary) with support for both binary and REST protocol.\n\nIn October 2014, [Dário Marcelino](https://github.com/dmarcelino) forked `sails-orientdb` and created [waterline-orientdb](https://github.com/appscot/waterline-orientdb) with improved support when used with waterline standalone and made the adapter pass all [API integration tests](https://github.com/balderdashy/waterline-adapter-tests).\n\nIn March 2015, Srinath, Gaurav and Dário combined their efforts into maintaining a single adapter with the original name: [sails-orientdb](https://github.com/appscot/sails-orientdb).\n\n\n## Authors\n * Srinath Janakiraman ([vjsrinath](http://github.com/vjsrinath))\n * Gaurav Dhiman ([gauravdhiman](https://github.com/gauravdhiman))\n * Dário Marcelino ([dmarcelino](https://github.com/dmarcelino))\n * and our generous [contributors](https://github.com/appscot/sails-orientdb/graphs/contributors) (thank you!)\n\n\n## About Waterline\n\n[Waterline](https://github.com/balderdashy/waterline) is a new kind of storage and retrieval engine.\n\nIt provides a uniform API for accessing stuff from different kinds of databases, protocols, and 3rd party APIs. That means you write the same code to get and store things like users, whether they live in OrientDB, Redis, mySQL, LDAP, MongoDB, or Postgres.\n\nWaterline strives to inherit the best parts of ORMs like ActiveRecord, Hibernate, and Mongoose, but with a fresh perspective and emphasis on modularity, testability, and consistency across adapters.\n\n\n## License\n\n**[MIT](./LICENSE)**\n© 2015 [AppsCot](http://github.com/appscot)\n\n',
17 silly publish gitHead: '53194530bd3b339f8634748c2db0578a15a571c3',
17 silly publish bugs: { url: 'https://github.com/appscot/sails-orientdb/issues' },
17 silly publish homepage: 'https://github.com/appscot/sails-orientdb#readme',
17 silly publish _id: 'sails-orientdb@0.10.54',
17 silly publish _shasum: '395b6d7ba0042191c31e9f116096d07f0f9281bd',
17 silly publish _from: '.' }
18 verbose getPublishConfig undefined
19 silly mapToRegistry name sails-orientdb
20 silly mapToRegistry using default registry
21 silly mapToRegistry registry https://registry.npmjs.org/
22 silly mapToRegistry uri https://registry.npmjs.org/sails-orientdb
23 verbose publish registryBase https://registry.npmjs.org/
24 silly publish uploading /Users/dmarcelino/.npm/sails-orientdb/0.10.54/package.tgz
25 verbose request uri https://registry.npmjs.org/sails-orientdb
26 verbose request sending authorization for write operation
27 info attempt registry request try #1 at 01:22:55
28 verbose request using bearer token for auth
29 verbose request id 4fac21169ad533df
30 http request PUT https://registry.npmjs.org/sails-orientdb
31 http 503 https://registry.npmjs.org/sails-orientdb
32 verbose bad json <?xml version="1.0" encoding="utf-8"?>
32 verbose bad json <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
32 verbose bad json "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
32 verbose bad json <html>
32 verbose bad json <head>
32 verbose bad json <title>503 backend read error</title>
32 verbose bad json </head>
32 verbose bad json <body>
32 verbose bad json <h1>Error 503 backend read error</h1>
32 verbose bad json <p>backend read error</p>
32 verbose bad json <h3>Guru Mediation:</h3>
32 verbose bad json <p>Details: cache-lhr6322-LHR 1433204715 1713350286</p>
32 verbose bad json <hr>
32 verbose bad json <p>Varnish cache server</p>
32 verbose bad json </body>
32 verbose bad json </html>
33 error registry error parsing json
34 info retry will retry, error on last attempt: SyntaxError: Unexpected token <
34 info retry
34 info retry <?xml version="1.0" encoding="utf-8"?>
34 info retry <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
34 info retry "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
34 info retry <html>
34 info retry <head>
34 info retry <title>503 backend read error</title>
34 info retry </head>
34 info retry <body>
34 info retry <h1>Error 503 backend read error</h1>
34 info retry <p>backend read error</p>
34 info retry <h3>Guru Mediation:</h3>
34 info retry <p>Details: cache-lhr6322-LHR 1433204715 1713350286</p>
34 info retry <hr>
34 info retry <p>Varnish cache server</p>
34 info retry </body>
34 info retry </html>
35 info attempt registry request try #2 at 01:25:23
36 verbose request using bearer token for auth
37 http request PUT https://registry.npmjs.org/sails-orientdb
38 http 403 https://registry.npmjs.org/sails-orientdb
39 verbose headers { 'content-type': 'application/json',
39 verbose headers 'cache-control': 'max-age=60',
39 verbose headers 'content-length': '97',
39 verbose headers 'accept-ranges': 'bytes',
39 verbose headers date: 'Tue, 02 Jun 2015 00:27:36 GMT',
39 verbose headers via: '1.1 varnish',
39 verbose headers connection: 'keep-alive',
39 verbose headers 'x-served-by': 'cache-lhr6321-LHR',
39 verbose headers 'x-cache': 'MISS',
39 verbose headers 'x-cache-hits': '0',
39 verbose headers 'x-timer': 'S1433204727.701648,VS0,VE128526' }
40 verbose request invalidating /Users/dmarcelino/.npm/registry.npmjs.org/sails-orientdb on PUT
41 error publish Failed PUT 403
42 verbose stack Error: "You cannot publish over the previously published version 0.10.54." : sails-orientdb
42 verbose stack at CachingRegistryClient.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:247:14)
42 verbose stack at Request._callback (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/request.js:170:14)
42 verbose stack at Request.self.callback (/usr/local/lib/node_modules/npm/node_modules/request/request.js:368:22)
42 verbose stack at Request.emit (events.js:98:17)
42 verbose stack at Request.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/request/request.js:1219:14)
42 verbose stack at Request.emit (events.js:117:20)
42 verbose stack at IncomingMessage.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/request/request.js:1167:12)
42 verbose stack at IncomingMessage.emit (events.js:117:20)
42 verbose stack at _stream_readable.js:944:16
42 verbose stack at process._tickCallback (node.js:442:13)
43 verbose statusCode 403
44 verbose pkgid sails-orientdb
45 verbose cwd /Users/dmarcelino/Development/node/waterline-orientdb
46 error Darwin 13.4.0
47 error argv "node" "/usr/local/bin/npm" "publish"
48 error node v0.10.36
49 error npm v2.11.0
50 error code E403
51 error "You cannot publish over the previously published version 0.10.54." : sails-orientdb
52 error If you need help, you may report this error at:
52 error <https://github.com/npm/npm/issues>
53 verbose exit [ 1, true ]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment