Js-beautify: ES6 ๋ชจ๋“ˆ ๊ฐ€์ ธ์˜ค๊ธฐ/๋‚ด๋ณด๋‚ด๊ธฐ ํ›„์— ์‚ฝ์ž…๋œ ๊ฐœํ–‰

์— ๋งŒ๋“  2014๋…„ 01์›” 09์ผ  ยท  54์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: beautify-web/js-beautify

์ด๋ด,

Ember.JS ES6 ๋ชจ๋“ˆ ๋ชจ์Œ์—์„œ jsbeautifier๋ฅผ ์‹คํ–‰ ์ค‘์ด๋ฉฐ ๋‚ด๋ณด๋‚ด๊ธฐ ๋ฌธ์—์„œ ์ž‘์€ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜์™€ ๊ฐ™์ด ๋‚ด๋ณด๋‚ด๋Š” ๋ชจ๋“ˆ์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

export default DS.FixtureAdapter.extend();

jsbeautifier๋Š” ๋‚ด๋ณด๋‚ด๊ธฐ ํ›„์— ์ค„ ๋ฐ”๊ฟˆ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

export
default DS.FixtureAdapter.extend();

์ปค๋ฐ‹์ด ์ˆ˜๋ฝ๋˜๊ธฐ ์ „์— jsbeautifier ์‹คํ–‰์„ ๊ฐ•์ œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ์—๊ฒŒ๋งŒ ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ์‚ฌ์†Œํ•œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ค„ ๋ฐ”๊ฟˆ์„ ์ œ๊ฑฐํ•˜๋ฉด ์ปค๋ฐ‹๋˜๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ๊ณผ ์•„๋ฌด ๊ด€๋ จ์ด ์—†๋”๋ผ๋„ ๋ฌธ์ œ์˜ ํŒŒ์ผ์ด ์ปค๋ฐ‹์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

enhancement

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@the-simian Atom ํ™˜๊ฒฝ ์„ค์ •์„ ํ†ตํ•ด ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ ์˜ฌ๋ฐ”๋ฅธ ์˜ต์…˜์€ "Brace style" ์„น์…˜์˜ "brace_style": "collapse-preserve-inline" ์ž…๋‹ˆ๋‹ค. "preserve_newlines" ์˜ต์…˜์€ ์ „์ฒด ํŒŒ์ผ์—์„œ ์ค„ ๋ฐ”๊ฟˆ์„ ๋ณด์กดํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹น์‹ ์€ ๋ถ„๋ช…ํžˆ ๊ทธ๊ฒƒ์ด ์‚ฌ์‹ค์ด๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค. :)

๋ชจ๋“  54 ๋Œ“๊ธ€

๊ด€๋ จ #388.

์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๋Š” ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ์˜ˆ์•ฝ์–ด๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Hey @bitwiseman ๊ทธ๊ฒŒ ์ •ํ™•ํžˆ ๋ฌธ์ œ์ง€๋งŒ ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ์„ ์ž‘์„ฑํ•˜๋ฉด

export default moduleName;

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์•„๋ฆ„๋‹ต๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

default moduleName;

์ž˜ ์•ˆ๋ณด์ด๋„ค์š” :)

๋˜ํ•œ ์ค‘๊ด„ํ˜ธ ์Šคํƒ€์ผ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ์›ํ•˜๋ฉด

import { mod1, mod2 } from 'filePath';

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์•„๋ฆ„๋‹ต๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

import { 
  mod1, 
  mod2 
} from 'filePath';

๊ทธ๊ฒƒ์— ๋Œ€ํ•ด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์„ธ์š”?

์ด ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ๋“ค๋ฆฝ๋‹ˆ๋‹ค. module , export ๋ฐ import ํ‚ค์›Œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์˜ฌ๋ฐ”๋ฅธ ํ˜•์‹์œผ๋กœ ์ž‘์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋  ์˜ˆ์ •์ด๋ผ๋Š” ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์— ์žˆ์„ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ฐ˜ ์‹œ์„ค์€ ๊ฑฐ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์•ฝ๊ฐ„์˜ ๋ณ€๊ฒฝ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‚ด๋ณด๋‚ด๊ธฐ ๋ฌธ์˜ ํ˜•์‹ ์ˆ˜์ •์— +1!

