Skip to content

[EXPERIMENTAL] Prettier! - #1629

Closed
rreusser wants to merge 1 commit into
masterfrom
prettier
Closed

[EXPERIMENTAL] Prettier!#1629
rreusser wants to merge 1 commit into
masterfrom
prettier

Conversation

@rreusser

@rreusserrreusser commented Apr 26, 2017

Copy link
Copy Markdown
Contributor

Just a quick test with prettier. Adds the following features:

  • replace lint with prettier-check (to assert PRs satisfy prettier formatting)
  • replace lint-fix with prettier --write (to apply formatting)
  • husky + lint-staged to automatically apply prettier formatting to staged files when committing

Except for having to read the code (not to be taken for granted without consideration), this would hopefully make prettier zero-overhead without any effort in transitioning (as opposed to standard which will require a lot of manual formatting for what it's unable to fix.)

Note: current failure seems to be regex-based metadata-stripping browserify transform. Would need a couple tweaks to recognize line breaks.

@rreusserrreusser mentioned this pull request Apr 26, 2017
@etpinard

Copy link
Copy Markdown
Contributor

husky + lint-staged to automatically apply prettier formatting to staged files when committing

Too magical for my taste. But yeah, nice try.

@rreusser

Copy link
Copy Markdown
ContributorAuthor

Agreed on the magic, but grep shows at least 260 commit messages containing the word "lint". I forget sooo often.

@etpinard

Copy link
Copy Markdown
Contributor

I forget sooo often.

Nothing stops you from setting this up locally 🍻

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Yeah, I tried once but didn't get the exit if details correct so that it mostly just didn't work. (should be real simple though, right?) So I elected to just deal with forgetting sometimes.

Comment threadlib/index-basic.js
require('./bar'),
require('./pie')
]);
Plotly.register([require('./bar'), require('./pie')]);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is is possible to configure prettier to respect vertical formatting?

I see the need to split long lines, but joining short one into a single line doesn't help here.

require('./pie'),
require('./contour'),
require('./scatterternary')
require('./bar'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to configure prettier to use a 4-space indent?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

require('./histogram2dcontour'),
require('./pie'),
require('./contour'),
require('./scatterternary'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 for comma-ending last elements (neater diffs)

Comment threadpackage.json
"build": "npm run preprocess && npm run bundle && npm run header && npm run stats",
"cibuild": "npm run preprocess && node tasks/cibundle.js",
"watch": "node tasks/watch.js",
"lint": "eslint --version && eslint .",

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is prettier able to detect unused variables and variables used out of scope?

If not, I think it's better to keep using eslint for linting.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Asking on the gitter channel just in case since I wasn't able to find a better answer, but I think that alone might be enough for me. Seems some people run it through both, but that seems a bit annoying (though not necessarily slow if you prettier + eslint only staged files).


var borderWidth = coerce('borderwidth');
var showArrow = coerce('showarrow');
if (!(visible || clickToShow)) return annOut;

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉 Dammit! Now that I got to train myself not to write a space after if!

@rreusserrreusserApr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The golden rule of conventions: Convention <insert convention you use here> is aesthetically superior to <insert proposed alteration here>. 😉

coerce('width');
coerce('align');
var borderColor = coerce('bordercolor'),
borderOpacity = Color.opacity(borderColor);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(aesthetic comment) 4-space indents make this kind of variable declaration look neater.

ppadplus: ann._ypadplus,
ppadminus: ann._ypadminus,
});
} else {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉

var toLog = (newType === 'log') && (ax.type === 'linear'),
fromLog = (newType === 'linear') && (ax.type === 'log');
var toLog = newType === 'log' && ax.type === 'linear',
fromLog = newType === 'linear' && ax.type === 'log';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it possible to disable this kind of change?

Using unnecessary parenthesis to improve readability is a good thing.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there are some controls, but not sure how granular you can get.

if (style > 5) rot = 0; // don't rotate square or circle
d3
.select(el.parentElement)
.append('path')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one is going to be tricky.

I'd be surprised if prettier respects d3 half-indenting conventions.

👍 to get rid of half-indents.
👎 for not respecting vertical formatting

name: 'annotations',
moduleType: 'component',
name: 'annotations',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting, here prettier does respect vertical formatting and keeps the empty line.

'#7f7f7f', // middle gray
'#bcbd22', // curry yellow-green
'#17becf' // blue-teal
'#1f77b4', // muted blue

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no double-space before inline comment?

var isNumeric = require('fast-isnumeric');

var color = module.exports = {};
var color = (module.exports = {});

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

neat!

}
if (!container || typeof container !== 'object') return;

var keys = Object.keys(container), i, j, key, val;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

another example of not respecting vertical formatting.

@n-riesco

Copy link
Copy Markdown
Contributor

Not surprisingly there are good and bad things about prettier's changes.

I'd like to keep eslint for linting though. I find very useful that it reports possible errors (e.g. unused variables and variables scopes).

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Thanks for the good feedback @n-riesco. I'm inclined to agree. I think I'll close this for now as going maybe a little too far, though I'll hold out hope that it becomes the future of linting. 😄 The main thing that sends me in cold sweats for standard is the requirement of manually reworking hundreds of variable declarations and similar things that the auto-formatter isn't able to fix automatically.

@alexcjohnsonalexcjohnson mentioned this pull request Apr 29, 2017
@etpinard
etpinard deleted the prettier branch May 16, 2017 19:23
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rreusser@etpinard@n-riesco
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
[EXPERIMENTAL] Prettier! by rreusser · Pull Request #1629 · plotly/plotly.js · GitHub
Skip to content

