BVB Source Codes

prettier Show parser-babylon.js Source code

Return Download prettier: download parser-babylon.js Source code - Download prettier Source code - Type:.js
  1. "use strict";
  2.  
  3. const createError = require("./parser-create-error");
  4.  
  5. function parse(text) {
  6.   // Inline the require to avoid loading all the JS if we don't use it
  7.   const babylon = require("babylon");
  8.  
  9.   const babylonOptions = {
  10.     sourceType: "module",
  11.     allowImportExportEverywhere: false,
  12.     allowReturnOutsideFunction: true,
  13.     plugins: [
  14.       "jsx",
  15.       "flow",
  16.       "doExpressions",
  17.       "objectRestSpread",
  18.       "decorators",
  19.       "classProperties",
  20.       "exportExtensions",
  21.       "asyncGenerators",
  22.       "functionBind",
  23.       "functionSent",
  24.       "dynamicImport"
  25.     ]
  26.   };
  27.  
  28.   let ast;
  29.   try {
  30.     ast = babylon.parse(text, babylonOptions);
  31.   } catch (originalError) {
  32.     try {
  33.       return babylon.parse(
  34.         text,
  35.         Object.assign({}, babylonOptions, { strictMode: false })
  36.       );
  37.     } catch (nonStrictError) {
  38.       throw createError(
  39.         // babel error prints (l:c) with cols that are zero indexed
  40.         // so we need our custom error
  41.         originalError.message
  42.           .replace(/ \(.*\)/, ""),
  43.         {
  44.           start: {
  45.             line: originalError.loc.line,
  46.             column: originalError.loc.column + 1
  47.           }
  48.         }
  49.       );
  50.     }
  51.   }
  52.   delete ast.tokens;
  53.   return ast;
  54. }
  55.  
  56. module.exports = parse;
  57.  
downloadparser-babylon.js Source code - Download prettier Source code
Related Source Codes/Software:
storybook - 2017-06-07
ionicons - The premium icon font for Ionic ... 2017-06-07
AsyncDisplayKit - Smooth asynchronous user interfaces for iOS apps. ... 2017-06-07
lottie-android - Render After Effects animations natively on Androi... 2017-06-07
parse-server - Parse-compatible API server module for Node/Expres... 2017-06-07
inferno - An extremely fast, React-like JavaScript library f... 2017-06-08
guetzli - Perceptual JPEG encoder 2017-06-08
cs-video-courses - List of Computer Science courses with video lectur... 2017-06-08
interviews - Everything you need to know to get the job. 2017-06-08
prepack - Prepack is a partial evaluator for JavaScript. Pre... 2017-06-08
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top