From 8cbc403700f80e98c2309650f1c0427a5d23f30a Mon Sep 17 00:00:00 2001 From: David Aurelio Date: Mon, 5 Dec 2016 16:40:26 -0800 Subject: [PATCH] Add source map helper Summary: Adds a helper to produce index source maps for Buck builds Reviewed By: cpojer Differential Revision: D4265911 fbshipit-source-id: 9ca3c49876df5db039bae823c0458c98e6e05619 --- .../src/ModuleGraph/output/source-map.js | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 react-packager/src/ModuleGraph/output/source-map.js diff --git a/react-packager/src/ModuleGraph/output/source-map.js b/react-packager/src/ModuleGraph/output/source-map.js new file mode 100644 index 00000000..bade8fec --- /dev/null +++ b/react-packager/src/ModuleGraph/output/source-map.js @@ -0,0 +1,48 @@ +/** + * Copyright (c) 2016-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * @flow + */ +'use strict'; + +type CreateIndexMapOptions = {| + file?: string, + sections?: Array +|}; + +type IndexMap = MapBase & { + sections: Array, +}; + +type IndexMapSection = { + map: IndexMap | MappingsMap, + offset: {line: number, column: number}, +}; + +type MapBase = { + // always the first entry in the source map entry object per + // https://fburl.com/source-map-spec#heading=h.qz3o9nc69um5 + version: 3, + file?: string, +}; + +type MappingsMap = MapBase & { + mappings: string, + names: Array, + sourceRoot?: string, + sources: Array, + sourcesContent?: Array, +}; + +export type SourceMap = IndexMap | MappingsMap; + +exports.createIndexMap = (opts?: CreateIndexMapOptions): IndexMap => ({ + version: 3, + file: opts && opts.file, + sections: opts && opts.sections || [], +});