[EXPERIMENTAL] Prettier! - #1629

Closed
rreusser wants to merge 1 commit into
masterfrom
prettier
Closed

[EXPERIMENTAL] Prettier!#1629
rreusser wants to merge 1 commit into
masterfrom
prettier

Conversation

@rreusser

@rreusserrreusser commented Apr 26, 2017

Copy link
Copy Markdown
Contributor

Just a quick test with prettier. Adds the following features:

  • replace lint with prettier-check (to assert PRs satisfy prettier formatting)
  • replace lint-fix with prettier --write (to apply formatting)
  • husky + lint-staged to automatically apply prettier formatting to staged files when committing

Except for having to read the code (not to be taken for granted without consideration), this would hopefully make prettier zero-overhead without any effort in transitioning (as opposed to standard which will require a lot of manual formatting for what it's unable to fix.)

Note: current failure seems to be regex-based metadata-stripping browserify transform. Would need a couple tweaks to recognize line breaks.

@rreusserrreusser mentioned this pull request Apr 26, 2017
@etpinard

Copy link
Copy Markdown
Contributor

husky + lint-staged to automatically apply prettier formatting to staged files when committing

Too magical for my taste. But yeah, nice try.

@rreusser

Copy link
Copy Markdown
ContributorAuthor

Agreed on the magic, but grep shows at least 260 commit messages containing the word "lint". I forget sooo often.

@etpinard

Copy link
Copy Markdown
Contributor

I forget sooo often.

Nothing stops you from setting this up locally 🍻

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Yeah, I tried once but didn't get the exit if details correct so that it mostly just didn't work. (should be real simple though, right?) So I elected to just deal with forgetting sometimes.

Comment threadlib/index-basic.js
require('./bar'),
require('./pie')
]);
Plotly.register([require('./bar'), require('./pie')]);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is is possible to configure prettier to respect vertical formatting?

I see the need to split long lines, but joining short one into a single line doesn't help here.

require('./pie'),
require('./contour'),
require('./scatterternary')
require('./bar'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to configure prettier to use a 4-space indent?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

require('./histogram2dcontour'),
require('./pie'),
require('./contour'),
require('./scatterternary'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 for comma-ending last elements (neater diffs)

Comment threadpackage.json
"build": "npm run preprocess && npm run bundle && npm run header && npm run stats",
"cibuild": "npm run preprocess && node tasks/cibundle.js",
"watch": "node tasks/watch.js",
"lint": "eslint --version && eslint .",

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is prettier able to detect unused variables and variables used out of scope?

If not, I think it's better to keep using eslint for linting.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Asking on the gitter channel just in case since I wasn't able to find a better answer, but I think that alone might be enough for me. Seems some people run it through both, but that seems a bit annoying (though not necessarily slow if you prettier + eslint only staged files).


var borderWidth = coerce('borderwidth');
var showArrow = coerce('showarrow');
if (!(visible || clickToShow)) return annOut;

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉 Dammit! Now that I got to train myself not to write a space after if!

@rreusserrreusserApr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The golden rule of conventions: Convention <insert convention you use here> is aesthetically superior to <insert proposed alteration here>. 😉

coerce('width');
coerce('align');
var borderColor = coerce('bordercolor'),
borderOpacity = Color.opacity(borderColor);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(aesthetic comment) 4-space indents make this kind of variable declaration look neater.

ppadplus: ann._ypadplus,
ppadminus: ann._ypadminus,
});
} else {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉

var toLog = (newType === 'log') && (ax.type === 'linear'),
fromLog = (newType === 'linear') && (ax.type === 'log');
var toLog = newType === 'log' && ax.type === 'linear',
fromLog = newType === 'linear' && ax.type === 'log';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it possible to disable this kind of change?

Using unnecessary parenthesis to improve readability is a good thing.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there are some controls, but not sure how granular you can get.

if (style > 5) rot = 0; // don't rotate square or circle
d3
.select(el.parentElement)
.append('path')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one is going to be tricky.

I'd be surprised if prettier respects d3 half-indenting conventions.

👍 to get rid of half-indents.
👎 for not respecting vertical formatting

name: 'annotations',
moduleType: 'component',
name: 'annotations',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting, here prettier does respect vertical formatting and keeps the empty line.

'#7f7f7f', // middle gray
'#bcbd22', // curry yellow-green
'#17becf' // blue-teal
'#1f77b4', // muted blue

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no double-space before inline comment?

var isNumeric = require('fast-isnumeric');

var color = module.exports = {};
var color = (module.exports = {});

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

neat!

}
if (!container || typeof container !== 'object') return;

var keys = Object.keys(container), i, j, key, val;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

another example of not respecting vertical formatting.

@n-riesco

Copy link
Copy Markdown
Contributor

Not surprisingly there are good and bad things about prettier's changes.

I'd like to keep eslint for linting though. I find very useful that it reports possible errors (e.g. unused variables and variables scopes).

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Thanks for the good feedback @n-riesco. I'm inclined to agree. I think I'll close this for now as going maybe a little too far, though I'll hold out hope that it becomes the future of linting. 😄 The main thing that sends me in cold sweats for standard is the requirement of manually reworking hundreds of variable declarations and similar things that the auto-formatter isn't able to fix automatically.

@alexcjohnsonalexcjohnson mentioned this pull request Apr 29, 2017
@etpinard
etpinard deleted the prettier branch May 16, 2017 19:23
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rreusser@etpinard@n-riesco
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [EXPERIMENTAL] Prettier! by rreusser · Pull Request #1629 · plotly/plotly.js · GitHub
Skip to content