+1

+1

+1

+1

+1

+n. ์˜ˆ์•ฝ์–ด ๋ชฉ๋ก์— ์ด ํ‚ค์›Œ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ๋งž์Šต๋‹ˆ๊นŒ?

ํŽธ์ง‘: ์•„๋‹ˆ์š”. ์ƒˆ ๊ทœ์น™์ด ์–ด๋””์— ์žˆ๋Š”์ง€ ์ฐพ์œผ๋ ค๊ณ  ํ–ˆ์ง€๋งŒ ๋ณ€๊ฒฝ์„ ๊ฐ์ˆ˜ํ•˜๊ธฐ์—๋Š” ์ฝ”๋“œ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์Šต๋‹ˆ๋‹ค =/

:+1:

์ด๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ค‘์š”ํ•œ ์ž‘์—…์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋ฏธ์•ˆํ•˜์ง€๋งŒ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์— ์ด๊ฒƒ์„ ํŽ€ํŠธํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ ๋กœ:
http://people.mozilla.org/~jorendorff/es6-draft.html#sec -modules
http://people.mozilla.org/~jorendorff/es6-draft.html#sec -imports
http://people.mozilla.org/~jorendorff/es6-draft.html#sec -exports

์ด๊ฒƒ์€ ์šฐ๋ฆฌ ๋ชจ๋‘๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค:

๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ ๋ชจ๋‘๋Š” ๋‹ค์Œ์„ ๊ธฐ์–ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์€ ์ •ํ™•ํžˆ ๋งž์Šต๋‹ˆ๋‹ค. : ์Šค๋งˆ์ผ :

์ด๋ฅผ ์œ„ํ•ด ๋‹ค์Œ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ๋ฌด์˜๋ฏธํ•œ ์ž…๋ ฅ์€ ๋ฏธํ™” ์žฅ์น˜์—์„œ ๋™์ผํ•œ ์ถœ๋ ฅ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ์—ฌ์ „ํžˆ ๋”์ฐํ•ด ๋ณด์ด์ง€๋งŒ ์ตœ์†Œํ•œ์˜ ๊ณ ํ†ต์œผ๋กœ ํ•ดํ‚นํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค.

module "a" {
    import odd from "Odd";
    export default function div(x, y) {}
    export function sum(x, y) {
        return x + y;
    }
    export var pi = 3.141593;
    export default moduleName;
    export *
}

:+1:
์ˆ˜์ • ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚ด ํ’๋ถ€ํ•œ ์ž์œ  ์‹œ๊ฐ„์—... :์Šค๋งˆ์ผ:

:+1:

+1

+1

์›๋ž˜ ๋ฌธ์ œ๋Š” 1.5.2์—์„œ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

@redking , @dred9e , @Aluxian , @simplyianm , @pgilad , @webbushka , @fpauser , @Volox , @naomifeehanmoran , @darlanalves , @thaume -

๋‹น์‹ ์˜ ๋„์›€์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์ž…๋ ฅ, ์‹ค์ œ ์ถœ๋ ฅ ๋ฐ ์›ํ•˜๋Š” ์ถœ๋ ฅ์˜ ์˜ˆ๋ฅผ ์ œ๊ณตํ•˜์‹ญ์‹œ์˜ค. ๋˜ํ•œ ์‹ค์ œ ์ถœ๋ ฅ์ด ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๊ตฌ๋ฌธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ตฌ๋ฌธ ์˜ค๋ฅ˜๊ฐ€ ์šฐ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ง€๊ธˆ๊นŒ์ง€ @thaume ์—์„œ ํ•˜๋‚˜๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค -

