Skip to content

Commit

Permalink
revert prepack
Browse files Browse the repository at this point in the history
  • Loading branch information
Illyism committed Jun 6, 2017
1 parent 554b96c commit e67bcf6
Show file tree
Hide file tree
Showing 6 changed files with 47 additions and 26 deletions.
14 changes: 10 additions & 4 deletions config/rollup.config.js
Expand Up @@ -20,11 +20,17 @@ export default {
resolve(), resolve(),
commonjs(), commonjs(),
babel({ babel({
exclude: "node_modules/**", exclude: "node_modules/**",
presets: [["es2015", { modules: false }]], presets: [
plugins: ["external-helpers"] [
"es2015", {
"modules": false
}
]
],
"plugins": [ "external-helpers" ]
}) })
], ],
external: ["clean-css", "glob", "rework", "uglify-js", "prepack"], external: ["clean-css", "glob", "rework", "uglifyjs"],
sourceMap: false sourceMap: false
} }
19 changes: 12 additions & 7 deletions lib/purifycss.es.js
@@ -1,7 +1,6 @@
import CleanCss from 'clean-css'; import CleanCss from 'clean-css';
import rework from 'rework'; import rework from 'rework';
import glob from 'glob'; import glob from 'glob';
import { prepack as prepack$1 } from 'prepack';


var domain; var domain;