[EXPERIMENTAL] Prettier! - #1629

Closed
rreusser wants to merge 1 commit into
masterfrom
prettier
Closed

[EXPERIMENTAL] Prettier!#1629
rreusser wants to merge 1 commit into
masterfrom
prettier

Conversation

@rreusser

@rreusserrreusser commented Apr 26, 2017

Copy link
Copy Markdown
Contributor

Just a quick test with prettier. Adds the following features:

  • replace lint with prettier-check (to assert PRs satisfy prettier formatting)
  • replace lint-fix with prettier --write (to apply formatting)
  • husky + lint-staged to automatically apply prettier formatting to staged files when committing

Except for having to read the code (not to be taken for granted without consideration), this would hopefully make prettier zero-overhead without any effort in transitioning (as opposed to standard which will require a lot of manual formatting for what it's unable to fix.)

Note: current failure seems to be regex-based metadata-stripping browserify transform. Would need a couple tweaks to recognize line breaks.

@rreusserrreusser mentioned this pull request Apr 26, 2017
@etpinard

Copy link
Copy Markdown
Contributor

husky + lint-staged to automatically apply prettier formatting to staged files when committing

Too magical for my taste. But yeah, nice try.

@rreusser

Copy link
Copy Markdown
ContributorAuthor

Agreed on the magic, but grep shows at least 260 commit messages containing the word "lint". I forget sooo often.

@etpinard

Copy link
Copy Markdown
Contributor

I forget sooo often.

Nothing stops you from setting this up locally 🍻

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Yeah, I tried once but didn't get the exit if details correct so that it mostly just didn't work. (should be real simple though, right?) So I elected to just deal with forgetting sometimes.

Comment threadlib/index-basic.js
require('./bar'),
require('./pie')
]);
Plotly.register([require('./bar'), require('./pie')]);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is is possible to configure prettier to respect vertical formatting?

I see the need to split long lines, but joining short one into a single line doesn't help here.

require('./pie'),
require('./contour'),
require('./scatterternary')
require('./bar'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to configure prettier to use a 4-space indent?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

require('./histogram2dcontour'),
require('./pie'),
require('./contour'),
require('./scatterternary'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 for comma-ending last elements (neater diffs)

Comment threadpackage.json
"build": "npm run preprocess && npm run bundle && npm run header && npm run stats",
"cibuild": "npm run preprocess && node tasks/cibundle.js",
"watch": "node tasks/watch.js",
"lint": "eslint --version && eslint .",

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is prettier able to detect unused variables and variables used out of scope?

If not, I think it's better to keep using eslint for linting.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Asking on the gitter channel just in case since I wasn't able to find a better answer, but I think that alone might be enough for me. Seems some people run it through both, but that seems a bit annoying (though not necessarily slow if you prettier + eslint only staged files).


var borderWidth = coerce('borderwidth');
var showArrow = coerce('showarrow');
if (!(visible || clickToShow)) return annOut;

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉 Dammit! Now that I got to train myself not to write a space after if!

@rreusserrreusserApr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The golden rule of conventions: Convention <insert convention you use here> is aesthetically superior to <insert proposed alteration here>. 😉

coerce('width');
coerce('align');
var borderColor = coerce('bordercolor'),
borderOpacity = Color.opacity(borderColor);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(aesthetic comment) 4-space indents make this kind of variable declaration look neater.

ppadplus: ann._ypadplus,
ppadminus: ann._ypadminus,
});
} else {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉

var toLog = (newType === 'log') && (ax.type === 'linear'),
fromLog = (newType === 'linear') && (ax.type === 'log');
var toLog = newType === 'log' && ax.type === 'linear',
fromLog = newType === 'linear' && ax.type === 'log';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it possible to disable this kind of change?

Using unnecessary parenthesis to improve readability is a good thing.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there are some controls, but not sure how granular you can get.

if (style > 5) rot = 0; // don't rotate square or circle
d3
.select(el.parentElement)
.append('path')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one is going to be tricky.

I'd be surprised if prettier respects d3 half-indenting conventions.

👍 to get rid of half-indents.
👎 for not respecting vertical formatting

name: 'annotations',
moduleType: 'component',
name: 'annotations',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting, here prettier does respect vertical formatting and keeps the empty line.

'#7f7f7f', // middle gray
'#bcbd22', // curry yellow-green
'#17becf' // blue-teal
'#1f77b4', // muted blue

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no double-space before inline comment?

var isNumeric = require('fast-isnumeric');

var color = module.exports = {};
var color = (module.exports = {});

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

neat!

}
if (!container || typeof container !== 'object') return;

var keys = Object.keys(container), i, j, key, val;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

another example of not respecting vertical formatting.

@n-riesco

Copy link
Copy Markdown
Contributor

Not surprisingly there are good and bad things about prettier's changes.

I'd like to keep eslint for linting though. I find very useful that it reports possible errors (e.g. unused variables and variables scopes).

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Thanks for the good feedback @n-riesco. I'm inclined to agree. I think I'll close this for now as going maybe a little too far, though I'll hold out hope that it becomes the future of linting. 😄 The main thing that sends me in cold sweats for standard is the requirement of manually reworking hundreds of variable declarations and similar things that the auto-formatter isn't able to fix automatically.

@alexcjohnsonalexcjohnson mentioned this pull request Apr 29, 2017
@etpinard
etpinard deleted the prettier branch May 16, 2017 19:23
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rreusser@etpinard@n-riesco
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [EXPERIMENTAL] Prettier! by rreusser · Pull Request #1629 · plotly/plotly.js · GitHub
Skip to content

