How to use the babel-generator function in babel-generator

To help you get started, we’ve selected a few babel-generator examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github awto / effectfuljs / src / trace.js View on Github external
export function cg(ast, opts = {}) {
  var res
  if (ast == null) {
    // console.error("")
    return ""
  }
  try {
    if (Array.isArray(ast)) {
      ast = ast.length > 0 && T.isExpression(ast[0]) 
        ? T.sequenceExpression(ast)
        : T.blockStatement(ast)
    }
    res = generate(ast,opts,"").code
  } catch (e) {
    if (ast.type != null)
      console.error(e.stack)
  }
  if (res != null)
    return res
  try {
    return "!!" + opts.compact ? JSON.stringify(ast) : JSON.stringify(ast,null,2)
  } catch(e) {
    return ""
  }
}
github giuseppeg / styled-jsx-postcss / src / babel.js View on Github external
node.expressions.forEach((e, i) => {
      const r = `___styledjsxexpression${i}___`
      source += node.quasis[i].value.cooked + r
      replacements.push({
        replacement: r,
        initial: `$\{${generate(e).code}}`
      })
    })
    source += node.quasis[node.quasis.length - 1].value.cooked
github Shopify / graphql-js-schema / src / type-template.js View on Github external
`, {sourceType: 'module'});
      }
    case 'INTERFACE':
      return parse(`
          ${generate(declaration).code}
          ${generate(moduleExport).code}
      `, {sourceType: 'module'});
    case 'INPUT_OBJECT':
      return parse(`
          ${generate(declaration).code}
          ${generate(moduleExport).code}
      `, {sourceType: 'module'});
    default:
      return parse(`
          ${generate(declaration).code}
          ${generate(moduleExport).code}
      `, {sourceType: 'module'});
  }
}
github Shopify / graphql-js-schema / src / bundle-template.js View on Github external
${generate(queryTypeAssignment).code}
    ${generate(mutationTypeAssignment).code}
    ${generate(subscriptionTypeAssignment).code}

    function recursivelyFreezeObject(structure) {
      Object.getOwnPropertyNames(structure).forEach((key) => {
        const value = structure[key];
        if (value && typeof value === 'object') {
          recursivelyFreezeObject(value);
        }
      });
      Object.freeze(structure);
      return structure;
    }

    ${generate(moduleExport).code}
  `, {sourceType: 'module'});
}
github sungwoncho / compconv / src / convert.js View on Github external
function output(ctx) {
  const result = generate(ctx.jsxBodyTree);
  const code = transformBody(ctx.type, result.code);

  if (ctx.type === typeClass) {
    return outputFunctional(ctx, code);
  }

  return outputClass(ctx, code);
}
github Tencent / omi / packages / omip / taro-transformer-wx / src / index.ts View on Github external
])
          ))
        }
      })
    }
  }
  resetTSClassProperty(mainClass.node.body.body)
  if (options.isApp) {
    renderMethod.replaceWith(
      t.classMethod('method', t.identifier('_createData'), [], t.blockStatement([]))
    )
    return { ast } as TransformResult
  }
  //@fix add arg => componentSourceMap
  result = new Transformer(mainClass, options.sourcePath, componentProperies, componentSourceMap).result
  result.code = generate(ast).code
  result.ast = ast
  const lessThanSignReg = new RegExp(lessThanSignPlacehold, 'g')
  result.compressedTemplate = result.template
  result.template = prettyPrint(result.template, {
    max_char: 0,
    unformatted: process.env.NODE_ENV === 'test' ? [] : ['text']
  })
  result.template = result.template.replace(lessThanSignReg, '<')
  result.imageSrcs = Array.from(imageSource)
  return result
}
github suchipi / run-on-server / packages / babel-plugin / src / IdMappingsFile.js View on Github external
return t.objectProperty(keyNode, valueNode);
          })
        )
      )
    );

    const comment =
      "\n" +
      stripIndent`
        This file was generated by the run-on-server babel plugin. It should not
        be edited by hand.
      ` +
      "\n";

    const output = generate(t.program([outputContent]), {
      auxiliaryCommentBefore: comment,
    });

    return output.code;
  }
github Polymer / tools / packages / bundler / src / es6-module-bundler.ts View on Github external
if (moduleExports.size > 0) {
      bundleSource.body.push(babel.exportNamedDeclaration(
          undefined, [babel.exportSpecifier(
                         babel.identifier(starExportName),
                         babel.identifier(starExportName))]));
      bundleSource.body.push(babel.exportNamedDeclaration(
          undefined,
          [...moduleExports].map(
              (e) => babel.exportSpecifier(
                  babel.identifier(e),
                  babel.identifier(getOrSetBundleModuleExportName(
                      assignedBundle, sourceUrl, e)))),
          babel.stringLiteral(rebasedSourceUrl)));
    }
  }
  const {code} = generate(bundleSource);
  return code;
}
github callstack / linaria / src / babel / preval-extract / resolveSource.js View on Github external
function getSourceForVariableDeclarationFromAst(
  types: BabelTypes,
  kind: string,
  node: Object
) {
  const program = types.program([types.variableDeclaration(kind, [node])]);
  return generate(program).code;
}

babel-generator

Turns an AST into code.

MIT
Latest version published 6 years ago

Package Health Score

88 / 100
Full package analysis

Similar packages