Commit Graph

78 Commits

Author SHA1 Message Date
eight
2fd531e253 Rewrite linter system (#487)
* Add: implement new linter system

* Refactor: pull out editor worker

* Switch to new linter and worker

* Enable eslint cache

* Fix: undefined error

* Windows compatibility

* Fix: refresh linter if the editor.linter changes

* Add: stylelint

* Add: getStylelintRules, getCsslintRules

* Fix: logic to get correct linter

* WIP: linter-report

* Fix: toggle hidden state

* Add: matain the order of lint report for section editor

* Add: unhook event

* Add: gotoLintIssue

* Fix: shouldn't delete rule.init

* Add: linter-help-dialog

* Drop linterConfig

* Add: linter-config-dialog, cacheFn

* Add: use cacheFn

* Drop lint.js

* Add: refresh. Fix report order

* Fix: hide empty table

* Add: updateCount. Fix table caption

* Switch to new linter/worker

* Fix: remove unneeded comment

* Fix: cacheFn -> cacheFirstCall

* Fix: use cacheFirstCall

* Fix: cache metaIndex

* Fix: i < trs.length

* Fix: drop isEmpty

* Fix: expose some simple states to global

* Fix: return object code style

* Fix: use proxy to reflect API

* Fix: eslint-disable-line -> eslint-disable-next-line

* Fix: requestId -> id

* Fix: one-liner

* Fix: one-liner

* Fix: move dom event block to top

* Fix: pending -> pendingResponse

* Fix: onSuccess -> onUpdated

* Fix: optimize row removing when i === 0

* Fix: hook/unhook -> enableForEditor/disableForEditor

* Fix: linter.refresh -> linter.run

* Fix: some shadowing

* Fix: simplify getAnnotations

* Fix: cacheFirstCall -> memoize

* Fix: table.update -> table.updateCaption

* Fix: unneeded reassign

* Fix: callbacks -> listeners

* Fix: don't compose but extend

* Refactor: replace linter modules with linter-defaults and linter-engines

* Fix: implement linter fallbacks

* Fix: linter.onChange -> linter.onLintingUpdated

* Fix: cms -> tables

* Fix: parseMozFormat is not called correctly

* Move csslint-loader to background

* Fix: watch config changes

* Fix: switch to LINTER_DEFAULTS

* Fix: csslint-loader -> parserlib-loader
2018-10-01 09:03:17 -05:00
tophf
74eb7c7ecd CSSLint: add conic-gradient
https://www.w3.org/TR/css-images-4/#gradients
2018-09-04 21:08:53 +03:00
tophf
5933cf3586 CSSLint: add Q unit
https://www.w3.org/TR/css-values-3/#absolute-lengths
2018-08-30 13:41:26 +03:00
tophf
1a8481ca80 remove the useless redirection of <text-decoration-color> 2018-08-15 19:12:01 +03:00
Rob Garrison
c61d34d053 Update libraries (#440) 2018-07-21 20:58:54 +03:00
tophf
26f673f30d move linter worker loaders to edit/ 2018-07-10 11:35:19 +03:00
stonecrusher
df691b7a13 Adding external licenses (#424)
Add/update license info
2018-07-09 16:39:31 +03:00
tophf
a762d47795 CSSLint: function contents may start with a whitespace
#397
2018-06-12 12:51:04 +03:00
tophf
2b268fc589 CSSLint/CodeMirror: background-position-x and -y
These have been used for a long time in the real world and will finally get standardized by the upcoming CSS Backgrounds and Borders Module L4.

fixes #397
2018-06-12 12:31:12 +03:00
tophf
1619803a64 CSS Logical Properties and Values L1 (WD 2018-05-29)
https://drafts.csswg.org/css-logical/
2018-06-06 11:43:34 +03:00
tophf
f0c31f75b3 CSS Containment L1 (CR 2018-05-24)
https://www.w3.org/TR/css-contain-1/
2018-05-24 12:53:36 +03:00
tophf
f9dd704134 CSS Grid L2 (WD 2018-04-27) added aspect-ratio 2018-04-28 10:17:16 +03:00
tophf
fbdfc68022 CSS Display Module Level 3 (ED 2018-04-20) 2018-04-27 17:15:01 +03:00
tophf
b185140176 show an error for misplaced @document
#367
2018-03-21 09:32:32 +03:00
tophf
65905edec9 parserlib actions are void 2018-03-18 07:10:33 +03:00
tophf
32cd558dda parse a few nonstandard webkit CSS properties 2018-03-09 02:34:29 +03:00
tophf
5acf815b79 report invalid selector in :not() as a warning
to prevent failures when updating usercss styles that have to override [currently] invalid :not() selectors used by the site

see #356
2018-03-03 17:28:29 +03:00
tophf
b220b2d2f0 code refactor: define parser actions just once 2018-03-01 21:26:57 +03:00
tophf
3a68c4e636 CSSLint: parse CSS4 :matches(), the future of :any() 2018-03-01 21:04:39 +03:00
tophf
e4c399a1c0 try to ignore /*[[USO-var]]*// first 2018-02-28 21:16:00 +03:00
tophf
696690c8da
show invalid :not() as a nonfatal error (#357) 2018-02-28 20:53:50 +03:00
tophf
0ba26072f7 restore Chrome 49 compatibility: remove "u" flag in RegExp
since it wasn't used globally (e.g. vendor code) it made no real difference
2018-02-28 05:15:28 +03:00
tophf
76d9d32dce skip uso-var between declarations 2018-01-12 15:01:13 +03:00
tophf
79e95eadf2 code cosmetics 2018-01-07 23:26:47 +03:00
tophf
9111ebcd2b unget the unary token if got no term to finalize 2018-01-07 19:11:00 +03:00
tophf
acbb69e5ad expr may be null 2018-01-07 18:59:31 +03:00
tophf
67ceaa2e43 fixups; code cosmetics
* show #{min,max} if constraints are present
* parse [row names] in grid properties
* skip uso-vars in selector sequence
* recognize number tokens with +-
* skip comments/whitespace in stream.mustMatch();
2018-01-07 12:33:48 +03:00
tophf
57f0afbc9c CSS Intrinsic & Extrinsic Sizing L3 for *width/*height
https://drafts.csswg.org/css-sizing-3/#sizing-properties
2018-01-07 12:32:50 +03:00
tophf
e7bd155300 CSS Transform Module Level 2 (ED 2017-11-09) - 3d transforms
https://drafts.csswg.org/css-transforms-2/#three-d-transform-functions
2018-01-07 12:32:50 +03:00
tophf
e684f677a6 CSS Display Module Level 3 (ED 2017-11-09)
https://drafts.csswg.org/css-display/
2018-01-07 12:32:50 +03:00
tophf
2036819442 reuse parserCache on subsequent saving of usercss 2018-01-07 12:31:23 +03:00
tophf
d2cba96e10 refactor CSSLint
* reduce linting delay
* parse mozformat in worker
* allow empty functions in 'filter:' property
  https://drafts.fxtf.org/filter-effects/#supported-filter-functions
* support comma-separated list in :lang()
* strip vendor prefix in isLiteral()
2018-01-07 12:31:23 +03:00
tophf
743deb14c9 CSSLint: validations for animation, background, cursor and more
* CSS Animations Level 1 (ED 2017-11-29) https://drafts.csswg.org/css-animations/
* validation for background, border-image, cursor, text-shadow, background-position
2017-12-26 13:37:25 +03:00
tophf
b6f0b4a44f CSSLint: CSS Timing Functions Level 1 (WD & ED 2017)
WD 2017-02-21 https://www.w3.org/TR/css-timing-1/
ED 2017-12-03 https://drafts.csswg.org/css-timing/
2017-12-26 12:46:27 +03:00
tophf
6e0cb2bc86 CSSLint: validate using an unprefixed definition 2017-12-26 12:14:18 +03:00
tophf
1749f06674 CSSLint: CSS Transform Module Level 2 (ED 2017-11-09)
https://drafts.csswg.org/css-transforms-2/
2017-12-26 12:14:18 +03:00
tophf
c3cb687db6 CSSLint: CSS Transforms Module Level 1 (WD 2017-11-14)
https://drafts.csswg.org/css-transforms/
2017-12-26 11:51:48 +03:00
tophf
b8d1a0a9ff CSSLint: expose function's inner expression 2017-12-26 11:50:29 +03:00
tophf
afbee9d68f CSSLint: more microoptimizations 2017-12-26 06:28:27 +03:00
tophf
37f7f1898f fixup 1406cae6: ) may belong to the parent, also fix readString 2017-12-25 15:32:07 +03:00
tophf
d3c0999541 CSSLint: fixes and tweaks to reduce memory consumption
* _hexcolor - actually validate length
* all number regexps - support +- in the exponent
* readCount - single slice
* readMatch - use sticky regexps or string comparison on a chunk of pattern length
* readComment - single sticky match & slice
* readWhile - collect in an array, then join
* PropertyValuePart - do native num/str checks first
* isXXX - do a string comparison first
2017-12-25 12:25:19 +03:00
tophf
1406cae6c5 CSSLint: parse <declaration-value> for --custom-property
https://drafts.csswg.org/css-syntax-3/#typedef-declaration-value

Example:

:root {
  --fit: {
    position: absolute;
    top: 0; bottom: 0;
    left: 0; right: 0;
  }
}
2017-12-25 12:25:19 +03:00
tophf
b70beac3c9 CSSLint: rewrite readNumber() 2017-12-25 02:20:53 +03:00
Rob Garrison
4b2bfd4113 CSSLint: Remove tabs causing properties to be ignored 2017-12-25 01:35:01 +03:00
Rob Garrison
b2ea9be73f CSSLint: Add text-decoration-skip 2017-12-25 01:35:01 +03:00
tophf
e9a2cb92e3 csslint: functions MUST end with ) 2017-12-22 11:22:02 +03:00
tophf
c34786358a csslint: CSS4 syntax for rgb/hsl 2017-12-20 00:42:51 +03:00
tophf
8bfc36efbe csslint: warn about @media inside @supports 2017-12-18 12:18:54 +03:00
tophf
a7a589b785 csslint: CSS Grid Layout - actual implementation 2017-12-18 12:17:42 +03:00
tophf
4522362f76 csslint: CSS Grid Layout Module Level 1 (ED, Nov 28, 2017) 2017-12-18 10:27:58 +03:00