[EXPERIMENTAL] Prettier! - #1629

Closed
rreusser wants to merge 1 commit into
masterfrom
prettier
Closed

[EXPERIMENTAL] Prettier!#1629
rreusser wants to merge 1 commit into
masterfrom
prettier

Conversation

@rreusser

@rreusserrreusser commented Apr 26, 2017

Copy link
Copy Markdown
Contributor

Just a quick test with prettier. Adds the following features:

  • replace lint with prettier-check (to assert PRs satisfy prettier formatting)
  • replace lint-fix with prettier --write (to apply formatting)
  • husky + lint-staged to automatically apply prettier formatting to staged files when committing

Except for having to read the code (not to be taken for granted without consideration), this would hopefully make prettier zero-overhead without any effort in transitioning (as opposed to standard which will require a lot of manual formatting for what it's unable to fix.)

Note: current failure seems to be regex-based metadata-stripping browserify transform. Would need a couple tweaks to recognize line breaks.

@rreusserrreusser mentioned this pull request Apr 26, 2017
@etpinard

Copy link
Copy Markdown
Contributor

husky + lint-staged to automatically apply prettier formatting to staged files when committing

Too magical for my taste. But yeah, nice try.

@rreusser

Copy link
Copy Markdown
ContributorAuthor

Agreed on the magic, but grep shows at least 260 commit messages containing the word "lint". I forget sooo often.

@etpinard

Copy link
Copy Markdown
Contributor

I forget sooo often.

Nothing stops you from setting this up locally 🍻

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Yeah, I tried once but didn't get the exit if details correct so that it mostly just didn't work. (should be real simple though, right?) So I elected to just deal with forgetting sometimes.

Comment threadlib/index-basic.js
require('./bar'),
require('./pie')
]);
Plotly.register([require('./bar'), require('./pie')]);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is is possible to configure prettier to respect vertical formatting?

I see the need to split long lines, but joining short one into a single line doesn't help here.

require('./pie'),
require('./contour'),
require('./scatterternary')
require('./bar'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to configure prettier to use a 4-space indent?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

require('./histogram2dcontour'),
require('./pie'),
require('./contour'),
require('./scatterternary'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 for comma-ending last elements (neater diffs)

Comment threadpackage.json
"build": "npm run preprocess && npm run bundle && npm run header && npm run stats",
"cibuild": "npm run preprocess && node tasks/cibundle.js",
"watch": "node tasks/watch.js",
"lint": "eslint --version && eslint .",

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is prettier able to detect unused variables and variables used out of scope?

If not, I think it's better to keep using eslint for linting.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Asking on the gitter channel just in case since I wasn't able to find a better answer, but I think that alone might be enough for me. Seems some people run it through both, but that seems a bit annoying (though not necessarily slow if you prettier + eslint only staged files).


var borderWidth = coerce('borderwidth');
var showArrow = coerce('showarrow');
if (!(visible || clickToShow)) return annOut;

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉 Dammit! Now that I got to train myself not to write a space after if!

@rreusserrreusserApr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The golden rule of conventions: Convention <insert convention you use here> is aesthetically superior to <insert proposed alteration here>. 😉

coerce('width');
coerce('align');
var borderColor = coerce('bordercolor'),
borderOpacity = Color.opacity(borderColor);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(aesthetic comment) 4-space indents make this kind of variable declaration look neater.

ppadplus: ann._ypadplus,
ppadminus: ann._ypadminus,
});
} else {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉

var toLog = (newType === 'log') && (ax.type === 'linear'),
fromLog = (newType === 'linear') && (ax.type === 'log');
var toLog = newType === 'log' && ax.type === 'linear',
fromLog = newType === 'linear' && ax.type === 'log';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it possible to disable this kind of change?

Using unnecessary parenthesis to improve readability is a good thing.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there are some controls, but not sure how granular you can get.

if (style > 5) rot = 0; // don't rotate square or circle
d3
.select(el.parentElement)
.append('path')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one is going to be tricky.

I'd be surprised if prettier respects d3 half-indenting conventions.

👍 to get rid of half-indents.
👎 for not respecting vertical formatting

name: 'annotations',
moduleType: 'component',
name: 'annotations',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting, here prettier does respect vertical formatting and keeps the empty line.

'#7f7f7f', // middle gray
'#bcbd22', // curry yellow-green
'#17becf' // blue-teal
'#1f77b4', // muted blue

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no double-space before inline comment?

var isNumeric = require('fast-isnumeric');

var color = module.exports = {};
var color = (module.exports = {});

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

neat!

}
if (!container || typeof container !== 'object') return;

var keys = Object.keys(container), i, j, key, val;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

another example of not respecting vertical formatting.

@n-riesco

Copy link
Copy Markdown
Contributor

Not surprisingly there are good and bad things about prettier's changes.

I'd like to keep eslint for linting though. I find very useful that it reports possible errors (e.g. unused variables and variables scopes).

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Thanks for the good feedback @n-riesco. I'm inclined to agree. I think I'll close this for now as going maybe a little too far, though I'll hold out hope that it becomes the future of linting. 😄 The main thing that sends me in cold sweats for standard is the requirement of manually reworking hundreds of variable declarations and similar things that the auto-formatter isn't able to fix automatically.

@alexcjohnsonalexcjohnson mentioned this pull request Apr 29, 2017
@etpinard
etpinard deleted the prettier branch May 16, 2017 19:23
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rreusser@etpinard@n-riesco
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' [EXPERIMENTAL] Prettier! by rreusser · Pull Request #1629 · plotly/plotly.js · GitHub
Skip to content

