Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions packages/core/logger/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
lib
5 changes: 5 additions & 0 deletions packages/core/logger/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// Node 8 supports native async functions - no need to use compiled code!
module.exports =
parseInt(process.versions.node, 10) < 8
? require('./lib/Logger')
: require('./src/Logger');
32 changes: 32 additions & 0 deletions packages/core/logger/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"name": "@parcel/logger",
"version": "1.10.3",
"description": "Blazing fast, zero configuration web application bundler",
"main": "index.js",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/parcel-bundler/parcel.git"
},
"engines": {
"node": ">= 6.0.0"
},
"scripts": {
"test": "cross-env NODE_ENV=test mocha",
"test-ci": "yarn build && yarn test",
"format": "prettier --write \"./{src,bin,test}/**/*.{js,json,md}\"",
"lint": "eslint . && prettier \"./{src,bin,test}/**/*.{js,json,md}\" --list-different",
"build": "babel src -d lib",
"prepublish": "yarn build"
},
"devDependencies": {
"mocha": "^5.2.0",
"sinon": "^5.0.1"
},
"dependencies": {
"chalk": "^2.1.0",
"grapheme-breaker": "^0.3.2",
"ora": "^2.1.0",
"strip-ansi": "^4.0.0"
}
}
8 changes: 8 additions & 0 deletions packages/core/logger/src/.babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"presets": [["@babel/preset-env", {
"targets": {
"node": "6"
}
}]],
"plugins": ["@babel/plugin-transform-runtime"]
}
3 changes: 3 additions & 0 deletions packages/core/logger/src/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"extends": "../../../../.eslintrc.json"
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const chalk = require('chalk');
const readline = require('readline');
const prettyError = require('./utils/prettyError');
const emoji = require('./utils/emoji');
const prettyError = require('./prettyError');
const emoji = require('./emoji');
const {countBreaks} = require('grapheme-breaker');
const stripAnsi = require('strip-ansi');
const ora = require('ora');
Expand All @@ -25,6 +25,7 @@ class Logger {
options && typeof options.color === 'boolean'
? options.color
: chalk.supportsColor;
this.emoji = (options && options.emoji) || emoji;
this.chalk = new chalk.constructor({enabled: this.color});
this.isTest =
options && typeof options.isTest === 'boolean'
Expand Down Expand Up @@ -106,23 +107,27 @@ class Logger {
return;
}

this._writeError(err, emoji.warning, this.chalk.yellow);
this._writeError(err, this.emoji.warning, this.chalk.yellow);
}

error(err) {
if (this.logLevel < 1) {
return;
}

this._writeError(err, emoji.error, this.chalk.red.bold);
this._writeError(err, this.emoji.error, this.chalk.red.bold);
}

success(message) {
this.log(`${emoji.success} ${this.chalk.green.bold(message)}`);
this.log(`${this.emoji.success} ${this.chalk.green.bold(message)}`);
}

formatError(err, opts) {
return prettyError(err, opts);
}

_writeError(err, emoji, color) {
let {message, stack} = prettyError(err, {color: this.color});
let {message, stack} = this.formatError(err, {color: this.color});
this.write(color(`${emoji} ${message}`));
if (stack) {
this.write(stack);
Expand Down Expand Up @@ -177,6 +182,7 @@ class Logger {
}

_log(message) {
// eslint-disable-next-line no-console
console.log(message);
}

Expand Down
8 changes: 8 additions & 0 deletions packages/core/logger/test/.babelrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"presets": [["@babel/preset-env", {
"targets": {
"node": "current"
}
}]],
"plugins": ["@babel/plugin-transform-runtime"]
}
6 changes: 6 additions & 0 deletions packages/core/logger/test/.eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"extends": "../../../../.eslintrc.json",
"env": {
"mocha": true
}
}
2 changes: 2 additions & 0 deletions packages/core/logger/test/mocha.opts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
--require @parcel/babel-register
--exit
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const assert = require('assert');
const prettyError = require('../src/utils/prettyError');
const prettyError = require('../src/prettyError');

