UNPKG

2.84 kBJavaScriptView Raw
1#!/usr/bin/env node
2// TODO: DRY monorepo-utils/bin/monorepo-babel-node-runner.js and fetch-schema
3// This is here to make this `bin` available directly from our monorepo without transpiling it.
4"use strict";
5
6var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
7
8var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
10function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
11
12function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
13
14require('@babel/register')({
15 ignore: [/node_modules\/(?!@kiwicom)/],
16 rootMode: 'upward'
17});
18
19var program = require('commander');
20
21var _require = require('@kiwicom/js'),
22 invariant = _require.invariant;
23
24var Logger = require('@kiwicom/logger').default;
25
26var _require2 = require('relay-compiler'),
27 Rollout = _require2.Rollout;
28
29var RelayConfig = require('relay-config');
30
31var compiler = require('../src/compiler').default;
32
33program.option('--src <src>').option('--schema <schema>').option('--validate').option('--watch', 'This option currently REQUIRES Watchman (https://facebook.github.io/watchman/) to be installed.').parse(process.argv);
34
35var config = _objectSpread({
36 src: program.src,
37 schema: program.schema,
38 validate: program.validate,
39 watch: program.watch
40}, RelayConfig.loadConfig());
41
42!config.src ? process.env.NODE_ENV !== "production" ? invariant(false, 'Option --src is required.') : invariant(false) : void 0;
43!config.schema ? process.env.NODE_ENV !== "production" ? invariant(false, 'Option --schema is required.') : invariant(false) : void 0; // TODO: try to download the schema automatically?
44// But please note: some projects are using in-memory server for example and therefore it's not
45// possible to "fetch" the schema since there is no URL. Such projects has to sign their
46// snapshot manually.
47
48Rollout.set(new Map([[// Our implementation of https://relay.dev/docs/en/persisted-queries
49'stored-operations', new Set([// 'persist-query',
50])]]));
51compiler(config).catch(function (error) {
52 Logger.error(error);
53 process.exit(1);
54});
\No newline at end of file