[EXPERIMENTAL] Prettier! - #1629

Closed
rreusser wants to merge 1 commit into
masterfrom
prettier
Closed

[EXPERIMENTAL] Prettier!#1629
rreusser wants to merge 1 commit into
masterfrom
prettier

Conversation

@rreusser

@rreusserrreusser commented Apr 26, 2017

Copy link
Copy Markdown
Contributor

Just a quick test with prettier. Adds the following features:

  • replace lint with prettier-check (to assert PRs satisfy prettier formatting)
  • replace lint-fix with prettier --write (to apply formatting)
  • husky + lint-staged to automatically apply prettier formatting to staged files when committing

Except for having to read the code (not to be taken for granted without consideration), this would hopefully make prettier zero-overhead without any effort in transitioning (as opposed to standard which will require a lot of manual formatting for what it's unable to fix.)

Note: current failure seems to be regex-based metadata-stripping browserify transform. Would need a couple tweaks to recognize line breaks.

@rreusserrreusser mentioned this pull request Apr 26, 2017
@etpinard

Copy link
Copy Markdown
Contributor

husky + lint-staged to automatically apply prettier formatting to staged files when committing

Too magical for my taste. But yeah, nice try.

@rreusser

Copy link
Copy Markdown
ContributorAuthor

Agreed on the magic, but grep shows at least 260 commit messages containing the word "lint". I forget sooo often.

@etpinard

Copy link
Copy Markdown
Contributor

I forget sooo often.

Nothing stops you from setting this up locally 🍻

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Yeah, I tried once but didn't get the exit if details correct so that it mostly just didn't work. (should be real simple though, right?) So I elected to just deal with forgetting sometimes.

Comment threadlib/index-basic.js
require('./bar'),
require('./pie')
]);
Plotly.register([require('./bar'), require('./pie')]);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is is possible to configure prettier to respect vertical formatting?

I see the need to split long lines, but joining short one into a single line doesn't help here.

require('./pie'),
require('./contour'),
require('./scatterternary')
require('./bar'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to configure prettier to use a 4-space indent?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

require('./histogram2dcontour'),
require('./pie'),
require('./contour'),
require('./scatterternary'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 for comma-ending last elements (neater diffs)

Comment threadpackage.json
"build": "npm run preprocess && npm run bundle && npm run header && npm run stats",
"cibuild": "npm run preprocess && node tasks/cibundle.js",
"watch": "node tasks/watch.js",
"lint": "eslint --version && eslint .",

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is prettier able to detect unused variables and variables used out of scope?

If not, I think it's better to keep using eslint for linting.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Asking on the gitter channel just in case since I wasn't able to find a better answer, but I think that alone might be enough for me. Seems some people run it through both, but that seems a bit annoying (though not necessarily slow if you prettier + eslint only staged files).


var borderWidth = coerce('borderwidth');
var showArrow = coerce('showarrow');
if (!(visible || clickToShow)) return annOut;

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉 Dammit! Now that I got to train myself not to write a space after if!

@rreusserrreusserApr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The golden rule of conventions: Convention <insert convention you use here> is aesthetically superior to <insert proposed alteration here>. 😉

coerce('width');
coerce('align');
var borderColor = coerce('bordercolor'),
borderOpacity = Color.opacity(borderColor);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(aesthetic comment) 4-space indents make this kind of variable declaration look neater.

ppadplus: ann._ypadplus,
ppadminus: ann._ypadminus,
});
} else {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉

var toLog = (newType === 'log') && (ax.type === 'linear'),
fromLog = (newType === 'linear') && (ax.type === 'log');
var toLog = newType === 'log' && ax.type === 'linear',
fromLog = newType === 'linear' && ax.type === 'log';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it possible to disable this kind of change?

Using unnecessary parenthesis to improve readability is a good thing.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there are some controls, but not sure how granular you can get.

if (style > 5) rot = 0; // don't rotate square or circle
d3
.select(el.parentElement)
.append('path')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one is going to be tricky.

I'd be surprised if prettier respects d3 half-indenting conventions.

👍 to get rid of half-indents.
👎 for not respecting vertical formatting

name: 'annotations',
moduleType: 'component',
name: 'annotations',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting, here prettier does respect vertical formatting and keeps the empty line.

'#7f7f7f', // middle gray
'#bcbd22', // curry yellow-green
'#17becf' // blue-teal
'#1f77b4', // muted blue

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no double-space before inline comment?

var isNumeric = require('fast-isnumeric');

var color = module.exports = {};
var color = (module.exports = {});

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

neat!

}
if (!container || typeof container !== 'object') return;

var keys = Object.keys(container), i, j, key, val;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

another example of not respecting vertical formatting.

@n-riesco

Copy link
Copy Markdown
Contributor

Not surprisingly there are good and bad things about prettier's changes.

I'd like to keep eslint for linting though. I find very useful that it reports possible errors (e.g. unused variables and variables scopes).

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Thanks for the good feedback @n-riesco. I'm inclined to agree. I think I'll close this for now as going maybe a little too far, though I'll hold out hope that it becomes the future of linting. 😄 The main thing that sends me in cold sweats for standard is the requirement of manually reworking hundreds of variable declarations and similar things that the auto-formatter isn't able to fix automatically.

@alexcjohnsonalexcjohnson mentioned this pull request Apr 29, 2017
@etpinard
etpinard deleted the prettier branch May 16, 2017 19:23
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rreusser@etpinard@n-riesco
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [EXPERIMENTAL] Prettier! by rreusser · Pull Request #1629 · plotly/plotly.js · GitHub
Skip to content