const message = 'Error Message!';
const fileName = 'Test.js';
Expand Down
6 changes: 2 additions & 4 deletions packages/core/parcel-bundler/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,6 @@
"filesize": "^3.6.0",
"fswatcher-child": "^1.0.5",
"get-port": "^3.2.0",
"grapheme-breaker": "^0.3.2",
"htmlnano": "^0.1.9",
"is-glob": "^4.0.0",
"is-url": "^1.2.2",
Expand All @@ -54,7 +53,6 @@
"node-forge": "^0.7.1",
"node-libs-browser": "^2.0.0",
"opn": "^5.1.0",
"ora": "^2.1.0",
"postcss": "^6.0.19",
"postcss-value-parser": "^3.3.0",
"posthtml": "^0.11.2",
Expand All @@ -65,13 +63,13 @@
"serialize-to-js": "^1.1.1",
"serve-static": "^1.12.4",
"source-map": "0.6.1",
"strip-ansi": "^4.0.0",
"terser": "^3.7.3",
"toml": "^2.3.3",
"tomlify-j0.4": "^3.0.0",
"v8-compile-cache": "^2.0.0",
"ws": "^5.1.1",
"@parcel/workers": "^1.10.3"
"@parcel/workers": "^1.10.3",
"@parcel/logger": "^1.10.3"
},
"devDependencies": {
"@babel/cli": "^7.0.0",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/parcel-bundler/src/Asset.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const md5 = require('./utils/md5');
const isURL = require('./utils/is-url');
const config = require('./utils/config');
const syncPromise = require('./utils/syncPromise');
const logger = require('./Logger');
const logger = require('@parcel/logger');
const Resolver = require('./Resolver');
const objectHash = require('./utils/objectHash');

Expand Down
2 changes: 1 addition & 1 deletion packages/core/parcel-bundler/src/Bundler.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const FSCache = require('./FSCache');
const HMRServer = require('./HMRServer');
const Server = require('./Server');
const {EventEmitter} = require('events');
const logger = require('./Logger');
const logger = require('@parcel/logger');
const PackagerRegistry = require('./packagers');
const localRequire = require('./utils/localRequire');
const config = require('./utils/config');
Expand Down
2 changes: 1 addition & 1 deletion packages/core/parcel-bundler/src/FSCache.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const path = require('path');
const md5 = require('./utils/md5');
const objectHash = require('./utils/objectHash');
const pkg = require('../package.json');
const logger = require('./Logger');
const logger = require('@parcel/logger');
const {isGlob, glob} = require('./utils/glob');

// These keys can affect the output, so if they differ, the cache should not match
Expand Down
5 changes: 2 additions & 3 deletions packages/core/parcel-bundler/src/HMRServer.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
const http = require('http');
const https = require('https');
const WebSocket = require('ws');
const prettyError = require('./utils/prettyError');
const generateCertificate = require('./utils/generateCertificate');
const getCertificate = require('./utils/getCertificate');
const logger = require('./Logger');
const logger = require('@parcel/logger');

class HMRServer {
async start(options = {}) {
Expand Down Expand Up @@ -49,7 +48,7 @@ class HMRServer {
}

emitError(err) {
let {message, stack} = prettyError(err);
let {message, stack} = logger.formatError(err);

// store the most recent error so we can notify new connections
// and so we can broadcast when the error is resolved
Expand Down
5 changes: 2 additions & 3 deletions packages/core/parcel-bundler/src/Server.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@ const getPort = require('get-port');
const serverErrors = require('./utils/customErrors').serverErrors;
const generateCertificate = require('./utils/generateCertificate');
const getCertificate = require('./utils/getCertificate');
const prettyError = require('./utils/prettyError');
const AnsiToHtml = require('ansi-to-html');
const logger = require('./Logger');
const logger = require('@parcel/logger');
const path = require('path');
const url = require('url');

Expand Down Expand Up @@ -83,7 +82,7 @@ function middleware(bundler) {
if (process.env.NODE_ENV === 'production') {
errorMesssge += '<p><b>Check the console for details.</b></p>';
} else {
const {message, stack} = prettyError(error, {color: true});
const {message, stack} = logger.formatError(error, {color: true});
errorMesssge += `<p><b>${message}</b></p>`;
if (stack) {
errorMesssge += `<div style="background: black; padding: 1rem;">${ansiToHtml.toHtml(
Expand Down
2 changes: 1 addition & 1 deletion packages/core/parcel-bundler/src/assets/JSAsset.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const SourceMap = require('../SourceMap');
const hoist = require('../scope-hoisting/hoist');
const path = require('path');
const fs = require('../utils/fs');
const logger = require('../Logger');
const logger = require('@parcel/logger');

const IMPORT_RE = /\b(?:import\b|export\b|require\s*\()/;
const ENV_RE = /\b(?:process\.env)\b/;
Expand Down
2 changes: 1 addition & 1 deletion packages/core/parcel-bundler/src/assets/JSONLDAsset.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const urlJoin = require('../utils/urlJoin');
const isURL = require('../utils/is-url');
const Asset = require('../Asset');
const logger = require('../Logger');
const logger = require('@parcel/logger');

// A list of all attributes in a schema that may produce a dependency
// Based on https://schema.org/ImageObject
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const semver = require('semver');
const logger = require('../../Logger');
const logger = require('@parcel/logger');
const path = require('path');
const localRequire = require('../../utils/localRequire');
const installPackage = require('../../utils/installPackage');
Expand Down
5 changes: 2 additions & 3 deletions packages/core/parcel-bundler/src/utils/bundleReport.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
const path = require('path');
const prettifyTime = require('./prettifyTime');
const logger = require('../Logger');
const emoji = require('./emoji');
const logger = require('@parcel/logger');
const filesize = require('filesize');

const LARGE_BUNDLE_SIZE = 1024 * 1024;
Expand Down Expand Up @@ -83,7 +82,7 @@ function* iterateBundles(bundle) {
function prettifySize(size, isLarge) {
let res = filesize(size);
if (isLarge) {
return logger.chalk.yellow(emoji.warning + ' ' + res);
return logger.chalk.yellow(logger.emoji.warning + ' ' + res);
}
return logger.chalk.magenta(res);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ const forge = require('node-forge');
const fs = require('fs');
const mkdirp = require('mkdirp');
const path = require('path');
const logger = require('../Logger');
const logger = require('@parcel/logger');

function generateCertificate(options = {}) {
const privateKeyPath = path.join(options.cacheDir, 'private.pem');
Expand Down
2 changes: 1 addition & 1 deletion packages/core/parcel-bundler/src/utils/installPackage.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ const config = require('./config');
const promisify = require('./promisify');
const resolve = promisify(require('resolve'));
const commandExists = require('command-exists');
const logger = require('../Logger');
const logger = require('@parcel/logger');
const pipeSpawn = require('./pipeSpawn');
const PromiseQueue = require('./PromiseQueue');
const path = require('path');
Expand Down
2 changes: 1 addition & 1 deletion packages/core/parcel-bundler/src/utils/pipeSpawn.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const spawn = require('cross-spawn');
const logger = require('../Logger');
const logger = require('@parcel/logger');

function pipeSpawn(cmd, params, opts) {
const cp = spawn(
Expand Down
2 changes: 1 addition & 1 deletion packages/core/parcel-bundler/src/visitors/fs.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ const t = require('@babel/types');
const Path = require('path');
const fs = require('fs');
const template = require('@babel/template').default;
const logger = require('../Logger');
const logger = require('@parcel/logger');

const bufferTemplate = template('Buffer(CONTENT, ENC)');

Expand Down
Loading