react app

This commit is contained in:
Mario Romano
2016-04-06 17:52:19 +01:00
parent f7e6ef55a2
commit 29df96a085
4425 changed files with 446323 additions and 0 deletions

View File

@@ -0,0 +1,4 @@
node_modules
*.log
src
test

View File

@@ -0,0 +1,48 @@
# babel-plugin-transform-react-jsx-source
Adds source file and line number to JSX elements.
## Example
###In
```
<sometag />
```
###Out
```
<sometag __source={{fileName: 'this/file.js', lineNumber: 10}}/>
```
## Installation
```sh
$ npm install babel-plugin-transform-react-jsx-source
```
## Usage
### Via `.babelrc` (Recommended)
**.babelrc**
```json
{
"plugins": ["transform-react-jsx-source"]
}
```
### Via CLI
```sh
$ babel --plugins transform-react-jsx-source script.js
```
### Via Node API
```javascript
require("babel-core").transform("code", {
plugins: ["transform-react-jsx-source"]
});
```

View File

@@ -0,0 +1,57 @@
/**
* This adds {fileName, lineNumber} annotations to React component definitions
* and to jsx tag literals.
*
*
* == JSX Literals ==
*
* <sometag />
*
* becomes:
*
* var __jsxFileName = 'this/file.js';
* <sometag __source={{fileName: __jsxFileName, lineNumber: 10}}/>
*/
"use strict";
exports.__esModule = true;
var TRACE_ID = "__source";
var FILE_NAME_VAR = "_jsxFileName";
exports["default"] = function (_ref) {
var t = _ref.types;
function makeTrace(fileNameIdentifier, lineNumber) {
var fileLineLiteral = lineNumber != null ? t.numericLiteral(lineNumber) : t.nullLiteral();
var fileNameProperty = t.objectProperty(t.identifier("fileName"), fileNameIdentifier);
var lineNumberProperty = t.objectProperty(t.identifier("lineNumber"), fileLineLiteral);
return t.objectExpression([fileNameProperty, lineNumberProperty]);
}
var visitor = {
JSXOpeningElement: function JSXOpeningElement(path, state) {
if (!state.fileNameIdentifier) {
var fileName = state.file.log.filename !== "unknown" ? state.file.log.filename : null;
var fileNameIdentifier = path.scope.generateUidIdentifier(FILE_NAME_VAR);
path.hub.file.scope.push({ id: fileNameIdentifier, init: t.stringLiteral(fileName) });
state.fileNameIdentifier = fileNameIdentifier;
}
var id = t.jSXIdentifier(TRACE_ID);
var location = path.container.openingElement.loc; // undefined for generated elements
if (location) {
var trace = makeTrace(state.fileNameIdentifier, location.start.line);
path.container.openingElement.attributes.push(t.jSXAttribute(id, t.jSXExpressionContainer(trace)));
}
}
};
return {
visitor: visitor
};
};
module.exports = exports["default"];

View File

@@ -0,0 +1,93 @@
{
"_args": [
[
"babel-plugin-transform-react-jsx-source@^6.3.13",
"/Users/mromano/dev/react-sfs/node_modules/babel-preset-react"
]
],
"_from": "babel-plugin-transform-react-jsx-source@>=6.3.13 <7.0.0",
"_id": "babel-plugin-transform-react-jsx-source@6.5.0",
"_inCache": true,
"_installable": true,
"_location": "/babel-plugin-transform-react-jsx-source",
"_nodeVersion": "5.1.0",
"_npmOperationalInternal": {
"host": "packages-5-east.internal.npmjs.com",
"tmp": "tmp/babel-plugin-transform-react-jsx-source-6.5.0.tgz_1454803689958_0.5949466982856393"
},
"_npmUser": {
"email": "hi@henryzoo.com",
"name": "hzoo"
},
"_npmVersion": "3.6.0",
"_phantomChildren": {},
"_requested": {
"name": "babel-plugin-transform-react-jsx-source",
"raw": "babel-plugin-transform-react-jsx-source@^6.3.13",
"rawSpec": "^6.3.13",
"scope": null,
"spec": ">=6.3.13 <7.0.0",
"type": "range"
},
"_requiredBy": [
"/babel-preset-react"
],
"_resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.5.0.tgz",
"_shasum": "b6cf9225754a4495a712cd59145cea41f5bbe477",
"_shrinkwrap": null,
"_spec": "babel-plugin-transform-react-jsx-source@^6.3.13",
"_where": "/Users/mromano/dev/react-sfs/node_modules/babel-preset-react",
"dependencies": {
"babel-plugin-syntax-jsx": "^6.3.13",
"babel-runtime": "^5.0.0"
},
"description": "Add a __source prop to all JSX Elements",
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.3.13"
},
"directories": {},
"dist": {
"shasum": "b6cf9225754a4495a712cd59145cea41f5bbe477",
"tarball": "https://registry.npmjs.org/babel-plugin-transform-react-jsx-source/-/babel-plugin-transform-react-jsx-source-6.5.0.tgz"
},
"keywords": [
"babel-plugin"
],
"license": "MIT",
"main": "lib/index.js",
"maintainers": [
{
"email": "amjad.masad@gmail.com",
"name": "amasad"
},
{
"email": "hi@henryzoo.com",
"name": "hzoo"
},
{
"email": "npm-public@jessemccarthy.net",
"name": "jmm"
},
{
"email": "loganfsmyth@gmail.com",
"name": "loganfsmyth"
},
{
"email": "sebmck@gmail.com",
"name": "sebmck"
},
{
"email": "me@thejameskyle.com",
"name": "thejameskyle"
}
],
"name": "babel-plugin-transform-react-jsx-source",
"optionalDependencies": {},
"readme": "ERROR: No README data found!",
"repository": {
"type": "git",
"url": "https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-jsx-source"
},
"scripts": {},
"version": "6.5.0"
}