Commit Graph
100 Commits
Author SHA1 Message Date
Ika 9d616817be fix(markdown): do not break on unbreakable place (#3177) 2017-11-07 21:10:41 +11:00
Ika 2bdb652667 fix(markdown): do not break before special prefix (#3172)
* fix(markdown): do not break before special prefix

* fix: add more cases
2017-11-07 20:40:09 +11:00
Ika 76ee59a191 chore(deps): update prettier to 1.8.0 (#3167)
* chore(deps): update prettier to 1.8.0

* refactor: fix linting
2017-11-07 16:42:38 +08:00
Ika 1d4848b37c chore(deps): upgrade patch-level dependencies (#3153)
* chore(deps): update jest-docblock to 21.3.0-beta.7

* chore(deps): upgrade patch-level dependencies

* test: update snapshot
2017-11-07 00:38:37 +11:00
Ika ec8deb6c0b fix(markdown): print ----style thematic break (#3148)
* fix(markdown): print `---`-style thematic break

* test: fix diff
2017-11-05 20:50:10 +11:00
Ika 11d7213862 test(markdown): rename test case to avoid confusing (#3086) 2017-10-23 09:49:13 +08:00
Ika c27cc7ff45 feat(markdown): support CJK and emoji (#3026)
* refactor: extract `splitText`

* fix: respcet CJK width in table

* test: add failing test

* fix: support emoji

* test: add failing test

* feat: support CJK character

* feat: enable adding whitespace between non-CJK/CJK-character by default

* fix: do not print softline at node that is sensitive to its identifier

* fix: treat full-width whitespace as CJK punctuation

* disallow leading/trailing full-width whitespace

* feat: remove `--split-cjk-text` option and enable it by default

* refactor: simplify regex and remove unnecessary `g` flag
2017-10-14 23:57:31 -05:00
Ika c3b965145b feat(markdown): auto-detect which number style of ordered list to be used (#3029) 2017-10-14 22:53:58 +11:00
Ika c4118edbe7 fix(markdown): print auto-link as-is (#3032) 2017-10-14 22:49:12 +11:00
Ika 5c789b2dfc fix(markdown): use the most popular unordered list style (#3027) 2017-10-14 22:41:25 +11:00
Ika 2ef879f20d feat(cli): add --loglevel option (#2992)
* feat(cli): add `--loglevel` option

* fix: handle error from invalid option

* fix: choice value and shouldLog logic

* test: fix test cases

* fix: change log style

* test: truncate snapshots

* test: reduce duplicate code

* test: use patterns instead of snapshots

* test: fix regex
2017-10-13 20:17:01 -05:00
Ika f009a96ae4 fix(doc-printer): use string-width (#3015)
* refactor(doc-printer): use `string-width`

* test: add test case
2017-10-12 02:27:02 -05:00
Ika 9f6f3e7355 feat: support markdown (#2943)
* feat(markdown): inital implementation

* feat(markdown): support strong

* fix: add missing default value

* feat(markdown): support inlineCode

* feat: support delete

* feat: support link

* feat: support image

* feat: support blockquote

* feat: support heading

* feat: support code

* feat: support yaml

* feat: support html

* feat: support list

* feat: support thematicBreak

* feat: support table

* feat: support linkReference

* feat: support imageReference

* feat: support definition

* feat: support footnote

* feat: support footnoteReference

* feat: support footnoteDefinition

* test(cli): update snapshots

* refactor: extract SINGLE_LINE_NODE_TYPES

* refactor: printChildren

* fix: correct newlines

* test: add trailing newline

* fix: blockquote formatting

* fix: node types

* fix: break line correctly

* fix: remove unnecessary properties to make AST_COMPARE happy

* fix: escape `|` in tableCell content

* fix: unexpected line break

* fix: ast difference from loose list

* fix: html break lines

* refactor: fix linting

* fix: normalize ast

* fix: escape specific chars

* test: add more tests

* fix: build markdown parser

* chore: remove unnecessary *.log

* fix: escape html entity

* feat: support prettier-ignore

* fix: line break for non-loose listItem

* feat: support formatting `code` based on `lang`

* fix: add `jsx` and `tsx`

* fix: use multiparser

* refactor: fix linting

* test: update test case 😉

* feat: switch to `_` style emphasis

* fix: sequence list should use different prefix

* test: add tests

* fix: do not print additional new line after `prettier-ignore`

* fix(list): enforce `1.` to avoid unnecessary git diff

* feat: enable `commonmark` option

* feat: support `break`
* fix: escape backslash
* refactor: escape html entity using backslash

* fix: respect autolink-style link

* feat: support md`...` and markdown`...`

* docs: replace ands with commas

* fix: respect indented code block

* fix: respect html entity

* docs: add docs for modified MDAST

* fix: inlineCode is breakline-able

* feat: support backtick in inlineCode

* feat: support a-lot-of-backtick in fenced code block

* feat: use `~~~`-style code block in js template

* fix: respect escaped chars

* fix: use `*`-style emphasis for invalid `_`-style output

* test: add test cases

* fix: use `- - -`-style thematicBreak to avoid conflict with yaml

* fix: remain the same content for linkReference identifier

* fix: `inlineCode` gap can be a line break

* fix: `html` should not print trailing spaces if it's in root

* refactor: fix typo

* fix: wrap `definition`'s url if there's whitespace

* fix: remove unnecessary whitespace at the end of paragraph

* fix: fix: remove unnecessary whitespace at the start of paragraph

* fix: setence children length is possible 0

* fix: support continuous ordered list

* fix: do not print addtional hardline after loose list

* fix: use double-backtick style for single-backtick value in inlineCode

* fix: support nested emphasis

* fix: support space-url in link/image

* fix: escape `)` in link/image url

* fix: support single-quote in link/image/definition title

* fix: respect alt in image/imageReference

* fix: use `*`-style thematicBreak in list

* fix: loose/tight list linebreaks

* fix: print third linebreak before indented code block with a tight list in the previous

* test: move bug cases

* fix: remove unnecessary linebreaks

* refactor: fix typo
2017-10-12 09:46:44 +11:00
Ika f7907b9282 fix(doc-printer): respect CJK width (#3003)
* test: add failing test

* fix(doc-printer): respect CJK width
2017-10-11 00:32:45 -05:00
Ika abc3b12c5e docs(readme): fix description for filePath in prettier.resolveConfig (#3007) 2017-10-11 15:57:57 +11:00
Ika 6c8cde9672 fix(cli): do not early exit for --debug-check (#2987)
* test: add failing test

* fix(cli): do not early exit for `--debug-check`
2017-10-07 04:36:43 -05:00
Ika d9737e6ffa test: fix snapshots (#2957)
* test: trigger test to check its status

* test: update snapshots

* refactor: use strip-ansi
2017-10-02 19:56:34 +02:00
Ika 7770356a51 test(integration): update title and catch all outputs (#2951) 2017-10-02 18:08:34 +02:00
Ika 26254ece0f chore(deps): pin dependencies (#2953) 2017-10-02 17:58:21 +02:00
Ika c7f9bb5731 chore(deps): update cosmiconfig to v3.1.0 (#2952) 2017-10-02 13:01:32 +11:00
Ika 0d756080b5 fix: ignore and show warning for unknown option from config file (#2929) 2017-09-28 19:59:32 +02:00
Ika 70f5165bb1 fix(typescript): allow symbol type (#2899) 2017-09-26 12:34:31 +10:00
Ika 630ea58a50 refactor: use custom error (#2896) 2017-09-25 21:11:27 +02:00
Ika 4435ecbc7b fix(cli): validate options for every config-precedence (#2894)
* fix(cli): validate options for every `config-precedence`

* refactor: use camelcase

* refactor: reduce duplicate code

* refactor: rename function

* refactor: rename parameter
2017-09-25 21:04:25 +02:00
Ika d0a622ffa8 fix: do not print stack trace for invalid option (#2895)
* fix: do not print stack trace for invalid option

* refactor: use ConfigError
2017-09-25 20:42:56 +02:00
Ika 184e368a9a feat: support detailed --help (#2847)
* feat: support detailed --help

* refactor: put alias first, separate with comma

* feat: support detailed --help for --no-option

* docs: add missing type

* docs: remove `This requires node 8 or a transform`

* docs: remove config-precedence's choice descriptions in option.description

* docs: replace `option-name` with `flag`

* docs: update docs for `choices`

* docs: update `help` description

* docs: update error message

* docs: replace `undocumented` with empty string

* refactor: extract `getOptionDefaultValue`

* refactor: dynamically generate `defaults to ...`

* refactor: extract `getOptionWithLevenSuggestion`

* refactor: extract `createChoiceUsages`

* refactor: remove `optionTitleName`

* test: add `--help` tests for all options

* fix: handle `--help --help`

* feat: support `--help <alias>`

* refactor: use `flattenArray`

* feat: handle `--help <unknown>`

* docs: add description for `semi`, `color` and `bracket-spacing`

* fix: remove unnecessary option in `--help`
2017-09-21 07:54:13 +02:00
Ika c100911bbc chore(deps): pin cosmiconfig (#2815) 2017-09-14 19:10:55 +08:00
ikatyang 6fa30d9ccf refactor(runPrettier): replace multi-.mockRestore() with jest.restoreAllMocks() 2017-09-14 13:23:10 +08:00
ikatyang 6f9da6441c chore(deps): update jest-* to v21.1.0 2017-09-14 13:13:03 +08:00
ikatyang b2a8f3ffce Merge branch 'master' into refactor/cli 2017-09-14 12:49:07 +08:00
ikatyang 0bb7933bb1 refactor: move categoryOrder to cli-constant 2017-09-14 12:39:38 +08:00
ikatyang 7d7fb36499 docs: requirePragma: <bool> 2017-09-13 21:43:57 -06:00
Ika 71f5d185a7 docs(readme): port requirePragma docs to README.md (#2812)
* fix default value
2017-09-14 11:26:43 +08:00
ikatyang 2ec2ff9f9d refactor: replace getDetailOption() with detailOptionMap 2017-09-11 00:48:05 +08:00
ikatyang a62be6a1d5 refactor: add getDetailOption() 2017-09-11 00:45:07 +08:00
ikatyang b4ed4d1ffb refactor: remove hidden, display option usage only if (opposite-)description existed 2017-09-11 00:24:03 +08:00
ikatyang d6a1474901 refactor: replace no-option with oppositeDescription 2017-09-11 00:09:14 +08:00
Ika 8b02f702d5 fix(build): update ISSUE_TEMPLATE version regex to work as intended (#2785) 2017-09-10 17:37:07 +02:00
ikatyang 3fa11984e9 refactor: use standard // fall through 2017-09-10 23:26:13 +08:00
ikatyang 4c9763c530 docs: fix typo 2017-09-10 16:39:43 +08:00
ikatyang 1a4aac8f9b refactor: put no-option after option 2017-09-10 14:10:42 +08:00
ikatyang 0c3fe2bc9f refactor: sort category 2017-09-10 13:45:18 +08:00
ikatyang b9bc54aab6 refactor: adjust category 2017-09-10 13:37:21 +08:00
ikatyang b51135d9fd refactor: add explaining for each of the properties 2017-09-10 13:29:18 +08:00
ikatyang 0f9bb5b971 refactor: rename formatOption with forwardToApi 2017-09-10 12:32:15 +08:00
ikatyang eaafbb77aa refactor: adjust warning message 2017-09-10 12:17:33 +08:00
ikatyang 46a4cac617 refactor: pick format option from detailOptions 2017-09-10 12:11:32 +08:00
Ika 3db840258b chore(build): update ISSUE_TEMPLATE.md before publish (#2776) 2017-09-09 23:39:11 +10:00
ikatyang fabba20900 refactor: fix typo 2017-09-09 16:41:28 +08:00
ikatyang 4d4d8e3f4e refactor: normalizeArgv without using getter 2017-09-09 13:38:28 +08:00
ikatyang a7f595ca3e refactor: move createUsage to util 2017-09-09 12:40:55 +08:00
ikatyang 82eaadc03a refactor: remove unnecessary code 2017-09-09 12:09:43 +08:00
ikatyang 97100c42c4 test(integration): add tests for cursor-offset 2017-09-09 12:06:50 +08:00
ikatyang 6ab8edafd5 test: add tests 2017-09-09 11:49:22 +08:00
ikatyang 507545510f refactor: add comment 2017-09-08 16:53:51 +08:00
ikatyang c88a45bbf7 refactor: categorize usages 2017-09-08 16:52:09 +08:00
ikatyang 51d5effaf4 refactor: rename isHidden with hidden 2017-09-08 16:27:41 +08:00
ikatyang c2c9cc3759 refactor: dont consider prefix no- option as real option 2017-09-08 16:26:08 +08:00
ikatyang cc66f9f923 refactor: remove unnecessary variable 2017-09-08 16:14:48 +08:00
ikatyang de207b9f32 refactor: rename options with detailOptions 2017-09-08 15:33:39 +08:00
ikatyang 2de3b13175 refactor: wrap usage in function 2017-09-08 15:31:59 +08:00
ikatyang a1c3350bd1 refactor: change isFormatOption: true to category: 'format' 2017-09-08 15:22:24 +08:00
ikatyang a1c9fd3e9d refactor: move usage to cli-usage 2017-09-08 15:18:45 +08:00
ikatyang 08460e5ca5 test: add tests for --stdin-filepath 2017-09-08 15:08:19 +08:00
ikatyang 50a26900de refactor: remove unnecessary code 2017-09-08 14:55:22 +08:00
ikatyang d762f9d191 refactor: toNumber in getter 2017-09-08 14:53:13 +08:00
ikatyang 91ecadd168 refactor: validate value in getter 2017-09-08 14:48:54 +08:00
ikatyang 6e9e441aa9 refactor: reduce duplicate parameters 2017-09-08 13:57:45 +08:00
ikatyang a0e7613058 refactor: set deprecared option value warning on getter 2017-09-08 13:54:28 +08:00
ikatyang d9fd340902 test: add test for deprecated option value 2017-09-08 12:36:00 +08:00
ikatyang 98c45bb421 refactor: use getter to show warning 2017-09-08 12:33:26 +08:00
ikatyang b13a104a7b test: add test for --flow-parser 2017-09-08 11:45:59 +08:00
ikatyang 0630d174ab test(integration): fix status 2017-09-08 10:59:48 +08:00
ikatyang de2f61cd3e Merge branch 'master' into refactor/cli 2017-09-08 10:58:28 +08:00
ikatyang 8939ee45db refactor: extract normalize function 2017-09-08 10:57:29 +08:00
ikatyang 0981de9790 refactor: add missing dot 2017-09-08 08:54:59 +08:00
ikatyang 402519ffb0 refactor: no need to use reduce 2017-09-07 18:13:19 +08:00
ikatyang fe4c5eb582 refactor: no need to pass additional arg 2017-09-07 17:09:45 +08:00
ikatyang fdf257b97f refactor: rename err to error 2017-09-07 17:02:43 +08:00
ikatyang 1156cb3e67 refactor: no need to use switch..case 2017-09-07 16:48:13 +08:00
ikatyang 3aef0bf1a0 refactor: remove unnecessary code 2017-09-07 16:41:51 +08:00
ikatyang 4163a4fa83 refactor: replace cliDefaultOptions with apiDefaultOptions 2017-09-07 16:23:40 +08:00
ikatyang 11183f6d7e refactor: extract validate option functions 2017-09-07 15:14:43 +08:00
ikatyang be22996fd3 refactor: sort usages 2017-09-07 13:39:39 +08:00
ikatyang c337f9bb23 refactor: auto generate usage from options 2017-09-07 13:32:15 +08:00
Ika aaac83d126 refactor(runPrettier): reduce duplicate code (#2764) 2017-09-07 07:16:45 +02:00
ikatyang 80e5b515ec refactor: rename variable 2017-09-07 11:30:04 +08:00
ikatyang df6a74a3c5 refactor: sort _options keys 2017-09-07 11:25:46 +08:00
ikatyang 29f1873377 refactor: centralize options 2017-09-07 11:19:43 +08:00
ikatyang 0b78c53b0a refactor: rename e with error 2017-09-07 10:27:01 +08:00
ikatyang 18782f77cb refactor: rename resolveConfig with logResolvedConfigPathOrDie 2017-09-07 10:23:40 +08:00
ikatyang d139006c98 refactor(cli): extract validate-related functions 2017-09-07 10:18:20 +08:00
Ika 2d6c4f70e9 chore(github): add issue template (#2755) 2017-09-05 09:41:11 -07:00
Ika c1707cf40c chore(deps): remove cross-spawn (#2739) 2017-09-03 16:10:58 +02:00
ikatyang ca7be87f9e test: remove unnecessary eslint-disable 2017-09-03 22:06:55 +08:00
ikatyang 3cc9083f1d chore(eslint): ignore /tests_integration/cli/ 2017-09-03 21:50:19 +08:00
ikatyang 8f423c1071 fix: globby.sync should be in try..catch block 2017-09-03 21:32:12 +08:00
ikatyang ac9fa43114 test(integration): add more tests 2017-09-03 21:31:33 +08:00
Ika c4e5463514 refactor(cli): separate files and make it pure as possible (#2730)
* refactor(bin): resolveConfig

* refactor(bin): getOptionsForFile

* refactor(bin): remove `mapSeries`

* refactor: move content from bin to src/cli

* refactor: wrap content with function

* refactor: move constants to another file

* refactor: move utils to another file

* refactor: move functions

* refactor: extract functions

* refactor: remove unnecessary variable

* refactor: move `src/cli` to `src` with prefix `cli`

* refactor: use template literal

* refactor: remove unnecessary variable

* refactor: extract `listDifferent`

* refactor: extract `format`

* refactor: change error message `Invalid configuration:`

* refactor: bind args with argv

* refactor: extract `getOptionsForFile`

* refactor: extract `formatStdin`

* refactor: extract `eachFilename`

* refactor: extract `formatFiles`

* refactor: remove unnecessary export

* refactor: use `globby.sync()`

* refactor: add `runPrettier.sync()` helper

* refactor: fix linting

* refactor: mock `process.argv`

* chore: use `--forceExit` to avoid process hanging

* refactor: mock `get-stream`

* refactor: remove unnecessary stuff

* refactor: fix linting

* refactor: wrap `run` with `try..catch.finally`

* refactor: restore `process.exitCode` after testing
2017-09-03 19:21:06 +10:00
Ika 8a6b56be41 refactor(bin): use resolveConfigFile.sync() (#2728)
* refactor(bin): resolveConfig

* refactor(bin): getOptionsForFile

* refactor(bin): remove `mapSeries`
2017-09-02 22:17:23 +10:00