//input
import { mod1, mod2 } from 'filePath';

// actual output - non-breaking 
import { 
  mod1, 
  mod2 
} from 'filePath';

// desired output (unchanged)
import { mod1, mod2 } from 'filePath';

๋ฉ”๋ชจ:

  • ์„œ๋กœ์˜ ์˜๊ฒฌ์„ ์‚ดํŽด๋ณด๊ณ  ์•ฝ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ์žˆ๋Š” ์„œ์‹ ํด๋ž˜์Šค๋ฅผ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š๋„๋ก ํ•˜์„ธ์š”. ์ตœ์„ ์˜ ๋…ธ๋ ฅ์€ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค. :์›ƒ๋‹ค:
  • ๋ฒ„ํŒ€๋Œ€ ์œ„์น˜๊ฐ€ ์ค‘์š”ํ•œ ๋ฌธ์ œ๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ๋ชจ๋“  ์œ ํ˜•์˜ ์ค‘๊ด„ํ˜ธ ๋ฐฐ์น˜์— ๋Œ€ํ•œ ํ•˜๋‚˜์˜ ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ ‘๊ธฐ, ํ™•์žฅ,
  • ์›๋ž˜ ๋ฌธ์ œ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์œผ๋ฏ€๋กœ ์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•˜๊ณ  ๊ท€ํ•˜๊ฐ€ ์ œ๊ณตํ•œ ๋‹ค์–‘ํ•œ ์ž…๋ ฅ์— ๋Œ€ํ•ด ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด โ€‹โ€‹์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@bitwiseman ์œ„์˜ ์ƒ˜ํ”Œ๋„ ์ •ํ™•ํžˆ ์ œ๊ฐ€ ์˜ˆ์ƒํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ตœ๊ทผ์— Atom ํŽธ์ง‘๊ธฐ์—์„œ ES6์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ €์žฅ ์‹œ ์ž๋™ ํ˜•์‹ ์ง€์ • ๊ธฐ๋Šฅ์ด ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ€์ ธ์˜ค๊ธฐ๊ฐ€ ์—‰๋ง์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

์˜ˆ์ƒ/์ž…๋ ฅ:

import { Bar } from 'lib/Bar';

class Foo {
    constructor() {
        this.bar = new Bar();
    }
}

export { Foo };

ํ˜„์žฌ ์ƒํƒœ:

import {
    Bar
}
from 'lib/Bar';

class Foo {
    constructor() {
        this.bar = new Bar();
    }
}

export {
    Foo
};

๋‚˜๋Š” ์•„์ง ํฌ๋งทํ•  ๋•Œ ์ฝ”๋“œ๋ฅผ ๊นจ๋œจ๋ฆด ์˜ˆ๋ฅผ ๋ชจ๋ฅธ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์ด ๊ฐ€์ ธ์˜ค๊ธฐ/๋‚ด๋ณด๋‚ด๊ธฐ๊ฐ€ ์•„๋‹ˆ๋ผ jsx์™€ ๊ด€๋ จ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์•„๋งˆ๋„ ์™„์ „ํžˆ ๋‹ค๋ฅธ ์ง์Šน์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ˆ˜์ • ์‚ฌํ•ญ์ด ๊ด€๋ จ๋  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

return <div {...props}></div>;

๋œ๋‹ค

return <div {...props
    } > < /div>;

e4x = true ์„ ์„ค์ •ํ•˜์…จ์Šต๋‹ˆ๊นŒ?

