-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
863426a
commit 33b4e38
Showing
11 changed files
with
1,032 additions
and
555 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
# IntelliJ project files | ||
.idea | ||
*.iml | ||
out | ||
gen | ||
node_modules | ||
*.log | ||
test/dist/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,27 +1,30 @@ | ||
const acorn = require('acorn'); | ||
const escodegen = require('escodegen'); | ||
|
||
module.exports = function(source) { | ||
this.cacheable && this.cacheable(); | ||
const tree = acorn.parse(source, { sourceType: 'module' }); | ||
traverse(tree); | ||
return escodegen.generate(tree); | ||
}; | ||
|
||
function isObject(item) { | ||
"use strict"; | ||
var acorn = require("acorn"); | ||
var escodegen = require("escodegen"); | ||
var isObject = function (item) { | ||
return Object.prototype.toString.call(item) === '[object Object]'; | ||
} | ||
|
||
}; | ||
var acornOptions = { | ||
sourceType: 'module' | ||
}; | ||
function traverse(input) { | ||
if (Array.isArray(input)) { | ||
input.forEach(item => traverse(item)); | ||
} | ||
input.forEach(traverse); | ||
} | ||
else if (isObject(input)) { | ||
for (let key in input) { | ||
for (var key in input) { | ||
if (typeof input[key] === 'string') { | ||
input[key] = input[key].replace(/(\n\s+)/g, ''); | ||
} | ||
traverse(input[key]); | ||
else { | ||
traverse(input[key]); | ||
} | ||
} | ||
} | ||
} | ||
module.exports = function (source) { | ||
this.cacheable && this.cacheable(); | ||
var tree = acorn.parse(source, acornOptions); | ||
traverse(tree); | ||
return escodegen.generate(tree); | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,31 @@ | ||
{ | ||
"name": "template-string-optimize-loader", | ||
"version": "2.2.1", | ||
"version": "2.2.2", | ||
"description": "template string optimize loader module for webpack", | ||
"main": "index.js", | ||
"main": "lib/index.js", | ||
"scripts": { | ||
"test": " webpack && webpack --config webpack.config.optimize.js", | ||
"release": "npm publish" | ||
"lib": "tsc -p tsconfig.json", | ||
"test": "bash ./test/test.sh", | ||
"release": "npm run lib && npm publish" | ||
}, | ||
"author": "chenjiahan", | ||
"license": "ISC", | ||
"devDependencies": { | ||
"babel": "^6.3.26", | ||
"babel-loader": "^6.2.1", | ||
"babel-preset-es2015": "^6.3.13", | ||
"webpack": "^1.12.10" | ||
"@types/acorn": "^4.0.2", | ||
"@types/escodegen": "^0.0.6", | ||
"babel": "^6.23.0", | ||
"babel-core": "^6.24.1", | ||
"babel-loader": "^6.4.1", | ||
"babel-preset-es2015": "^6.24.1", | ||
"typescript": "^2.2.2", | ||
"webpack": "^2.4.1" | ||
}, | ||
"bugs": { | ||
"url": "https://github.com/chenjiahan/template-string-optimize-loader/issues" | ||
}, | ||
"homepage": "https://github.com/chenjiahan/template-string-optimize-loader#readme", | ||
"dependencies": { | ||
"acorn": "^4.0.9", | ||
"acorn": "^5.0.3", | ||
"escodegen": "^1.8.1" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
import acorn = require('acorn'); | ||
import escodegen = require('escodegen'); | ||
|
||
const isObject = (item: any): boolean => | ||
Object.prototype.toString.call(item) === '[object Object]'; | ||
|
||
const acornOptions = { | ||
sourceType: 'module' | ||
} as acorn.Options; | ||
|
||
export = function (source: string): string { | ||
this.cacheable && this.cacheable(); | ||
const tree = acorn.parse(source, acornOptions); | ||
traverse(tree); | ||
return escodegen.generate(tree); | ||
}; | ||
|
||
function traverse(input: any): void { | ||
if (Array.isArray(input)) { | ||
input.forEach(traverse); | ||
} else if (isObject(input)) { | ||
for (let key in input) { | ||
if (typeof input[key] === 'string') { | ||
input[key] = input[key].replace(/(\n\s+)/g, ''); | ||
} else { | ||
traverse(input[key]); | ||
} | ||
} | ||
} | ||
} |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
#!/bin/sh | ||
npm run lib | ||
|
||
mkdir node_modules/template-string-optimize-loader | ||
cp -r ./package.json ./node_modules/template-string-optimize-loader | ||
cp -r ./lib ./node_modules/template-string-optimize-loader | ||
|
||
webpack | ||
webpack --config webpack.config.optimize.js |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
{ | ||
"compilerOptions": { | ||
"target": "es5", | ||
"module": "commonjs", | ||
"moduleResolution": "node", | ||
"outDir": "lib", | ||
"isolatedModules": false, | ||
"experimentalDecorators": true, | ||
"noImplicitAny": true, | ||
"removeComments": true, | ||
"suppressImplicitAnyIndexErrors": true, | ||
"allowSyntheticDefaultImports": true, | ||
"types": [ | ||
"acorn", | ||
"escodegen" | ||
], | ||
"lib": [ | ||
"es2015" | ||
] | ||
}, | ||
"include": [ | ||
"./src/*.ts" | ||
], | ||
"compileOnSave": false | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.