Subsume json (#7985)

* Add Subsume JSON transform

https://github.com/tc39/proposal-json-superset is at stage 3.

This allows U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR to appear unescaped inside strings and directives.

* Move to Stage 3

* Break diretive parsing

* Update README

* Handle multi-escape sequences

* Remove babylon files after rename
This commit is contained in:
Justin Ridgewell
2018-05-19 15:32:05 -04:00
committed by GitHub
parent 51eef099b3
commit 0879a6d608
34 changed files with 809 additions and 3 deletions

View File

@@ -0,0 +1,3 @@
src
test
*.log

View File

@@ -0,0 +1,35 @@
# @babel/plugin-syntax-json-strings
Allow parsing of the U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR in JS strings
## Installation
```sh
npm install --save-dev @babel/plugin-syntax-json-strings
```
## Usage
### Via `.babelrc` (Recommended)
**.babelrc**
```json
{
"plugins": ["@babel/plugin-syntax-json-strings"]
}
```
### Via CLI
```sh
babel --plugins @babel/plugin-syntax-json-strings script.js
```
### Via Node API
```javascript
require("@babel/core").transform("code", {
plugins: ["@babel/plugin-syntax-json-strings"]
});
```

View File

@@ -0,0 +1,20 @@
{
"name": "@babel/plugin-syntax-json-strings",
"version": "7.0.0-beta.47",
"description": "Allow parsing of the U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR in JS strings",
"repository": "https://github.com/babel/babel/tree/master/packages/babel-plugin-syntax-json-strings",
"license": "MIT",
"main": "lib/index.js",
"keywords": [
"babel-plugin"
],
"dependencies": {
"@babel/helper-plugin-utils": "7.0.0-beta.47"
},
"peerDependencies": {
"@babel/core": "7.0.0-beta.47"
},
"devDependencies": {
"@babel/core": "7.0.0-beta.47"
}
}

View File

@@ -0,0 +1,11 @@
import { declare } from "@babel/helper-plugin-utils";
export default declare(api => {
api.assertVersion(7);
return {
manipulateOptions(opts, parserOpts) {
parserOpts.plugins.push("jsonStrings");
},
};
});