Expand Down Expand Up @@ -663,14 +662,20 @@ var CssTreeWalker = function (_EventEmitter) {
var UglifyJS = require("uglify-js"); var UglifyJS = require("uglify-js");
var fs$1 = require("fs"); var fs$1 = require("fs");
var compressCode = function compressCode(code) { var compressCode = function compressCode(code) {
var compressedCode = code;
try { try {
var prepackedCode = prepack$1(code).code; // Try to minimize the code as much as possible, removing noise.
compressedCode = UglifyJS.minify(prepackedCode).code; var ast = UglifyJS.parse(code);
ast.figure_out_scope();
var compressor = UglifyJS.Compressor({ warnings: false });
ast = ast.transform(compressor);
ast.figure_out_scope();
ast.compute_char_frequency();
ast.mangle_names({ toplevel: true });
code = ast.print_to_string().toLowerCase();
} catch (e) { } catch (e) {
// If compression fails, assume it's not a JS file and return the full code. // If compression fails, assume it's not a JS file and return the full code.
} }
return compressedCode.toLowerCase(); return code.toLowerCase();
}; };


var concatFiles = function concatFiles(files, options) { var concatFiles = function concatFiles(files, options) {
Expand Down Expand Up @@ -775,7 +780,7 @@ var getAllWordsInContent = function getAllWordsInContent(content) {
html: true, html: true,
body: true body: true
}; };
var words = content.split(/[^a-z-]/g); var words = content.split(/[^a-z]/g);
var _iteratorNormalCompletion = true; var _iteratorNormalCompletion = true;
var _didIteratorError = false; var _didIteratorError = false;
var _iteratorError = undefined; var _iteratorError = undefined;
Expand Down Expand Up @@ -832,7 +837,7 @@ var getAllWordsInSelector = function getAllWordsInSelector(selector) {
skipNextWord = true; skipNextWord = true;
continue; continue;
} }
if (/[a-z-]/.test(letter)) { if (/[a-z]/.test(letter)) {
word += letter; word += letter;
} else { } else {
addWord(words, word); addWord(words, word);
Expand Down
19 changes: 12 additions & 7 deletions lib/purifycss.js
Expand Up @@ -5,7 +5,6 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
var CleanCss = _interopDefault(require('clean-css')); var CleanCss = _interopDefault(require('clean-css'));
var rework = _interopDefault(require('rework')); var rework = _interopDefault(require('rework'));
var glob = _interopDefault(require('glob')); var glob = _interopDefault(require('glob'));
var prepack = require('prepack');


var domain; var domain;


Expand Down Expand Up @@ -667,14 +666,20 @@ var CssTreeWalker = function (_EventEmitter) {
var UglifyJS = require("uglify-js"); var UglifyJS = require("uglify-js");
var fs$1 = require("fs"); var fs$1 = require("fs");
var compressCode = function compressCode(code) { var compressCode = function compressCode(code) {
var compressedCode = code;
try { try {
var prepackedCode = prepack.prepack(code).code; // Try to minimize the code as much as possible, removing noise.
compressedCode = UglifyJS.minify(prepackedCode).code; var ast = UglifyJS.parse(code);
ast.figure_out_scope();
var compressor = UglifyJS.Compressor({ warnings: false });
ast = ast.transform(compressor);
ast.figure_out_scope();
ast.compute_char_frequency();
ast.mangle_names({ toplevel: true });
code = ast.print_to_string().toLowerCase();
} catch (e) { } catch (e) {
// If compression fails, assume it's not a JS file and return the full code. // If compression fails, assume it's not a JS file and return the full code.
} }
return compressedCode.toLowerCase(); return code.toLowerCase();
}; };


var concatFiles = function concatFiles(files, options) { var concatFiles = function concatFiles(files, options) {
Expand Down Expand Up @@ -779,7 +784,7 @@ var getAllWordsInContent = function getAllWordsInContent(content) {
html: true, html: true,
body: true body: true
}; };
var words = content.split(/[^a-z-]/g); var words = content.split(/[^a-z]/g);
var _iteratorNormalCompletion = true; var _iteratorNormalCompletion = true;
var _didIteratorError = false; var _didIteratorError = false;
var _iteratorError = undefined; var _iteratorError = undefined;
Expand Down Expand Up @@ -836,7 +841,7 @@ var getAllWordsInSelector = function getAllWordsInSelector(selector) {
skipNextWord = true; skipNextWord = true;
continue; continue;
} }
if (/[a-z-]/.test(letter)) { if (/[a-z]/.test(letter)) {
word += letter; word += letter;
} else { } else {
addWord(words, word); addWord(words, word);
Expand Down
1 change: 0 additions & 1 deletion package.json
Expand Up @@ -8,7 +8,6 @@
"dependencies": { "dependencies": {
"clean-css": "^4.0.12", "clean-css": "^4.0.12",
"glob": "^7.1.1", "glob": "^7.1.1",
"prepack": "0.2.2",
"rework": "^1.0.1", "rework": "^1.0.1",
"uglify-js": "^3.0.6", "uglify-js": "^3.0.6",
"yargs": "^8.0.1" "yargs": "^8.0.1"
Expand Down
4 changes: 2 additions & 2 deletions src/utils/ExtractWordsUtil.js
Expand Up @@ -8,7 +8,7 @@ export const getAllWordsInContent = content => {
html: true, html: true,
body: true body: true
} }
const words = content.split(/[^a-z-]/g) const words = content.split(/[^a-z]/g)
for (let word of words) { for (let word of words) {
used[word] = true used[word] = true
} }
Expand Down Expand Up @@ -36,7 +36,7 @@ export const getAllWordsInSelector = selector => {
skipNextWord = true skipNextWord = true
continue continue
} }
if (/[a-z-]/.test(letter)) { if (/[a-z]/.test(letter)) {
word += letter word += letter
} else { } else {
addWord(words, word) addWord(words, word)
Expand Down
16 changes: 11 additions & 5 deletions src/utils/FileUtil.js
@@ -1,17 +1,22 @@
const UglifyJS = require("uglify-js") const UglifyJS = require("uglify-js")
const fs = require("fs") const fs = require("fs")
import glob from "glob" import glob from "glob"
import { prepack } from "prepack"


const compressCode = code => { const compressCode = code => {
let compressedCode = code
try { try {
const prepackedCode = prepack(code).code // Try to minimize the code as much as possible, removing noise.
compressedCode = UglifyJS.minify(prepackedCode).code let ast = UglifyJS.parse(code)
ast.figure_out_scope()
let compressor = UglifyJS.Compressor({ warnings: false })
ast = ast.transform(compressor)
ast.figure_out_scope()
ast.compute_char_frequency()
ast.mangle_names({ toplevel: true })
code = ast.print_to_string().toLowerCase()
} catch (e) { } catch (e) {
// If compression fails, assume it's not a JS file and return the full code. // If compression fails, assume it's not a JS file and return the full code.
} }
return compressedCode.toLowerCase() return code.toLowerCase()
} }


export const concatFiles = (files, options) => export const concatFiles = (files, options) =>
Expand All @@ -26,6 +31,7 @@ export const concatFiles = (files, options) =>
return `${total}${code} ` return `${total}${code} `
}, "") }, "")



export const getFilesFromPatternArray = fileArray => { export const getFilesFromPatternArray = fileArray => {
let sourceFiles = {} let sourceFiles = {}
for (let string of fileArray) { for (let string of fileArray) {
Expand Down

0 comments on commit e67bcf6

Please sign in to comment.