์˜ˆ, ์ €๋Š” ๋ฆฌํ„ฐ๋Ÿด ์—†์ด ์ผ๋ฐ˜ jsx์—์„œ ๊ทธ๊ฒƒ์ด ์กด์ค‘๋˜๊ณ  ์žˆ์Œ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ€์žฅ ๋ฐ”๊นฅ์ชฝ ํƒœ๊ทธ์— {...props}์™€ ๊ฐ™์€ ๋ฆฌํ„ฐ๋Ÿด์ด ์žˆ์œผ๋ฉด ์„œ์‹์ด ์ฆ‰์‹œ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. ๋ฆฌํ„ฐ๋Ÿด์ด ์ค‘์ฒฉ ์š”์†Œ ๋‚ด๋ถ€์— ์žˆ์œผ๋ฉด ์•ฝ๊ฐ„ ๋” ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ ๋‹ซ๋Š” ํƒœ๊ทธ์—์„œ ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์˜ฌ๋ฐ”๋ฅธ ์žฅ์†Œ/๋ฌธ์ œ๋ผ๋ฉด ๋” ๋งŽ์€ ์˜ˆ๋ฅผ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@loopmode - ์œ„์˜ ์˜ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ฌ์‹ญ์‹œ์˜ค.

+1

:+1: ์ด๊ฒƒ์€ ๋˜ํ•œ ๊ฐ์ฒด๋ฅผ ๊ตฌ์กฐํ™”ํ•˜๋Š” ๋ฐ ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค.

var { type, size } = someObject;

๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค

var {
        type, size
    } = someObject;

:+1: ์›์ž๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋„ ๊ฐ€์ ธ์˜ค๊ธฐ ๋ฐ jsx ํ˜•์‹์ด ์†์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

+1

+1

+1

+1

js-beautify 1.5.10์„ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ž…๋ ฅ:

import { x, y, z } from './other';

์‚ฐ์ถœ:

import {
    x, y, z
}
from './other';

๋‚˜๋Š” ์ข…๊ฒฐ ์ค‘๊ด„ํ˜ธ ๋‹ค์Œ์— ๊ฐœํ–‰์„ ์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

+1

์ด๋ฅผ ์ง€์›ํ•  ๊ณ„ํš์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ด๊ฑฐ ์•„์ง๋„ ์•ˆ ๊ณ ์ณ์กŒ๋‚˜์š”?

์•„์ง ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

+1

๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜๋Š” ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ:
/* ๋ณด์กด์„ ์•„๋ฆ„๋‹ต๊ฒŒ ํ•˜๊ธฐ:์‹œ์ž‘ _/
// ์•„๋ฆ„๋‹ต๊ฒŒ ๋ณด์กด:์ข…๋ฃŒ */

์ด๊ฒƒ์€ ๋ณด๊ธฐ์— ๋ณ„๋กœ ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

+1

+1

+1

๊ด€์‹ฌ ์žˆ๋Š” ์‚ฌ๋žŒ์„ ์œ„ํ•ด ๋‚˜๋จธ์ง€ ๋ฌธ์ œ๋Š” import {x, y} from './other' ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๊ตฌ์กฐํ™”๋˜์ง€ ์•Š์€ ๊ฐœ์ฒด์˜ ํ•˜์œ„ ์‚ฌ๋ก€์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. #511 ์ฐธ์กฐ.

์—ฌ์ „ํžˆ ์ˆ˜์ž…ํ’ˆ์— ๋Œ€ํ•œ ๋™์ž‘์ด ํ‘œ์‹œ๋˜์ง€๋งŒ ๋ชจ๋“  ํ‹ฐ์ผ“์ด ๋‹ซํž™๋‹ˆ๋‹ค. Atom์—์„œ ๋ฏธํ™”ํ•œ ํ›„ ๊ฐ€์ ธ์˜ค๊ธฐ์—์„œ ํ•œ ์ค„์„ ์œ ์ง€ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ๊ฐ์‚ฌ ํ•ด์š”!

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. .jsbeautifyrc์— ๋‹ค์Œ ๊ตฌ์„ฑ์„ ์ถ”๊ฐ€ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

{
  "preserve_newlines": true,
  "max_preserve_newlines": 2
}

import ์—์„œ ์ด ๋ฌธ์ œ๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 1.6.3 ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

import { mod1, mod2 } from 'filePath';

๋œ๋‹ค

import { 
  mod1, 
  mod2 
} from 'filePath';