[EXPERIMENTAL] Prettier! - #1629

Closed
rreusser wants to merge 1 commit into
masterfrom
prettier
Closed

[EXPERIMENTAL] Prettier!#1629
rreusser wants to merge 1 commit into
masterfrom
prettier

Conversation

@rreusser

@rreusserrreusser commented Apr 26, 2017

Copy link
Copy Markdown
Contributor

Just a quick test with prettier. Adds the following features:

  • replace lint with prettier-check (to assert PRs satisfy prettier formatting)
  • replace lint-fix with prettier --write (to apply formatting)
  • husky + lint-staged to automatically apply prettier formatting to staged files when committing

Except for having to read the code (not to be taken for granted without consideration), this would hopefully make prettier zero-overhead without any effort in transitioning (as opposed to standard which will require a lot of manual formatting for what it's unable to fix.)

Note: current failure seems to be regex-based metadata-stripping browserify transform. Would need a couple tweaks to recognize line breaks.

@rreusserrreusser mentioned this pull request Apr 26, 2017
@etpinard

Copy link
Copy Markdown
Contributor

husky + lint-staged to automatically apply prettier formatting to staged files when committing

Too magical for my taste. But yeah, nice try.

@rreusser

Copy link
Copy Markdown
ContributorAuthor

Agreed on the magic, but grep shows at least 260 commit messages containing the word "lint". I forget sooo often.

@etpinard

Copy link
Copy Markdown
Contributor

I forget sooo often.

Nothing stops you from setting this up locally 🍻

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Yeah, I tried once but didn't get the exit if details correct so that it mostly just didn't work. (should be real simple though, right?) So I elected to just deal with forgetting sometimes.

Comment threadlib/index-basic.js
require('./bar'),
require('./pie')
]);
Plotly.register([require('./bar'), require('./pie')]);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is is possible to configure prettier to respect vertical formatting?

I see the need to split long lines, but joining short one into a single line doesn't help here.

require('./pie'),
require('./contour'),
require('./scatterternary')
require('./bar'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to configure prettier to use a 4-space indent?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

require('./histogram2dcontour'),
require('./pie'),
require('./contour'),
require('./scatterternary'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 for comma-ending last elements (neater diffs)

Comment threadpackage.json
"build": "npm run preprocess && npm run bundle && npm run header && npm run stats",
"cibuild": "npm run preprocess && node tasks/cibundle.js",
"watch": "node tasks/watch.js",
"lint": "eslint --version && eslint .",

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is prettier able to detect unused variables and variables used out of scope?

If not, I think it's better to keep using eslint for linting.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Asking on the gitter channel just in case since I wasn't able to find a better answer, but I think that alone might be enough for me. Seems some people run it through both, but that seems a bit annoying (though not necessarily slow if you prettier + eslint only staged files).


var borderWidth = coerce('borderwidth');
var showArrow = coerce('showarrow');
if (!(visible || clickToShow)) return annOut;

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉 Dammit! Now that I got to train myself not to write a space after if!

@rreusserrreusserApr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The golden rule of conventions: Convention <insert convention you use here> is aesthetically superior to <insert proposed alteration here>. 😉

coerce('width');
coerce('align');
var borderColor = coerce('bordercolor'),
borderOpacity = Color.opacity(borderColor);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(aesthetic comment) 4-space indents make this kind of variable declaration look neater.

ppadplus: ann._ypadplus,
ppadminus: ann._ypadminus,
});
} else {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉

var toLog = (newType === 'log') && (ax.type === 'linear'),
fromLog = (newType === 'linear') && (ax.type === 'log');
var toLog = newType === 'log' && ax.type === 'linear',
fromLog = newType === 'linear' && ax.type === 'log';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it possible to disable this kind of change?

Using unnecessary parenthesis to improve readability is a good thing.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there are some controls, but not sure how granular you can get.

if (style > 5) rot = 0; // don't rotate square or circle
d3
.select(el.parentElement)
.append('path')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one is going to be tricky.

I'd be surprised if prettier respects d3 half-indenting conventions.

👍 to get rid of half-indents.
👎 for not respecting vertical formatting

name: 'annotations',
moduleType: 'component',
name: 'annotations',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting, here prettier does respect vertical formatting and keeps the empty line.

'#7f7f7f', // middle gray
'#bcbd22', // curry yellow-green
'#17becf' // blue-teal
'#1f77b4', // muted blue

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no double-space before inline comment?

var isNumeric = require('fast-isnumeric');

var color = module.exports = {};
var color = (module.exports = {});

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

neat!

}
if (!container || typeof container !== 'object') return;

var keys = Object.keys(container), i, j, key, val;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

another example of not respecting vertical formatting.

@n-riesco

Copy link
Copy Markdown
Contributor

Not surprisingly there are good and bad things about prettier's changes.

I'd like to keep eslint for linting though. I find very useful that it reports possible errors (e.g. unused variables and variables scopes).

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Thanks for the good feedback @n-riesco. I'm inclined to agree. I think I'll close this for now as going maybe a little too far, though I'll hold out hope that it becomes the future of linting. 😄 The main thing that sends me in cold sweats for standard is the requirement of manually reworking hundreds of variable declarations and similar things that the auto-formatter isn't able to fix automatically.

@alexcjohnsonalexcjohnson mentioned this pull request Apr 29, 2017
@etpinard
etpinard deleted the prettier branch May 16, 2017 19:23
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rreusser@etpinard@n-riesco
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' [EXPERIMENTAL] Prettier! by rreusser · Pull Request #1629 · plotly/plotly.js · GitHub
Skip to content

[EXPERIMENTAL] Prettier! - #1629

