testdriverai 7.0.0 → 7.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +2 -0
- package/.github/workflows/linux-tests.yml +28 -0
- package/README.md +126 -0
- package/agent/index.js +7 -9
- package/agent/interface.js +13 -2
- package/agent/lib/commands.js +795 -136
- package/agent/lib/redraw.js +124 -39
- package/agent/lib/sandbox.js +40 -3
- package/agent/lib/sdk.js +21 -0
- package/agent/lib/valid-version.js +2 -2
- package/debugger/index.html +1 -1
- package/docs/docs.json +86 -71
- package/docs/guide/best-practices-polling.mdx +154 -0
- package/docs/v6/getting-started/self-hosting.mdx +3 -2
- package/docs/v7/_drafts/agents.mdx +852 -0
- package/docs/v7/_drafts/auto-cache-key.mdx +167 -0
- package/docs/v7/_drafts/best-practices.mdx +486 -0
- package/docs/v7/_drafts/caching-ai.mdx +215 -0
- package/docs/v7/_drafts/caching-selectors.mdx +400 -0
- package/docs/v7/_drafts/caching.mdx +366 -0
- package/docs/v7/_drafts/cli-to-sdk-migration.mdx +425 -0
- package/docs/v7/_drafts/core.mdx +459 -0
- package/docs/v7/_drafts/dashcam-title-feature.mdx +89 -0
- package/docs/v7/_drafts/debugging.mdx +349 -0
- package/docs/v7/_drafts/error-handling.mdx +501 -0
- package/docs/v7/_drafts/faq.mdx +393 -0
- package/docs/v7/_drafts/hooks.mdx +360 -0
- package/docs/v7/_drafts/implementation-plan.mdx +994 -0
- package/docs/v7/_drafts/init-command.mdx +95 -0
- package/docs/v7/_drafts/optimal-sdk-design.mdx +1348 -0
- package/docs/v7/_drafts/performance.mdx +517 -0
- package/docs/v7/_drafts/presets.mdx +210 -0
- package/docs/v7/_drafts/progressive-disclosure.mdx +230 -0
- package/docs/v7/_drafts/provision.mdx +266 -0
- package/docs/{QUICK_START_TEST_RECORDING.md → v7/_drafts/quick-start-test-recording.mdx} +3 -3
- package/docs/v7/_drafts/sdk-v7-complete.mdx +345 -0
- package/docs/v7/{guides → _drafts}/self-hosting.mdx +1 -1
- package/docs/v7/_drafts/troubleshooting.mdx +526 -0
- package/docs/v7/_drafts/vitest-plugin.mdx +477 -0
- package/docs/v7/_drafts/vitest.mdx +535 -0
- package/docs/v7/api/{ai.mdx → act.mdx} +24 -24
- package/docs/v7/api/client.mdx +1 -1
- package/docs/v7/api/dashcam.mdx +497 -0
- package/docs/v7/api/doubleClick.mdx +102 -0
- package/docs/v7/api/elements.mdx +143 -41
- package/docs/v7/api/find.mdx +258 -0
- package/docs/v7/api/mouseDown.mdx +161 -0
- package/docs/v7/api/mouseUp.mdx +164 -0
- package/docs/v7/api/rightClick.mdx +123 -0
- package/docs/v7/api/type.mdx +51 -7
- package/docs/v7/features/ai-native.mdx +427 -0
- package/docs/v7/features/easy-to-write.mdx +351 -0
- package/docs/v7/features/enterprise.mdx +540 -0
- package/docs/v7/features/fast.mdx +424 -0
- package/docs/v7/features/observable.mdx +623 -0
- package/docs/v7/features/powerful.mdx +531 -0
- package/docs/v7/features/scalable.mdx +417 -0
- package/docs/v7/features/stable.mdx +514 -0
- package/docs/v7/getting-started/configuration.mdx +380 -0
- package/docs/v7/getting-started/generating-tests.mdx +525 -0
- package/docs/v7/getting-started/installation.mdx +486 -0
- package/docs/v7/getting-started/quickstart.mdx +320 -141
- package/docs/v7/getting-started/running-and-debugging.mdx +511 -0
- package/docs/v7/getting-started/setting-up-in-ci.mdx +612 -0
- package/docs/v7/getting-started/writing-tests.mdx +535 -0
- package/docs/v7/overview/what-is-testdriver.mdx +398 -0
- package/docs/v7/platforms/linux.mdx +308 -0
- package/docs/v7/platforms/macos.mdx +433 -0
- package/docs/v7/platforms/windows.mdx +430 -0
- package/docs/v7/playwright.mdx +3 -3
- package/docs/v7/presets/chrome-extension.mdx +223 -0
- package/docs/v7/presets/chrome.mdx +303 -0
- package/docs/v7/presets/electron.mdx +453 -0
- package/docs/v7/presets/vscode.mdx +417 -0
- package/docs/v7/presets/webapp.mdx +396 -0
- package/examples/run-tests-with-recording.sh +2 -2
- package/interfaces/cli/commands/init.js +358 -0
- package/interfaces/vitest-plugin.mjs +393 -103
- package/lib/core/Dashcam.js +506 -0
- package/lib/core/index.d.ts +150 -0
- package/lib/core/index.js +12 -0
- package/lib/presets/index.mjs +331 -0
- package/lib/vitest/hooks.d.ts +119 -0
- package/lib/vitest/hooks.mjs +316 -0
- package/lib/vitest/setup.mjs +44 -0
- package/package.json +13 -3
- package/sdk.d.ts +350 -44
- package/sdk.js +818 -105
- package/{self-hosted.yml → setup/aws/self-hosted.yml} +1 -1
- package/test/manual/test-console-logs.test.mjs +42 -0
- package/test/manual/test-init.sh +54 -0
- package/test/manual/test-provision-auth.mjs +22 -0
- package/test/testdriver/assert.test.mjs +41 -0
- package/test/testdriver/auto-cache-key-demo.test.mjs +56 -0
- package/test/testdriver/chrome-extension.test.mjs +89 -0
- package/{testdriver/acceptance-sdk → test/testdriver}/drag-and-drop.test.mjs +7 -19
- package/{testdriver/acceptance-sdk → test/testdriver}/element-not-found.test.mjs +6 -19
- package/{testdriver/acceptance-sdk → test/testdriver}/exec-js.test.mjs +6 -18
- package/{testdriver/acceptance-sdk → test/testdriver}/exec-output.test.mjs +9 -21
- package/{testdriver/acceptance-sdk → test/testdriver}/exec-pwsh.test.mjs +14 -26
- package/{testdriver/acceptance-sdk → test/testdriver}/focus-window.test.mjs +8 -20
- package/{testdriver/acceptance-sdk → test/testdriver}/formatted-logging.test.mjs +5 -20
- package/{testdriver/acceptance-sdk → test/testdriver}/hover-image.test.mjs +10 -19
- package/{testdriver/acceptance-sdk → test/testdriver}/hover-text-with-description.test.mjs +7 -19
- package/{testdriver/acceptance-sdk → test/testdriver}/hover-text.test.mjs +5 -19
- package/{testdriver/acceptance-sdk → test/testdriver}/match-image.test.mjs +7 -19
- package/{testdriver/acceptance-sdk → test/testdriver}/press-keys.test.mjs +5 -19
- package/{testdriver/acceptance-sdk → test/testdriver}/prompt.test.mjs +7 -19
- package/{testdriver/acceptance-sdk → test/testdriver}/scroll-keyboard.test.mjs +6 -20
- package/{testdriver/acceptance-sdk → test/testdriver}/scroll-until-image.test.mjs +6 -18
- package/test/testdriver/scroll-until-text.test.mjs +28 -0
- package/{testdriver/acceptance-sdk → test/testdriver}/scroll.test.mjs +12 -21
- package/test/testdriver/setup/lifecycleHelpers.mjs +262 -0
- package/{testdriver/acceptance-sdk → test/testdriver}/setup/testHelpers.mjs +25 -20
- package/test/testdriver/type.test.mjs +45 -0
- package/vitest.config.mjs +11 -56
- package/.github/dependabot.yml +0 -11
- package/.github/workflows/acceptance-linux.yml +0 -75
- package/.github/workflows/acceptance-sdk-tests.yml +0 -133
- package/.github/workflows/acceptance-tests.yml +0 -130
- package/.github/workflows/lint.yml +0 -27
- package/.github/workflows/publish-canary.yml +0 -40
- package/.github/workflows/publish-latest.yml +0 -61
- package/.github/workflows/test-install.yml +0 -29
- package/.vscode/extensions.json +0 -3
- package/.vscode/launch.json +0 -22
- package/.vscode/mcp.json +0 -9
- package/.vscode/settings.json +0 -14
- package/CODEOWNERS +0 -3
- package/MIGRATION.md +0 -389
- package/SDK_README.md +0 -1122
- package/_testdriver/acceptance/assert.yaml +0 -7
- package/_testdriver/acceptance/dashcam.yaml +0 -9
- package/_testdriver/acceptance/drag-and-drop.yaml +0 -49
- package/_testdriver/acceptance/embed.yaml +0 -9
- package/_testdriver/acceptance/exec-js.yaml +0 -29
- package/_testdriver/acceptance/exec-output.yaml +0 -43
- package/_testdriver/acceptance/exec-shell.yaml +0 -40
- package/_testdriver/acceptance/focus-window.yaml +0 -16
- package/_testdriver/acceptance/hover-image.yaml +0 -18
- package/_testdriver/acceptance/hover-text-with-description.yaml +0 -29
- package/_testdriver/acceptance/hover-text.yaml +0 -14
- package/_testdriver/acceptance/if-else.yaml +0 -31
- package/_testdriver/acceptance/match-image.yaml +0 -15
- package/_testdriver/acceptance/press-keys.yaml +0 -35
- package/_testdriver/acceptance/prompt.yaml +0 -11
- package/_testdriver/acceptance/remember.yaml +0 -27
- package/_testdriver/acceptance/screenshots/cart.png +0 -0
- package/_testdriver/acceptance/scroll-keyboard.yaml +0 -34
- package/_testdriver/acceptance/scroll-until-image.yaml +0 -26
- package/_testdriver/acceptance/scroll-until-text.yaml +0 -20
- package/_testdriver/acceptance/scroll.yaml +0 -33
- package/_testdriver/acceptance/snippets/login.yaml +0 -29
- package/_testdriver/acceptance/snippets/match-cart.yaml +0 -8
- package/_testdriver/acceptance/type.yaml +0 -29
- package/_testdriver/behavior/failure.yaml +0 -7
- package/_testdriver/behavior/hover-text.yaml +0 -13
- package/_testdriver/behavior/lifecycle/postrun.yaml +0 -10
- package/_testdriver/behavior/lifecycle/prerun.yaml +0 -8
- package/_testdriver/behavior/lifecycle/provision.yaml +0 -8
- package/_testdriver/behavior/secrets.yaml +0 -7
- package/_testdriver/edge-cases/dashcam-chrome.yaml +0 -8
- package/_testdriver/edge-cases/exec-pwsh-multiline.yaml +0 -10
- package/_testdriver/edge-cases/js-exception.yaml +0 -8
- package/_testdriver/edge-cases/js-promise.yaml +0 -19
- package/_testdriver/edge-cases/lifecycle/postrun.yaml +0 -10
- package/_testdriver/edge-cases/prompt-in-middle.yaml +0 -23
- package/_testdriver/edge-cases/prompt-nested.yaml +0 -7
- package/_testdriver/edge-cases/success-test.yaml +0 -9
- package/_testdriver/examples/android/example.yaml +0 -12
- package/_testdriver/examples/android/lifecycle/postrun.yaml +0 -11
- package/_testdriver/examples/android/lifecycle/provision.yaml +0 -47
- package/_testdriver/examples/android/readme.md +0 -7
- package/_testdriver/examples/chrome-extension/lifecycle/provision.yaml +0 -74
- package/_testdriver/examples/desktop/lifecycle/prerun.yaml +0 -0
- package/_testdriver/examples/desktop/lifecycle/provision.yaml +0 -64
- package/_testdriver/examples/vscode-extension/lifecycle/provision.yaml +0 -73
- package/_testdriver/examples/web/lifecycle/postrun.yaml +0 -7
- package/_testdriver/examples/web/lifecycle/prerun.yaml +0 -22
- package/_testdriver/lifecycle/postrun.yaml +0 -8
- package/_testdriver/lifecycle/prerun.yaml +0 -15
- package/_testdriver/lifecycle/provision.yaml +0 -25
- package/debug-screenshot-1763401388589.png +0 -0
- package/mcp-server/AI_GUIDELINES.md +0 -57
- package/scripts/view-test-results.mjs +0 -96
- package/styles/.vale-config/2-MDX.ini +0 -5
- package/styles/Microsoft/AMPM.yml +0 -9
- package/styles/Microsoft/Accessibility.yml +0 -30
- package/styles/Microsoft/Acronyms.yml +0 -64
- package/styles/Microsoft/Adverbs.yml +0 -272
- package/styles/Microsoft/Auto.yml +0 -11
- package/styles/Microsoft/Avoid.yml +0 -14
- package/styles/Microsoft/Contractions.yml +0 -50
- package/styles/Microsoft/Dashes.yml +0 -13
- package/styles/Microsoft/DateFormat.yml +0 -8
- package/styles/Microsoft/DateNumbers.yml +0 -40
- package/styles/Microsoft/DateOrder.yml +0 -8
- package/styles/Microsoft/Ellipses.yml +0 -9
- package/styles/Microsoft/FirstPerson.yml +0 -16
- package/styles/Microsoft/Foreign.yml +0 -13
- package/styles/Microsoft/Gender.yml +0 -8
- package/styles/Microsoft/GenderBias.yml +0 -42
- package/styles/Microsoft/GeneralURL.yml +0 -11
- package/styles/Microsoft/HeadingAcronyms.yml +0 -7
- package/styles/Microsoft/HeadingColons.yml +0 -8
- package/styles/Microsoft/HeadingPunctuation.yml +0 -13
- package/styles/Microsoft/Headings.yml +0 -28
- package/styles/Microsoft/Hyphens.yml +0 -14
- package/styles/Microsoft/Negative.yml +0 -13
- package/styles/Microsoft/Ordinal.yml +0 -13
- package/styles/Microsoft/OxfordComma.yml +0 -8
- package/styles/Microsoft/Passive.yml +0 -183
- package/styles/Microsoft/Percentages.yml +0 -7
- package/styles/Microsoft/Plurals.yml +0 -7
- package/styles/Microsoft/Quotes.yml +0 -7
- package/styles/Microsoft/RangeTime.yml +0 -13
- package/styles/Microsoft/Semicolon.yml +0 -8
- package/styles/Microsoft/SentenceLength.yml +0 -6
- package/styles/Microsoft/Spacing.yml +0 -8
- package/styles/Microsoft/Suspended.yml +0 -7
- package/styles/Microsoft/Terms.yml +0 -42
- package/styles/Microsoft/URLFormat.yml +0 -9
- package/styles/Microsoft/Units.yml +0 -16
- package/styles/Microsoft/Vocab.yml +0 -25
- package/styles/Microsoft/We.yml +0 -11
- package/styles/Microsoft/Wordiness.yml +0 -127
- package/styles/Microsoft/meta.json +0 -4
- package/styles/alex/Ablist.yml +0 -274
- package/styles/alex/Condescending.yml +0 -16
- package/styles/alex/Gendered.yml +0 -110
- package/styles/alex/LGBTQ.yml +0 -55
- package/styles/alex/OCD.yml +0 -10
- package/styles/alex/Press.yml +0 -12
- package/styles/alex/ProfanityLikely.yml +0 -1289
- package/styles/alex/ProfanityMaybe.yml +0 -282
- package/styles/alex/ProfanityUnlikely.yml +0 -251
- package/styles/alex/README.md +0 -27
- package/styles/alex/Race.yml +0 -85
- package/styles/alex/Suicide.yml +0 -26
- package/styles/alex/meta.json +0 -4
- package/styles/config/vocabularies/Docs/accept.txt +0 -47
- package/styles/config/vocabularies/Docs/reject.txt +0 -4
- package/styles/proselint/Airlinese.yml +0 -8
- package/styles/proselint/AnimalLabels.yml +0 -48
- package/styles/proselint/Annotations.yml +0 -9
- package/styles/proselint/Apologizing.yml +0 -8
- package/styles/proselint/Archaisms.yml +0 -52
- package/styles/proselint/But.yml +0 -8
- package/styles/proselint/Cliches.yml +0 -782
- package/styles/proselint/CorporateSpeak.yml +0 -30
- package/styles/proselint/Currency.yml +0 -5
- package/styles/proselint/Cursing.yml +0 -15
- package/styles/proselint/DateCase.yml +0 -7
- package/styles/proselint/DateMidnight.yml +0 -7
- package/styles/proselint/DateRedundancy.yml +0 -10
- package/styles/proselint/DateSpacing.yml +0 -7
- package/styles/proselint/DenizenLabels.yml +0 -52
- package/styles/proselint/Diacritical.yml +0 -95
- package/styles/proselint/GenderBias.yml +0 -45
- package/styles/proselint/GroupTerms.yml +0 -39
- package/styles/proselint/Hedging.yml +0 -8
- package/styles/proselint/Hyperbole.yml +0 -6
- package/styles/proselint/Jargon.yml +0 -11
- package/styles/proselint/LGBTOffensive.yml +0 -13
- package/styles/proselint/LGBTTerms.yml +0 -15
- package/styles/proselint/Malapropisms.yml +0 -8
- package/styles/proselint/Needless.yml +0 -358
- package/styles/proselint/Nonwords.yml +0 -38
- package/styles/proselint/Oxymorons.yml +0 -22
- package/styles/proselint/P-Value.yml +0 -6
- package/styles/proselint/RASSyndrome.yml +0 -30
- package/styles/proselint/README.md +0 -12
- package/styles/proselint/Skunked.yml +0 -13
- package/styles/proselint/Spelling.yml +0 -17
- package/styles/proselint/Typography.yml +0 -11
- package/styles/proselint/Uncomparables.yml +0 -50
- package/styles/proselint/Very.yml +0 -6
- package/styles/proselint/meta.json +0 -15
- package/styles/write-good/Cliches.yml +0 -702
- package/styles/write-good/E-Prime.yml +0 -32
- package/styles/write-good/Illusions.yml +0 -11
- package/styles/write-good/Passive.yml +0 -183
- package/styles/write-good/README.md +0 -27
- package/styles/write-good/So.yml +0 -5
- package/styles/write-good/ThereIs.yml +0 -6
- package/styles/write-good/TooWordy.yml +0 -221
- package/styles/write-good/Weasel.yml +0 -29
- package/styles/write-good/meta.json +0 -4
- package/test/mcp-example-test.yaml +0 -27
- package/test/test_parser.js +0 -47
- package/testdriver/acceptance-sdk/QUICK_REFERENCE.md +0 -61
- package/testdriver/acceptance-sdk/README.md +0 -128
- package/testdriver/acceptance-sdk/TEST_REPORTING.md +0 -245
- package/testdriver/acceptance-sdk/assert.test.mjs +0 -44
- package/testdriver/acceptance-sdk/scroll-until-text.test.mjs +0 -42
- package/testdriver/acceptance-sdk/setup/lifecycleHelpers.mjs +0 -239
- package/testdriver/acceptance-sdk/type-checking-demo.js +0 -49
- package/testdriver/acceptance-sdk/type.test.mjs +0 -84
- package/vale.ini +0 -18
- package/vitest.config.example.js +0 -19
- package/vitest.config.mjs.bak +0 -44
- /package/docs/{ARCHITECTURE.md → v7/_drafts/architecture.mdx} +0 -0
- /package/docs/{AWESOME_LOGS_QUICK_REF.md → v7/_drafts/awesome-logs-quick-ref.mdx} +0 -0
- /package/{CONTRIBUTING.md → docs/v7/_drafts/contributing.mdx} +0 -0
- /package/docs/v7/{guides → _drafts}/migration.mdx +0 -0
- /package/{PLUGIN_MIGRATION.md → docs/v7/_drafts/plugin-migration.mdx} +0 -0
- /package/{PROMPT_CACHE.md → docs/v7/_drafts/prompt-cache.mdx} +0 -0
- /package/docs/{SDK_AWESOME_LOGS.md → v7/_drafts/sdk-awesome-logs.mdx} +0 -0
- /package/docs/{sdk-browser-rendering.md → v7/_drafts/sdk-browser-rendering.mdx} +0 -0
- /package/{SDK_LOGGING.md → docs/v7/_drafts/sdk-logging.mdx} +0 -0
- /package/{SDK_MIGRATION.md → docs/v7/_drafts/sdk-migration.mdx} +0 -0
- /package/docs/{TEST_RECORDING.md → v7/_drafts/test-recording.mdx} +0 -0
- /package/docs/v7/{README.md → overview/readme.mdx} +0 -0
- /package/{debug-locate-response.js → test/manual/debug-locate-response.js} +0 -0
- /package/{test-find-api.js → test/manual/test-find-api.js} +0 -0
- /package/{test-prompt-cache.js → test/manual/test-prompt-cache.js} +0 -0
- /package/{test-sandbox-render.js → test/manual/test-sandbox-render.js} +0 -0
- /package/{test-sdk-methods.js → test/manual/test-sdk-methods.js} +0 -0
- /package/{test-sdk-refactor.js → test/manual/test-sdk-refactor.js} +0 -0
- /package/{test-stack-trace.mjs → test/manual/test-stack-trace.mjs} +0 -0
- /package/{verify-element-api.js → test/manual/verify-element-api.js} +0 -0
- /package/{verify-types.js → test/manual/verify-types.js} +0 -0
- /package/{testdriver/acceptance-sdk → test/testdriver}/setup/globalTeardown.mjs +0 -0
- /package/{testdriver/acceptance-sdk → test/testdriver}/setup/vitestSetup.mjs +0 -0
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
extends: existence
|
|
2
|
-
message: "Don't use language (such as '%s') that defines people by their disability."
|
|
3
|
-
link: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/term-collections/accessibility-terms
|
|
4
|
-
level: suggestion
|
|
5
|
-
ignorecase: true
|
|
6
|
-
tokens:
|
|
7
|
-
- a victim of
|
|
8
|
-
- able-bodied
|
|
9
|
-
- an epileptic
|
|
10
|
-
- birth defect
|
|
11
|
-
- crippled
|
|
12
|
-
- differently abled
|
|
13
|
-
- disabled
|
|
14
|
-
- dumb
|
|
15
|
-
- handicapped
|
|
16
|
-
- handicaps
|
|
17
|
-
- healthy person
|
|
18
|
-
- hearing-impaired
|
|
19
|
-
- lame
|
|
20
|
-
- maimed
|
|
21
|
-
- mentally handicapped
|
|
22
|
-
- missing a limb
|
|
23
|
-
- mute
|
|
24
|
-
- non-verbal
|
|
25
|
-
- normal person
|
|
26
|
-
- sight-impaired
|
|
27
|
-
- slow learner
|
|
28
|
-
- stricken with
|
|
29
|
-
- suffers from
|
|
30
|
-
- vision-impaired
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
extends: conditional
|
|
2
|
-
message: "'%s' has no definition."
|
|
3
|
-
link: https://docs.microsoft.com/en-us/style-guide/acronyms
|
|
4
|
-
level: suggestion
|
|
5
|
-
ignorecase: false
|
|
6
|
-
# Ensures that the existence of 'first' implies the existence of 'second'.
|
|
7
|
-
first: '\b([A-Z]{3,5})\b'
|
|
8
|
-
second: '(?:\b[A-Z][a-z]+ )+\(([A-Z]{3,5})\)'
|
|
9
|
-
# ... with the exception of these:
|
|
10
|
-
exceptions:
|
|
11
|
-
- API
|
|
12
|
-
- ASP
|
|
13
|
-
- CLI
|
|
14
|
-
- CPU
|
|
15
|
-
- CSS
|
|
16
|
-
- CSV
|
|
17
|
-
- DEBUG
|
|
18
|
-
- DOM
|
|
19
|
-
- DPI
|
|
20
|
-
- FAQ
|
|
21
|
-
- GCC
|
|
22
|
-
- GDB
|
|
23
|
-
- GET
|
|
24
|
-
- GPU
|
|
25
|
-
- GTK
|
|
26
|
-
- GUI
|
|
27
|
-
- HTML
|
|
28
|
-
- HTTP
|
|
29
|
-
- HTTPS
|
|
30
|
-
- IDE
|
|
31
|
-
- JAR
|
|
32
|
-
- JSON
|
|
33
|
-
- JSX
|
|
34
|
-
- LESS
|
|
35
|
-
- LLDB
|
|
36
|
-
- NET
|
|
37
|
-
- NOTE
|
|
38
|
-
- NVDA
|
|
39
|
-
- OSS
|
|
40
|
-
- PATH
|
|
41
|
-
- PDF
|
|
42
|
-
- PHP
|
|
43
|
-
- POST
|
|
44
|
-
- RAM
|
|
45
|
-
- REPL
|
|
46
|
-
- RSA
|
|
47
|
-
- SCM
|
|
48
|
-
- SCSS
|
|
49
|
-
- SDK
|
|
50
|
-
- SQL
|
|
51
|
-
- SSH
|
|
52
|
-
- SSL
|
|
53
|
-
- SVG
|
|
54
|
-
- TBD
|
|
55
|
-
- TCP
|
|
56
|
-
- TODO
|
|
57
|
-
- URI
|
|
58
|
-
- URL
|
|
59
|
-
- USB
|
|
60
|
-
- UTF
|
|
61
|
-
- XML
|
|
62
|
-
- XSS
|
|
63
|
-
- YAML
|
|
64
|
-
- ZIP
|
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
extends: existence
|
|
2
|
-
message: "Remove '%s' if it's not important to the meaning of the statement."
|
|
3
|
-
link: https://docs.microsoft.com/en-us/style-guide/word-choice/use-simple-words-concise-sentences
|
|
4
|
-
ignorecase: true
|
|
5
|
-
level: warning
|
|
6
|
-
action:
|
|
7
|
-
name: remove
|
|
8
|
-
tokens:
|
|
9
|
-
- abnormally
|
|
10
|
-
- absentmindedly
|
|
11
|
-
- accidentally
|
|
12
|
-
- adventurously
|
|
13
|
-
- anxiously
|
|
14
|
-
- arrogantly
|
|
15
|
-
- awkwardly
|
|
16
|
-
- bashfully
|
|
17
|
-
- beautifully
|
|
18
|
-
- bitterly
|
|
19
|
-
- bleakly
|
|
20
|
-
- blindly
|
|
21
|
-
- blissfully
|
|
22
|
-
- boastfully
|
|
23
|
-
- boldly
|
|
24
|
-
- bravely
|
|
25
|
-
- briefly
|
|
26
|
-
- brightly
|
|
27
|
-
- briskly
|
|
28
|
-
- broadly
|
|
29
|
-
- busily
|
|
30
|
-
- calmly
|
|
31
|
-
- carefully
|
|
32
|
-
- carelessly
|
|
33
|
-
- cautiously
|
|
34
|
-
- cheerfully
|
|
35
|
-
- cleverly
|
|
36
|
-
- closely
|
|
37
|
-
- coaxingly
|
|
38
|
-
- colorfully
|
|
39
|
-
- continually
|
|
40
|
-
- coolly
|
|
41
|
-
- courageously
|
|
42
|
-
- crossly
|
|
43
|
-
- cruelly
|
|
44
|
-
- curiously
|
|
45
|
-
- daintily
|
|
46
|
-
- dearly
|
|
47
|
-
- deceivingly
|
|
48
|
-
- deeply
|
|
49
|
-
- defiantly
|
|
50
|
-
- deliberately
|
|
51
|
-
- delightfully
|
|
52
|
-
- diligently
|
|
53
|
-
- dimly
|
|
54
|
-
- doubtfully
|
|
55
|
-
- dreamily
|
|
56
|
-
- easily
|
|
57
|
-
- effectively
|
|
58
|
-
- elegantly
|
|
59
|
-
- energetically
|
|
60
|
-
- enormously
|
|
61
|
-
- enthusiastically
|
|
62
|
-
- excitedly
|
|
63
|
-
- extremely
|
|
64
|
-
- fairly
|
|
65
|
-
- faithfully
|
|
66
|
-
- famously
|
|
67
|
-
- ferociously
|
|
68
|
-
- fervently
|
|
69
|
-
- fiercely
|
|
70
|
-
- fondly
|
|
71
|
-
- foolishly
|
|
72
|
-
- fortunately
|
|
73
|
-
- frankly
|
|
74
|
-
- frantically
|
|
75
|
-
- freely
|
|
76
|
-
- frenetically
|
|
77
|
-
- frightfully
|
|
78
|
-
- furiously
|
|
79
|
-
- generally
|
|
80
|
-
- generously
|
|
81
|
-
- gently
|
|
82
|
-
- gladly
|
|
83
|
-
- gleefully
|
|
84
|
-
- gracefully
|
|
85
|
-
- gratefully
|
|
86
|
-
- greatly
|
|
87
|
-
- greedily
|
|
88
|
-
- happily
|
|
89
|
-
- hastily
|
|
90
|
-
- healthily
|
|
91
|
-
- heavily
|
|
92
|
-
- helplessly
|
|
93
|
-
- honestly
|
|
94
|
-
- hopelessly
|
|
95
|
-
- hungrily
|
|
96
|
-
- innocently
|
|
97
|
-
- inquisitively
|
|
98
|
-
- intensely
|
|
99
|
-
- intently
|
|
100
|
-
- interestingly
|
|
101
|
-
- inwardly
|
|
102
|
-
- irritably
|
|
103
|
-
- jaggedly
|
|
104
|
-
- jealously
|
|
105
|
-
- jovially
|
|
106
|
-
- joyfully
|
|
107
|
-
- joyously
|
|
108
|
-
- jubilantly
|
|
109
|
-
- judgmentally
|
|
110
|
-
- justly
|
|
111
|
-
- keenly
|
|
112
|
-
- kiddingly
|
|
113
|
-
- kindheartedly
|
|
114
|
-
- knavishly
|
|
115
|
-
- knowingly
|
|
116
|
-
- knowledgeably
|
|
117
|
-
- lazily
|
|
118
|
-
- lightly
|
|
119
|
-
- limply
|
|
120
|
-
- lively
|
|
121
|
-
- loftily
|
|
122
|
-
- longingly
|
|
123
|
-
- loosely
|
|
124
|
-
- loudly
|
|
125
|
-
- lovingly
|
|
126
|
-
- loyally
|
|
127
|
-
- madly
|
|
128
|
-
- majestically
|
|
129
|
-
- meaningfully
|
|
130
|
-
- mechanically
|
|
131
|
-
- merrily
|
|
132
|
-
- miserably
|
|
133
|
-
- mockingly
|
|
134
|
-
- mortally
|
|
135
|
-
- mysteriously
|
|
136
|
-
- naturally
|
|
137
|
-
- nearly
|
|
138
|
-
- neatly
|
|
139
|
-
- nervously
|
|
140
|
-
- nicely
|
|
141
|
-
- noisily
|
|
142
|
-
- obediently
|
|
143
|
-
- obnoxiously
|
|
144
|
-
- oddly
|
|
145
|
-
- offensively
|
|
146
|
-
- optimistically
|
|
147
|
-
- overconfidently
|
|
148
|
-
- painfully
|
|
149
|
-
- partially
|
|
150
|
-
- patiently
|
|
151
|
-
- perfectly
|
|
152
|
-
- playfully
|
|
153
|
-
- politely
|
|
154
|
-
- poorly
|
|
155
|
-
- positively
|
|
156
|
-
- potentially
|
|
157
|
-
- powerfully
|
|
158
|
-
- promptly
|
|
159
|
-
- properly
|
|
160
|
-
- punctually
|
|
161
|
-
- quaintly
|
|
162
|
-
- queasily
|
|
163
|
-
- queerly
|
|
164
|
-
- questionably
|
|
165
|
-
- quickly
|
|
166
|
-
- quietly
|
|
167
|
-
- quirkily
|
|
168
|
-
- quite
|
|
169
|
-
- quizzically
|
|
170
|
-
- randomly
|
|
171
|
-
- rapidly
|
|
172
|
-
- rarely
|
|
173
|
-
- readily
|
|
174
|
-
- really
|
|
175
|
-
- reassuringly
|
|
176
|
-
- recklessly
|
|
177
|
-
- regularly
|
|
178
|
-
- reluctantly
|
|
179
|
-
- repeatedly
|
|
180
|
-
- reproachfully
|
|
181
|
-
- restfully
|
|
182
|
-
- righteously
|
|
183
|
-
- rightfully
|
|
184
|
-
- rigidly
|
|
185
|
-
- roughly
|
|
186
|
-
- rudely
|
|
187
|
-
- safely
|
|
188
|
-
- scarcely
|
|
189
|
-
- scarily
|
|
190
|
-
- searchingly
|
|
191
|
-
- sedately
|
|
192
|
-
- seemingly
|
|
193
|
-
- selfishly
|
|
194
|
-
- separately
|
|
195
|
-
- seriously
|
|
196
|
-
- shakily
|
|
197
|
-
- sharply
|
|
198
|
-
- sheepishly
|
|
199
|
-
- shrilly
|
|
200
|
-
- shyly
|
|
201
|
-
- silently
|
|
202
|
-
- sleepily
|
|
203
|
-
- slowly
|
|
204
|
-
- smoothly
|
|
205
|
-
- softly
|
|
206
|
-
- solemnly
|
|
207
|
-
- solidly
|
|
208
|
-
- speedily
|
|
209
|
-
- stealthily
|
|
210
|
-
- sternly
|
|
211
|
-
- strictly
|
|
212
|
-
- suddenly
|
|
213
|
-
- supposedly
|
|
214
|
-
- surprisingly
|
|
215
|
-
- suspiciously
|
|
216
|
-
- sweetly
|
|
217
|
-
- swiftly
|
|
218
|
-
- sympathetically
|
|
219
|
-
- tenderly
|
|
220
|
-
- tensely
|
|
221
|
-
- terribly
|
|
222
|
-
- thankfully
|
|
223
|
-
- thoroughly
|
|
224
|
-
- thoughtfully
|
|
225
|
-
- tightly
|
|
226
|
-
- tremendously
|
|
227
|
-
- triumphantly
|
|
228
|
-
- truthfully
|
|
229
|
-
- ultimately
|
|
230
|
-
- unabashedly
|
|
231
|
-
- unaccountably
|
|
232
|
-
- unbearably
|
|
233
|
-
- unethically
|
|
234
|
-
- unexpectedly
|
|
235
|
-
- unfortunately
|
|
236
|
-
- unimpressively
|
|
237
|
-
- unnaturally
|
|
238
|
-
- unnecessarily
|
|
239
|
-
- urgently
|
|
240
|
-
- usefully
|
|
241
|
-
- uselessly
|
|
242
|
-
- utterly
|
|
243
|
-
- vacantly
|
|
244
|
-
- vaguely
|
|
245
|
-
- vainly
|
|
246
|
-
- valiantly
|
|
247
|
-
- vastly
|
|
248
|
-
- verbally
|
|
249
|
-
- very
|
|
250
|
-
- viciously
|
|
251
|
-
- victoriously
|
|
252
|
-
- violently
|
|
253
|
-
- vivaciously
|
|
254
|
-
- voluntarily
|
|
255
|
-
- warmly
|
|
256
|
-
- weakly
|
|
257
|
-
- wearily
|
|
258
|
-
- wetly
|
|
259
|
-
- wholly
|
|
260
|
-
- wildly
|
|
261
|
-
- willfully
|
|
262
|
-
- wisely
|
|
263
|
-
- woefully
|
|
264
|
-
- wonderfully
|
|
265
|
-
- worriedly
|
|
266
|
-
- yawningly
|
|
267
|
-
- yearningly
|
|
268
|
-
- yieldingly
|
|
269
|
-
- youthfully
|
|
270
|
-
- zealously
|
|
271
|
-
- zestfully
|
|
272
|
-
- zestily
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
extends: existence
|
|
2
|
-
message: "In general, don't hyphenate '%s'."
|
|
3
|
-
link: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/a/auto
|
|
4
|
-
ignorecase: true
|
|
5
|
-
level: error
|
|
6
|
-
action:
|
|
7
|
-
name: convert
|
|
8
|
-
params:
|
|
9
|
-
- simple
|
|
10
|
-
tokens:
|
|
11
|
-
- 'auto-\w+'
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
extends: existence
|
|
2
|
-
message: "Don't use '%s'. See the A-Z word list for details."
|
|
3
|
-
# See the A-Z word list
|
|
4
|
-
link: https://docs.microsoft.com/en-us/style-guide
|
|
5
|
-
ignorecase: true
|
|
6
|
-
level: error
|
|
7
|
-
tokens:
|
|
8
|
-
- abortion
|
|
9
|
-
- and so on
|
|
10
|
-
- app(?:lication)?s? (?:developer|program)
|
|
11
|
-
- app(?:lication)? file
|
|
12
|
-
- backbone
|
|
13
|
-
- backend
|
|
14
|
-
- contiguous selection
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
extends: substitution
|
|
2
|
-
message: "Use '%s' instead of '%s'."
|
|
3
|
-
link: https://docs.microsoft.com/en-us/style-guide/word-choice/use-contractions
|
|
4
|
-
level: error
|
|
5
|
-
ignorecase: true
|
|
6
|
-
action:
|
|
7
|
-
name: replace
|
|
8
|
-
swap:
|
|
9
|
-
are not: aren't
|
|
10
|
-
cannot: can't
|
|
11
|
-
could not: couldn't
|
|
12
|
-
did not: didn't
|
|
13
|
-
do not: don't
|
|
14
|
-
does not: doesn't
|
|
15
|
-
has not: hasn't
|
|
16
|
-
have not: haven't
|
|
17
|
-
how is: how's
|
|
18
|
-
is not: isn't
|
|
19
|
-
|
|
20
|
-
'it is(?!\.)': it's
|
|
21
|
-
'it''s(?=\.)': it is
|
|
22
|
-
|
|
23
|
-
should not: shouldn't
|
|
24
|
-
|
|
25
|
-
"that is(?![.,])": that's
|
|
26
|
-
'that''s(?=\.)': that is
|
|
27
|
-
|
|
28
|
-
'they are(?!\.)': they're
|
|
29
|
-
'they''re(?=\.)': they are
|
|
30
|
-
|
|
31
|
-
was not: wasn't
|
|
32
|
-
|
|
33
|
-
'we are(?!\.)': we're
|
|
34
|
-
'we''re(?=\.)': we are
|
|
35
|
-
|
|
36
|
-
'we have(?!\.)': we've
|
|
37
|
-
'we''ve(?=\.)': we have
|
|
38
|
-
|
|
39
|
-
were not: weren't
|
|
40
|
-
|
|
41
|
-
'what is(?!\.)': what's
|
|
42
|
-
'what''s(?=\.)': what is
|
|
43
|
-
|
|
44
|
-
'when is(?!\.)': when's
|
|
45
|
-
'when''s(?=\.)': when is
|
|
46
|
-
|
|
47
|
-
'where is(?!\.)': where's
|
|
48
|
-
'where''s(?=\.)': where is
|
|
49
|
-
|
|
50
|
-
will not: won't
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
extends: existence
|
|
2
|
-
message: "Remove the spaces around '%s'."
|
|
3
|
-
link: https://docs.microsoft.com/en-us/style-guide/punctuation/dashes-hyphens/emes
|
|
4
|
-
ignorecase: true
|
|
5
|
-
nonword: true
|
|
6
|
-
level: error
|
|
7
|
-
action:
|
|
8
|
-
name: edit
|
|
9
|
-
params:
|
|
10
|
-
- trim
|
|
11
|
-
- " "
|
|
12
|
-
tokens:
|
|
13
|
-
- '\s[—–]\s|\s[—–]|[—–]\s'
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
extends: existence
|
|
2
|
-
message: Use 'July 31, 2016' format, not '%s'.
|
|
3
|
-
link: https://docs.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/term-collections/date-time-terms
|
|
4
|
-
ignorecase: true
|
|
5
|
-
level: error
|
|
6
|
-
nonword: true
|
|
7
|
-
tokens:
|
|
8
|
-
- '\d{1,2} (?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)|May|Jun(?:e)|Jul(?:y)|Aug(?:ust)|Sep(?:tember)?|Oct(?:ober)|Nov(?:ember)?|Dec(?:ember)?) \d{4}'
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
extends: existence
|
|
2
|
-
message: "Don't use ordinal numbers for dates."
|
|
3
|
-
link: https://docs.microsoft.com/en-us/style-guide/numbers#numbers-in-dates
|
|
4
|
-
level: error
|
|
5
|
-
nonword: true
|
|
6
|
-
ignorecase: true
|
|
7
|
-
raw:
|
|
8
|
-
- \b(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)|May|Jun(?:e)|Jul(?:y)|Aug(?:ust)|Sep(?:tember)?|Oct(?:ober)|Nov(?:ember)?|Dec(?:ember)?)\b\s*
|
|
9
|
-
tokens:
|
|
10
|
-
- first
|
|
11
|
-
- second
|
|
12
|
-
- third
|
|
13
|
-
- fourth
|
|
14
|
-
- fifth
|
|
15
|
-
- sixth
|
|
16
|
-
- seventh
|
|
17
|
-
- eighth
|
|
18
|
-
- ninth
|
|
19
|
-
- tenth
|
|
20
|
-
- eleventh
|
|
21
|
-
- twelfth
|
|
22
|
-
- thirteenth
|
|
23
|
-
- fourteenth
|
|
24
|
-
- fifteenth
|
|
25
|
-
- sixteenth
|
|
26
|
-
- seventeenth
|
|
27
|
-
- eighteenth
|
|
28
|
-
- nineteenth
|
|
29
|
-
- twentieth
|
|
30
|
-
- twenty-first
|
|
31
|
-
- twenty-second
|
|
32
|
-
- twenty-third
|
|
33
|
-
- twenty-fourth
|
|
34
|
-
- twenty-fifth
|
|
35
|
-
- twenty-sixth
|
|
36
|
-
- twenty-seventh
|
|
37
|
-
- twenty-eighth
|
|
38
|
-
- twenty-ninth
|
|
39
|
-
- thirtieth
|
|
40
|
-
- thirty-first
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
extends: existence
|
|
2
|
-
message: "Use first person (such as '%s') sparingly."
|
|
3
|
-
link: https://docs.microsoft.com/en-us/style-guide/grammar/person
|
|
4
|
-
ignorecase: true
|
|
5
|
-
level: warning
|
|
6
|
-
nonword: true
|
|
7
|
-
tokens:
|
|
8
|
-
- (?:^|\s)I(?=\s)
|
|
9
|
-
- (?:^|\s)I(?=,\s)
|
|
10
|
-
- \bI'd\b
|
|
11
|
-
- \bI'll\b
|
|
12
|
-
- \bI'm\b
|
|
13
|
-
- \bI've\b
|
|
14
|
-
- \bme\b
|
|
15
|
-
- \bmy\b
|
|
16
|
-
- \bmine\b
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
extends: substitution
|
|
2
|
-
message: "Use '%s' instead of '%s'."
|
|
3
|
-
link: https://docs.microsoft.com/en-us/style-guide/word-choice/use-us-spelling-avoid-non-english-words
|
|
4
|
-
ignorecase: true
|
|
5
|
-
level: error
|
|
6
|
-
nonword: true
|
|
7
|
-
action:
|
|
8
|
-
name: replace
|
|
9
|
-
swap:
|
|
10
|
-
'\b(?:eg|e\.g\.)[\s,]': for example
|
|
11
|
-
'\b(?:ie|i\.e\.)[\s,]': that is
|
|
12
|
-
'\b(?:viz\.)[\s,]': namely
|
|
13
|
-
'\b(?:ergo)[\s,]': therefore
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
extends: substitution
|
|
2
|
-
message: "Consider using '%s' instead of '%s'."
|
|
3
|
-
ignorecase: true
|
|
4
|
-
level: error
|
|
5
|
-
action:
|
|
6
|
-
name: replace
|
|
7
|
-
swap:
|
|
8
|
-
(?:alumna|alumnus): graduate
|
|
9
|
-
(?:alumnae|alumni): graduates
|
|
10
|
-
air(?:m[ae]n|wom[ae]n): pilot(s)
|
|
11
|
-
anchor(?:m[ae]n|wom[ae]n): anchor(s)
|
|
12
|
-
authoress: author
|
|
13
|
-
camera(?:m[ae]n|wom[ae]n): camera operator(s)
|
|
14
|
-
door(?:m[ae]|wom[ae]n): concierge(s)
|
|
15
|
-
draft(?:m[ae]n|wom[ae]n): drafter(s)
|
|
16
|
-
fire(?:m[ae]n|wom[ae]n): firefighter(s)
|
|
17
|
-
fisher(?:m[ae]n|wom[ae]n): fisher(s)
|
|
18
|
-
fresh(?:m[ae]n|wom[ae]n): first-year student(s)
|
|
19
|
-
garbage(?:m[ae]n|wom[ae]n): waste collector(s)
|
|
20
|
-
lady lawyer: lawyer
|
|
21
|
-
ladylike: courteous
|
|
22
|
-
mail(?:m[ae]n|wom[ae]n): mail carriers
|
|
23
|
-
man and wife: husband and wife
|
|
24
|
-
man enough: strong enough
|
|
25
|
-
mankind: human kind
|
|
26
|
-
manmade: manufactured
|
|
27
|
-
manpower: personnel
|
|
28
|
-
middle(?:m[ae]n|wom[ae]n): intermediary
|
|
29
|
-
news(?:m[ae]n|wom[ae]n): journalist(s)
|
|
30
|
-
ombuds(?:man|woman): ombuds
|
|
31
|
-
oneupmanship: upstaging
|
|
32
|
-
poetess: poet
|
|
33
|
-
police(?:m[ae]n|wom[ae]n): police officer(s)
|
|
34
|
-
repair(?:m[ae]n|wom[ae]n): technician(s)
|
|
35
|
-
sales(?:m[ae]n|wom[ae]n): salesperson or sales people
|
|
36
|
-
service(?:m[ae]n|wom[ae]n): soldier(s)
|
|
37
|
-
steward(?:ess)?: flight attendant
|
|
38
|
-
tribes(?:m[ae]n|wom[ae]n): tribe member(s)
|
|
39
|
-
waitress: waiter
|
|
40
|
-
woman doctor: doctor
|
|
41
|
-
woman scientist[s]?: scientist(s)
|
|
42
|
-
work(?:m[ae]n|wom[ae]n): worker(s)
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
extends: existence
|
|
2
|
-
message: "Don't use end punctuation in headings."
|
|
3
|
-
link: https://docs.microsoft.com/en-us/style-guide/punctuation/periods
|
|
4
|
-
nonword: true
|
|
5
|
-
level: warning
|
|
6
|
-
scope: heading
|
|
7
|
-
action:
|
|
8
|
-
name: edit
|
|
9
|
-
params:
|
|
10
|
-
- trim_right
|
|
11
|
-
- ".?!"
|
|
12
|
-
tokens:
|
|
13
|
-
- "[a-z][.?!]$"
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
extends: capitalization
|
|
2
|
-
message: "'%s' should use sentence-style capitalization."
|
|
3
|
-
link: https://docs.microsoft.com/en-us/style-guide/capitalization
|
|
4
|
-
level: suggestion
|
|
5
|
-
scope: heading
|
|
6
|
-
match: $sentence
|
|
7
|
-
indicators:
|
|
8
|
-
- ":"
|
|
9
|
-
exceptions:
|
|
10
|
-
- Azure
|
|
11
|
-
- CLI
|
|
12
|
-
- Code
|
|
13
|
-
- Cosmos
|
|
14
|
-
- Docker
|
|
15
|
-
- Emmet
|
|
16
|
-
- I
|
|
17
|
-
- Kubernetes
|
|
18
|
-
- Linux
|
|
19
|
-
- macOS
|
|
20
|
-
- Marketplace
|
|
21
|
-
- MongoDB
|
|
22
|
-
- REPL
|
|
23
|
-
- Studio
|
|
24
|
-
- TypeScript
|
|
25
|
-
- URLs
|
|
26
|
-
- Visual
|
|
27
|
-
- VS
|
|
28
|
-
- Windows
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
extends: existence
|
|
2
|
-
message: "'%s' doesn't need a hyphen."
|
|
3
|
-
link: https://docs.microsoft.com/en-us/style-guide/punctuation/dashes-hyphens/hyphens
|
|
4
|
-
level: warning
|
|
5
|
-
ignorecase: false
|
|
6
|
-
nonword: true
|
|
7
|
-
action:
|
|
8
|
-
name: edit
|
|
9
|
-
params:
|
|
10
|
-
- regex
|
|
11
|
-
- "-"
|
|
12
|
-
- " "
|
|
13
|
-
tokens:
|
|
14
|
-
- '\b[^\s-]+ly-\w+\b'
|