<%
/*
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
*/
%>{
  "name": "gremlin",
  "version": "<%= version %>",
  "description": "JavaScript Gremlin Language Variant",
  "author": "Apache TinkerPop team",
  "keywords": [
    "graph",
    "gremlin",
    "tinkerpop",
    "connection",
    "glv",
    "driver",
    "graphdb"
  ],
  "license": "Apache-2.0",
  "dependencies": {
    "ws": "^6.2.2"
  },
  "devDependencies": {
    "chai": "~4.1.2",
    "cucumber": "~4.2.1",
    "grunt": "~1.0.4",
    "grunt-cli": "~1.3.2",
    "grunt-jsdoc": "~2.3.1",
    "mocha": "~5.2.0"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/apache/tinkerpop.git"
  },
  "homepage": "https://tinkerpop.apache.org/",
  "bugs": {
    "url": "https://issues.apache.org/jira/browse/TINKERPOP"
  },
  "scripts": {
    "test": "./node_modules/mocha/bin/mocha test/unit test/integration -t 5000",
    "features": "./node_modules/.bin/cucumber-js --require test/cucumber ../../../../../gremlin-test/features/",
    "unit-test": "./node_modules/mocha/bin/mocha test/unit"
  },
  "engines": {
    "node": ">=6"
  }
}