Closed
rreusser wants to merge 1 commit into
masterfrom
prettier
Closed

[EXPERIMENTAL] Prettier!#1629
rreusser wants to merge 1 commit into
masterfrom
prettier

Conversation

@rreusser

@rreusserrreusser commented Apr 26, 2017

Copy link
Copy Markdown
Contributor

Just a quick test with prettier. Adds the following features:

  • replace lint with prettier-check (to assert PRs satisfy prettier formatting)
  • replace lint-fix with prettier --write (to apply formatting)
  • husky + lint-staged to automatically apply prettier formatting to staged files when committing

Except for having to read the code (not to be taken for granted without consideration), this would hopefully make prettier zero-overhead without any effort in transitioning (as opposed to standard which will require a lot of manual formatting for what it's unable to fix.)

Note: current failure seems to be regex-based metadata-stripping browserify transform. Would need a couple tweaks to recognize line breaks.

@rreusserrreusser mentioned this pull request Apr 26, 2017
@etpinard

Copy link
Copy Markdown
Contributor

husky + lint-staged to automatically apply prettier formatting to staged files when committing

Too magical for my taste. But yeah, nice try.

@rreusser

Copy link
Copy Markdown
ContributorAuthor

Agreed on the magic, but grep shows at least 260 commit messages containing the word "lint". I forget sooo often.

@etpinard

Copy link
Copy Markdown
Contributor

I forget sooo often.

Nothing stops you from setting this up locally 🍻

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Yeah, I tried once but didn't get the exit if details correct so that it mostly just didn't work. (should be real simple though, right?) So I elected to just deal with forgetting sometimes.

Comment threadlib/index-basic.js
require('./bar'),
require('./pie')
]);
Plotly.register([require('./bar'), require('./pie')]);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is is possible to configure prettier to respect vertical formatting?

I see the need to split long lines, but joining short one into a single line doesn't help here.

require('./pie'),
require('./contour'),
require('./scatterternary')
require('./bar'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to configure prettier to use a 4-space indent?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

require('./histogram2dcontour'),
require('./pie'),
require('./contour'),
require('./scatterternary'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 for comma-ending last elements (neater diffs)

Comment threadpackage.json
"build": "npm run preprocess && npm run bundle && npm run header && npm run stats",
"cibuild": "npm run preprocess && node tasks/cibundle.js",
"watch": "node tasks/watch.js",
"lint": "eslint --version && eslint .",

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is prettier able to detect unused variables and variables used out of scope?

If not, I think it's better to keep using eslint for linting.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Asking on the gitter channel just in case since I wasn't able to find a better answer, but I think that alone might be enough for me. Seems some people run it through both, but that seems a bit annoying (though not necessarily slow if you prettier + eslint only staged files).


var borderWidth = coerce('borderwidth');
var showArrow = coerce('showarrow');
if (!(visible || clickToShow)) return annOut;

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉 Dammit! Now that I got to train myself not to write a space after if!

@rreusserrreusserApr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The golden rule of conventions: Convention <insert convention you use here> is aesthetically superior to <insert proposed alteration here>. 😉

coerce('width');
coerce('align');
var borderColor = coerce('bordercolor'),
borderOpacity = Color.opacity(borderColor);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(aesthetic comment) 4-space indents make this kind of variable declaration look neater.

ppadplus: ann._ypadplus,
ppadminus: ann._ypadminus,
});
} else {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉

var toLog = (newType === 'log') && (ax.type === 'linear'),
fromLog = (newType === 'linear') && (ax.type === 'log');
var toLog = newType === 'log' && ax.type === 'linear',
fromLog = newType === 'linear' && ax.type === 'log';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it possible to disable this kind of change?

Using unnecessary parenthesis to improve readability is a good thing.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there are some controls, but not sure how granular you can get.

if (style > 5) rot = 0; // don't rotate square or circle
d3
.select(el.parentElement)
.append('path')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one is going to be tricky.

I'd be surprised if prettier respects d3 half-indenting conventions.

👍 to get rid of half-indents.
👎 for not respecting vertical formatting

name: 'annotations',
moduleType: 'component',
name: 'annotations',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting, here prettier does respect vertical formatting and keeps the empty line.

'#7f7f7f', // middle gray
'#bcbd22', // curry yellow-green
'#17becf' // blue-teal
'#1f77b4', // muted blue

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no double-space before inline comment?

var isNumeric = require('fast-isnumeric');

var color = module.exports = {};
var color = (module.exports = {});

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

neat!

}
if (!container || typeof container !== 'object') return;

var keys = Object.keys(container), i, j, key, val;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

another example of not respecting vertical formatting.

@n-riesco

Copy link
Copy Markdown
Contributor

Not surprisingly there are good and bad things about prettier's changes.

I'd like to keep eslint for linting though. I find very useful that it reports possible errors (e.g. unused variables and variables scopes).

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Thanks for the good feedback @n-riesco. I'm inclined to agree. I think I'll close this for now as going maybe a little too far, though I'll hold out hope that it becomes the future of linting. 😄 The main thing that sends me in cold sweats for standard is the requirement of manually reworking hundreds of variable declarations and similar things that the auto-formatter isn't able to fix automatically.

@alexcjohnsonalexcjohnson mentioned this pull request Apr 29, 2017
@etpinard
etpinard deleted the prettier branch May 16, 2017 19:23
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rreusser@etpinard@n-riesco
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); [EXPERIMENTAL] Prettier! by rreusser · Pull Request #1629 · plotly/plotly.js · GitHub
Skip to content

[EXPERIMENTAL] Prettier! - #1629

