Build the dist/ with rollup (#1794)
parent
453eb6c287
commit
05b921efdd
|
@ -4,3 +4,5 @@
|
||||||
!/tests/**/jsfmt.spec.js
|
!/tests/**/jsfmt.spec.js
|
||||||
!/**/.eslintrc.js
|
!/**/.eslintrc.js
|
||||||
/test.js
|
/test.js
|
||||||
|
/dist/
|
||||||
|
/scripts/build/
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
[ignore]
|
[ignore]
|
||||||
.*/tests/.*
|
.*/tests/.*
|
||||||
.*/node_modules/.*
|
.*/node_modules/.*
|
||||||
|
.*/dist/.*
|
||||||
|
|
|
@ -5,3 +5,4 @@ npm-debug.log
|
||||||
/test.ts
|
/test.ts
|
||||||
/test.css
|
/test.css
|
||||||
/.vscode
|
/.vscode
|
||||||
|
/dist
|
||||||
|
|
|
@ -9,7 +9,7 @@ const glob = require("glob");
|
||||||
const chalk = require("chalk");
|
const chalk = require("chalk");
|
||||||
const minimist = require("minimist");
|
const minimist = require("minimist");
|
||||||
const readline = require("readline");
|
const readline = require("readline");
|
||||||
const prettier = require("../index");
|
const prettier = eval("require")("../index");
|
||||||
const cleanAST = require("../src/clean-ast.js").cleanAST;
|
const cleanAST = require("../src/clean-ast.js").cleanAST;
|
||||||
|
|
||||||
const argv = minimist(process.argv.slice(2), {
|
const argv = minimist(process.argv.slice(2), {
|
||||||
|
|
2
index.js
2
index.js
|
@ -6,7 +6,7 @@ const printAstToDoc = require("./src/printer").printAstToDoc;
|
||||||
const util = require("./src/util");
|
const util = require("./src/util");
|
||||||
const printDocToString = require("./src/doc-printer").printDocToString;
|
const printDocToString = require("./src/doc-printer").printDocToString;
|
||||||
const normalizeOptions = require("./src/options").normalize;
|
const normalizeOptions = require("./src/options").normalize;
|
||||||
const parser = require("./src/parser");
|
const parser = require("./parser");
|
||||||
const printDocToDebug = require("./src/doc-debug").printDocToDebug;
|
const printDocToDebug = require("./src/doc-debug").printDocToDebug;
|
||||||
|
|
||||||
function guessLineEnding(text) {
|
function guessLineEnding(text) {
|
||||||
|
|
|
@ -41,8 +41,10 @@
|
||||||
"rollup-plugin-node-builtins": "2.0.0",
|
"rollup-plugin-node-builtins": "2.0.0",
|
||||||
"rollup-plugin-node-globals": "1.1.0",
|
"rollup-plugin-node-globals": "1.1.0",
|
||||||
"rollup-plugin-node-resolve": "2.0.0",
|
"rollup-plugin-node-resolve": "2.0.0",
|
||||||
|
"rollup-plugin-replace": "1.1.1",
|
||||||
"typescript": "2.3.2",
|
"typescript": "2.3.2",
|
||||||
"typescript-eslint-parser": "git://github.com/eslint/typescript-eslint-parser.git#87445776fce9dbc67139890b18143e767ab19c7d"
|
"typescript-eslint-parser": "git://github.com/eslint/typescript-eslint-parser.git#87445776fce9dbc67139890b18143e767ab19c7d",
|
||||||
|
"uglify-es": "mishoo/UglifyJS2#harmony"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "jest",
|
"test": "jest",
|
||||||
|
|
|
@ -4,15 +4,13 @@ function parse(text, opts) {
|
||||||
let parseFunction;
|
let parseFunction;
|
||||||
|
|
||||||
if (opts.parser === "flow") {
|
if (opts.parser === "flow") {
|
||||||
parseFunction = require("./parser-flow");
|
parseFunction = eval("require")("./src/parser-flow");
|
||||||
} else if (opts.parser === "typescript") {
|
} else if (opts.parser === "typescript") {
|
||||||
const r = require;
|
parseFunction = eval("require")("./src/parser-typescript");
|
||||||
parseFunction = r("./parser-typescript");
|
|
||||||
} else if (opts.parser === "postcss") {
|
} else if (opts.parser === "postcss") {
|
||||||
const r = require;
|
parseFunction = eval("require")("./src/parser-postcss");
|
||||||
parseFunction = r("./parser-postcss");
|
|
||||||
} else {
|
} else {
|
||||||
parseFunction = require("./parser-babylon");
|
parseFunction = eval("require")("./src/parser-babylon");
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
cd "$(dirname "$0")";
|
||||||
|
cd ../..;
|
||||||
|
|
||||||
|
rm -Rf dist/
|
||||||
|
|
||||||
|
echo 'The warning about eval being strongly discouraged is normal.'
|
||||||
|
|
||||||
|
echo 'Bundling index...';
|
||||||
|
node_modules/.bin/rollup -c scripts/build/rollup.index.config.js
|
||||||
|
|
||||||
|
echo 'Bundling bin...';
|
||||||
|
node_modules/.bin/rollup -c scripts/build/rollup.bin.config.js
|
||||||
|
chmod +x ./dist/bin/prettier.js
|
||||||
|
|
||||||
|
echo 'Bundling babylon...';
|
||||||
|
node_modules/.bin/rollup -c scripts/build/rollup.parser.config.js --environment parser:babylon
|
||||||
|
|
||||||
|
echo 'Bundling flow...';
|
||||||
|
node_modules/.bin/rollup -c scripts/build/rollup.parser.config.js --environment parser:flow
|
||||||
|
|
||||||
|
echo 'Bundling typescript...';
|
||||||
|
node_modules/.bin/rollup -c scripts/build/rollup.parser.config.js --environment parser:typescript
|
||||||
|
|
||||||
|
echo 'Bundling postcss...';
|
||||||
|
node_modules/.bin/rollup -c scripts/build/rollup.parser.config.js --environment parser:postcss
|
|
@ -0,0 +1,22 @@
|
||||||
|
import resolve from 'rollup-plugin-node-resolve';
|
||||||
|
import commonjs from 'rollup-plugin-commonjs';
|
||||||
|
import json from 'rollup-plugin-json';
|
||||||
|
import replace from 'rollup-plugin-replace';
|
||||||
|
|
||||||
|
const parser = process.env.parser;
|
||||||
|
|
||||||
|
export default {
|
||||||
|
entry: 'bin/prettier.js',
|
||||||
|
dest: 'dist/bin/prettier.js',
|
||||||
|
format: 'cjs',
|
||||||
|
banner: '#!/usr/bin/env node',
|
||||||
|
plugins: [
|
||||||
|
replace({
|
||||||
|
'#!/usr/bin/env node': ''
|
||||||
|
}),
|
||||||
|
json(),
|
||||||
|
resolve(),
|
||||||
|
commonjs(),
|
||||||
|
],
|
||||||
|
external: ['fs', 'readline', 'path', 'module', 'assert', 'util', 'events'],
|
||||||
|
};
|
|
@ -0,0 +1,15 @@
|
||||||
|
import resolve from 'rollup-plugin-node-resolve';
|
||||||
|
import commonjs from 'rollup-plugin-commonjs';
|
||||||
|
import json from 'rollup-plugin-json';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
entry: 'index.js',
|
||||||
|
dest: 'dist/index.js',
|
||||||
|
format: 'cjs',
|
||||||
|
plugins: [
|
||||||
|
json(),
|
||||||
|
resolve(),
|
||||||
|
commonjs(),
|
||||||
|
],
|
||||||
|
external: ['assert'],
|
||||||
|
};
|
|
@ -0,0 +1,32 @@
|
||||||
|
import resolve from 'rollup-plugin-node-resolve';
|
||||||
|
import commonjs from 'rollup-plugin-commonjs';
|
||||||
|
import json from 'rollup-plugin-json';
|
||||||
|
import replace from 'rollup-plugin-replace';
|
||||||
|
import uglify from 'uglify-es';
|
||||||
|
|
||||||
|
const parser = process.env.parser;
|
||||||
|
|
||||||
|
export default {
|
||||||
|
entry: 'src/parser-' + parser + '.js',
|
||||||
|
dest: 'dist/src/parser-' + parser + '.js',
|
||||||
|
format: 'cjs',
|
||||||
|
plugins: [
|
||||||
|
parser === 'typescript' ? replace({
|
||||||
|
'exports\.Syntax =': '1,',
|
||||||
|
include: 'node_modules/typescript-eslint-parser/parser.js',
|
||||||
|
}) : {},
|
||||||
|
json(),
|
||||||
|
resolve(),
|
||||||
|
commonjs(),
|
||||||
|
{
|
||||||
|
transformBundle(code) {
|
||||||
|
const result = uglify.minify(code, {});
|
||||||
|
if (result.error) throw result.error;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
external: ['fs', 'buffer', 'path', 'module', 'assert', 'util', 'os', 'crypto'],
|
||||||
|
useStrict: parser === "flow" ? false : true,
|
||||||
|
};
|
||||||
|
|
|
@ -3,8 +3,7 @@
|
||||||
const createError = require("./parser-create-error");
|
const createError = require("./parser-create-error");
|
||||||
|
|
||||||
function parseSelector(selector) {
|
function parseSelector(selector) {
|
||||||
const r = require;
|
const selectorParser = require("postcss-selector-parser");
|
||||||
const selectorParser = r("postcss-selector-parser");
|
|
||||||
let result;
|
let result;
|
||||||
selectorParser(result_ => {
|
selectorParser(result_ => {
|
||||||
result = result_;
|
result = result_;
|
||||||
|
@ -139,16 +138,14 @@ function parseNestedValue(node) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseValue(value) {
|
function parseValue(value) {
|
||||||
const r = require;
|
const valueParser = require("postcss-values-parser");
|
||||||
const valueParser = r("postcss-values-parser");
|
|
||||||
const result = valueParser(value, { loose: true }).parse();
|
const result = valueParser(value, { loose: true }).parse();
|
||||||
const parsedResult = parseNestedValue(result);
|
const parsedResult = parseNestedValue(result);
|
||||||
return addTypePrefix(parsedResult, "value-");
|
return addTypePrefix(parsedResult, "value-");
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseMediaQuery(value) {
|
function parseMediaQuery(value) {
|
||||||
const r = require;
|
const mediaParser = require("postcss-media-query-parser").default;
|
||||||
const mediaParser = r("postcss-media-query-parser").default;
|
|
||||||
const result = addMissingType(mediaParser(value));
|
const result = addMissingType(mediaParser(value));
|
||||||
return addTypePrefix(result, "media-");
|
return addTypePrefix(result, "media-");
|
||||||
}
|
}
|
||||||
|
@ -206,20 +203,21 @@ function parseWithParser(parser, text) {
|
||||||
return parsedResult;
|
return parsedResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function requireParser(isSCSS) {
|
||||||
|
if (isSCSS) {
|
||||||
|
return require("postcss-scss");
|
||||||
|
} else {
|
||||||
|
return require("postcss-less");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function parse(text) {
|
function parse(text) {
|
||||||
const r = require;
|
|
||||||
const isLikelySCSS = !!text.match(/(\w\s*: [^}:]+|#){/);
|
const isLikelySCSS = !!text.match(/(\w\s*: [^}:]+|#){/);
|
||||||
try {
|
try {
|
||||||
return parseWithParser(
|
return parseWithParser(requireParser(isLikelySCSS), text);
|
||||||
r(isLikelySCSS ? "postcss-scss" : "postcss-less"),
|
|
||||||
text
|
|
||||||
);
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
try {
|
try {
|
||||||
return parseWithParser(
|
return parseWithParser(requireParser(!isLikelySCSS), text);
|
||||||
r(isLikelySCSS ? "postcss-less" : "postcss-scss"),
|
|
||||||
text
|
|
||||||
);
|
|
||||||
} catch (e2) {
|
} catch (e2) {
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,8 +24,7 @@ function parse(text) {
|
||||||
function tryParseTypeScript(text, jsx) {
|
function tryParseTypeScript(text, jsx) {
|
||||||
// While we are working on typescript, we are putting it in devDependencies
|
// While we are working on typescript, we are putting it in devDependencies
|
||||||
// so it shouldn't be picked up by static analysis
|
// so it shouldn't be picked up by static analysis
|
||||||
const r = require;
|
const parser = require("typescript-eslint-parser");
|
||||||
const parser = r("typescript-eslint-parser");
|
|
||||||
return parser.parse(text, {
|
return parser.parse(text, {
|
||||||
loc: true,
|
loc: true,
|
||||||
range: true,
|
range: true,
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
const fs = require("fs");
|
const fs = require("fs");
|
||||||
const extname = require("path").extname;
|
const extname = require("path").extname;
|
||||||
const prettier = require("../");
|
const prettier = require("../"); // change to ../dist/ to "test in prod"
|
||||||
const parser = require("../src/parser");
|
const parser = require("../parser");
|
||||||
const massageAST = require("../src/clean-ast.js").massageAST;
|
const massageAST = require("../src/clean-ast.js").massageAST;
|
||||||
|
|
||||||
const AST_COMPARE = process.env["AST_COMPARE"];
|
const AST_COMPARE = process.env["AST_COMPARE"];
|
||||||
|
|
40
yarn.lock
40
yarn.lock
|
@ -541,6 +541,12 @@ combined-stream@^1.0.5, combined-stream@~1.0.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
delayed-stream "~1.0.0"
|
delayed-stream "~1.0.0"
|
||||||
|
|
||||||
|
commander@~2.9.0:
|
||||||
|
version "2.9.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
|
||||||
|
dependencies:
|
||||||
|
graceful-readlink ">= 1.0.0"
|
||||||
|
|
||||||
concat-map@0.0.1:
|
concat-map@0.0.1:
|
||||||
version "0.0.1"
|
version "0.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
||||||
|
@ -1151,6 +1157,10 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2:
|
||||||
version "4.1.11"
|
version "4.1.11"
|
||||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
|
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
|
||||||
|
|
||||||
|
"graceful-readlink@>= 1.0.0":
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
|
||||||
|
|
||||||
growly@^1.3.0:
|
growly@^1.3.0:
|
||||||
version "1.3.0"
|
version "1.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
|
resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
|
||||||
|
@ -1894,6 +1904,12 @@ lru-cache@^4.0.1:
|
||||||
pseudomap "^1.0.1"
|
pseudomap "^1.0.1"
|
||||||
yallist "^2.0.0"
|
yallist "^2.0.0"
|
||||||
|
|
||||||
|
magic-string@^0.15.2:
|
||||||
|
version "0.15.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.15.2.tgz#0681d7388741bbc3addaa65060992624c6c09e9c"
|
||||||
|
dependencies:
|
||||||
|
vlq "^0.2.1"
|
||||||
|
|
||||||
magic-string@^0.16.0:
|
magic-string@^0.16.0:
|
||||||
version "0.16.0"
|
version "0.16.0"
|
||||||
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.16.0.tgz#970ebb0da7193301285fb1aa650f39bdd81eb45a"
|
resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.16.0.tgz#970ebb0da7193301285fb1aa650f39bdd81eb45a"
|
||||||
|
@ -2522,7 +2538,15 @@ rollup-plugin-node-resolve@2.0.0:
|
||||||
builtin-modules "^1.1.0"
|
builtin-modules "^1.1.0"
|
||||||
resolve "^1.1.6"
|
resolve "^1.1.6"
|
||||||
|
|
||||||
rollup-pluginutils@^1.5.1, rollup-pluginutils@^1.5.2:
|
rollup-plugin-replace@1.1.1:
|
||||||
|
version "1.1.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/rollup-plugin-replace/-/rollup-plugin-replace-1.1.1.tgz#396315ded050a6ce43b9518a886a3f60efb1ea33"
|
||||||
|
dependencies:
|
||||||
|
magic-string "^0.15.2"
|
||||||
|
minimatch "^3.0.2"
|
||||||
|
rollup-pluginutils "^1.5.0"
|
||||||
|
|
||||||
|
rollup-pluginutils@^1.5.0, rollup-pluginutils@^1.5.1, rollup-pluginutils@^1.5.2:
|
||||||
version "1.5.2"
|
version "1.5.2"
|
||||||
resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408"
|
resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-1.5.2.tgz#1e156e778f94b7255bfa1b3d0178be8f5c552408"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -2814,13 +2838,6 @@ typedarray@^0.0.6:
|
||||||
version "0.0.6"
|
version "0.0.6"
|
||||||
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
|
||||||
|
|
||||||
"typescript-eslint-parser@git://github.com/eslint/typescript-eslint-parser.git#2d09fb183e36a3b4089509c67cd256cd5f8871b0":
|
|
||||||
version "3.0.0"
|
|
||||||
resolved "git://github.com/eslint/typescript-eslint-parser.git#2d09fb183e36a3b4089509c67cd256cd5f8871b0"
|
|
||||||
dependencies:
|
|
||||||
lodash.unescape "4.0.1"
|
|
||||||
semver "5.3.0"
|
|
||||||
|
|
||||||
"typescript-eslint-parser@git://github.com/eslint/typescript-eslint-parser.git#87445776fce9dbc67139890b18143e767ab19c7d":
|
"typescript-eslint-parser@git://github.com/eslint/typescript-eslint-parser.git#87445776fce9dbc67139890b18143e767ab19c7d":
|
||||||
version "3.0.0"
|
version "3.0.0"
|
||||||
resolved "git://github.com/eslint/typescript-eslint-parser.git#87445776fce9dbc67139890b18143e767ab19c7d"
|
resolved "git://github.com/eslint/typescript-eslint-parser.git#87445776fce9dbc67139890b18143e767ab19c7d"
|
||||||
|
@ -2832,6 +2849,13 @@ typescript@2.3.2:
|
||||||
version "2.3.2"
|
version "2.3.2"
|
||||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.3.2.tgz#f0f045e196f69a72f06b25fd3bd39d01c3ce9984"
|
resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.3.2.tgz#f0f045e196f69a72f06b25fd3bd39d01c3ce9984"
|
||||||
|
|
||||||
|
uglify-es@mishoo/UglifyJS2#harmony:
|
||||||
|
version "3.0.12"
|
||||||
|
resolved "https://codeload.github.com/mishoo/UglifyJS2/tar.gz/e5e0ce0b42307fe7d535376c39caa02d5d823fe2"
|
||||||
|
dependencies:
|
||||||
|
commander "~2.9.0"
|
||||||
|
source-map "~0.5.1"
|
||||||
|
|
||||||
uglify-js@^2.6:
|
uglify-js@^2.6:
|
||||||
version "2.8.27"
|
version "2.8.27"
|
||||||
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.27.tgz#47787f912b0f242e5b984343be8e35e95f694c9c"
|
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.27.tgz#47787f912b0f242e5b984343be8e35e95f694c9c"
|
||||||
|
|
Loading…
Reference in New Issue