์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ์˜ฌ๋ฐ”๋ฅธ ์†์„ฑ์ด ์ง€์ ๋œ .rc ํŒŒ์ผ json์„ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋‚˜๋Š” ๊ทธ๊ฒƒ์ด ์™œ ์ „ํ˜€ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”์ง€ ์ „ํ˜€ ๋ชจ๋ฅธ๋‹ค.

{
  "preserve_newlines": true,
  "max_preserve_newlines": 2
}

๊ทธ๊ฒƒ์€ ๊ทธ๊ฒƒ์„ ์ˆ˜์ •ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค (์œ„์— ๊ฒŒ์‹œ ๋œ๋Œ€๋กœ)

@the-simian Atom ํ™˜๊ฒฝ ์„ค์ •์„ ํ†ตํ•ด ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ ์˜ฌ๋ฐ”๋ฅธ ์˜ต์…˜์€ "Brace style" ์„น์…˜์˜ "brace_style": "collapse-preserve-inline" ์ž…๋‹ˆ๋‹ค. "preserve_newlines" ์˜ต์…˜์€ ์ „์ฒด ํŒŒ์ผ์—์„œ ์ค„ ๋ฐ”๊ฟˆ์„ ๋ณด์กดํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹น์‹ ์€ ๋ถ„๋ช…ํžˆ ๊ทธ๊ฒƒ์ด ์‚ฌ์‹ค์ด๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค. :)

@eloquence ์—…๋ฐ์ดํŠธ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ์‹œ๋„ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
ํŽธ์ง‘: _๊ทธ๋žฌ์–ด์š”_

๋‹ค์Œ์€ .jsbeautifyrc ํŒŒ์ผ์˜ ์ปจํ…์ŠคํŠธ ์ „์ฒด ์ž‘์—… json์ž…๋‹ˆ๋‹ค.

{
    "brace_style": "collapse-preserve-inline", //<----that
    "break_chained_methods": false,
    "end_with_newline": false,
    "eol": "\n",
    "eval_code": false,
    "indent_char": "  ",
    "indent_level": 0,
    "indent_size": 1,
    "indent_with_tabs": true,
    "jslint_happy": false,
    "keep_array_indentation": false,
    "keep_function_indentation": false,
    "max_preserve_newlines": 4, //<---this
    "preserve_newlines": true, // <---this too
    "space_after_anon_function": false,
    "space_before_conditional": true,
    "unescape_strings": false,
    "wrap_attributes": "auto",
    "wrap_attributes_indent_size": 2,
    "wrap_line_length": 0
}

@loopmode collapse-preserve-inline ์™€ ๋น„์Šทํ•œ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

"brace_style": "collapse-preserve-inline",

์ž…๋ ฅ:

const _state = { ...state }

์‚ฐ์ถœ:

const _state = {...state }

collapse-preserve-inline ๊ฐ€ ์ž‘๋™ํ•˜๋Š” ๋™์•ˆ $ end-expand ๋˜๋Š” expand ๋กœ ๋™์ผํ•œ ๋™์ž‘์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์—†์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์˜ต์…˜์— ๋Œ€ํ•ด end-expand-preserve-inline ๋ฐ ์œ ์‚ฌํ•˜๊ฑฐ๋‚˜ true ๋˜๋Š” false๊ฐ€ ์žˆ๋Š” preserve-inline-braces ์˜ต์…˜์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๊นŒ?

@Coburn37 - ์ƒˆ ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•˜๊ฑฐ๋‚˜ #1052๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ์›ํ•˜๋Š” ๋‚ด์šฉ์„ ์„ค๋ช…ํ•˜๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”.

+1. ๋‚˜๋Š” ๋ถ•๊ดด, ๋ณด์กด ์ธ๋ผ์ธ์˜ ํŒฌ์ด ์•„๋‹™๋‹ˆ๋‹ค. ํŠนํžˆ ์ˆ˜์ž…์— ๋Œ€ํ•œ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค...

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