Closed
rreusser wants to merge 1 commit into
masterfrom
prettier
Closed

[EXPERIMENTAL] Prettier!#1629
rreusser wants to merge 1 commit into
masterfrom
prettier

Conversation

@rreusser

@rreusserrreusser commented Apr 26, 2017

Copy link
Copy Markdown
Contributor

Just a quick test with prettier. Adds the following features:

  • replace lint with prettier-check (to assert PRs satisfy prettier formatting)
  • replace lint-fix with prettier --write (to apply formatting)
  • husky + lint-staged to automatically apply prettier formatting to staged files when committing

Except for having to read the code (not to be taken for granted without consideration), this would hopefully make prettier zero-overhead without any effort in transitioning (as opposed to standard which will require a lot of manual formatting for what it's unable to fix.)

Note: current failure seems to be regex-based metadata-stripping browserify transform. Would need a couple tweaks to recognize line breaks.

@rreusserrreusser mentioned this pull request Apr 26, 2017
@etpinard

Copy link
Copy Markdown
Contributor

husky + lint-staged to automatically apply prettier formatting to staged files when committing

Too magical for my taste. But yeah, nice try.

@rreusser

Copy link
Copy Markdown
ContributorAuthor

Agreed on the magic, but grep shows at least 260 commit messages containing the word "lint". I forget sooo often.

@etpinard

Copy link
Copy Markdown
Contributor

I forget sooo often.

Nothing stops you from setting this up locally 🍻

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Yeah, I tried once but didn't get the exit if details correct so that it mostly just didn't work. (should be real simple though, right?) So I elected to just deal with forgetting sometimes.

Comment threadlib/index-basic.js
require('./bar'),
require('./pie')
]);
Plotly.register([require('./bar'), require('./pie')]);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is is possible to configure prettier to respect vertical formatting?

I see the need to split long lines, but joining short one into a single line doesn't help here.

require('./pie'),
require('./contour'),
require('./scatterternary')
require('./bar'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible to configure prettier to use a 4-space indent?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

require('./histogram2dcontour'),
require('./pie'),
require('./contour'),
require('./scatterternary'),

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 for comma-ending last elements (neater diffs)

Comment threadpackage.json
"build": "npm run preprocess && npm run bundle && npm run header && npm run stats",
"cibuild": "npm run preprocess && node tasks/cibundle.js",
"watch": "node tasks/watch.js",
"lint": "eslint --version && eslint .",

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is prettier able to detect unused variables and variables used out of scope?

If not, I think it's better to keep using eslint for linting.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Asking on the gitter channel just in case since I wasn't able to find a better answer, but I think that alone might be enough for me. Seems some people run it through both, but that seems a bit annoying (though not necessarily slow if you prettier + eslint only staged files).


var borderWidth = coerce('borderwidth');
var showArrow = coerce('showarrow');
if (!(visible || clickToShow)) return annOut;

@n-riescon-riescoApr 27, 2017

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉 Dammit! Now that I got to train myself not to write a space after if!

@rreusserrreusserApr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The golden rule of conventions: Convention <insert convention you use here> is aesthetically superior to <insert proposed alteration here>. 😉

coerce('width');
coerce('align');
var borderColor = coerce('bordercolor'),
borderOpacity = Color.opacity(borderColor);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(aesthetic comment) 4-space indents make this kind of variable declaration look neater.

ppadplus: ann._ypadplus,
ppadminus: ann._ypadminus,
});
} else {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😉

var toLog = (newType === 'log') && (ax.type === 'linear'),
fromLog = (newType === 'linear') && (ax.type === 'log');
var toLog = newType === 'log' && ax.type === 'linear',
fromLog = newType === 'linear' && ax.type === 'log';

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it possible to disable this kind of change?

Using unnecessary parenthesis to improve readability is a good thing.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there are some controls, but not sure how granular you can get.

if (style > 5) rot = 0; // don't rotate square or circle
d3
.select(el.parentElement)
.append('path')

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one is going to be tricky.

I'd be surprised if prettier respects d3 half-indenting conventions.

👍 to get rid of half-indents.
👎 for not respecting vertical formatting

name: 'annotations',
moduleType: 'component',
name: 'annotations',

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Interesting, here prettier does respect vertical formatting and keeps the empty line.

'#7f7f7f', // middle gray
'#bcbd22', // curry yellow-green
'#17becf' // blue-teal
'#1f77b4', // muted blue

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no double-space before inline comment?

var isNumeric = require('fast-isnumeric');

var color = module.exports = {};
var color = (module.exports = {});

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

neat!

}
if (!container || typeof container !== 'object') return;

var keys = Object.keys(container), i, j, key, val;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

another example of not respecting vertical formatting.

@n-riesco

Copy link
Copy Markdown
Contributor

Not surprisingly there are good and bad things about prettier's changes.

I'd like to keep eslint for linting though. I find very useful that it reports possible errors (e.g. unused variables and variables scopes).

@rreusser

rreusser commented Apr 27, 2017

Copy link
Copy Markdown
ContributorAuthor

Thanks for the good feedback @n-riesco. I'm inclined to agree. I think I'll close this for now as going maybe a little too far, though I'll hold out hope that it becomes the future of linting. 😄 The main thing that sends me in cold sweats for standard is the requirement of manually reworking hundreds of variable declarations and similar things that the auto-formatter isn't able to fix automatically.

@alexcjohnsonalexcjohnson mentioned this pull request Apr 29, 2017
@etpinard
etpinard deleted the prettier branch May 16, 2017 19:23
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@rreusser@etpinard@n-riesco