Граф коммитов

526 Коммитов

Автор SHA1 Сообщение Дата
Jake Bailey a6be79d535
Remove old test262 and dt runner infra (#53125) 2023-03-07 11:59:47 -08:00
Jake Bailey 74e61d36ad
Fix script compile (#53136) 2023-03-07 08:55:50 -08:00
Mateusz Burzyński 9f8a160d53
Attach commit as `package.json#gitHead` in prerelease versions (#47932) 2023-03-07 08:35:16 -08:00
Jake Bailey c97ddac60d
Run lint in parallel with runtests-parallel (#52945)
Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
2023-02-27 11:06:20 -08:00
Jake Bailey 6fe711f85a
Remove unused eslint-disable directives (#52987) 2023-02-27 11:01:37 -08:00
Jake Bailey 2a8436c529
Use eslint-plugin-simple-import-sort (#52090) 2023-02-02 14:36:21 -08:00
Jake Bailey 3d38971b7f
Fix error in herebyfile after comparison strictness change (#52376) 2023-01-23 13:49:26 -08:00
Jake Bailey 91822db8e0
Remove doc folder (old archived spec and assets), word2md script (#51791) 2023-01-05 13:49:00 -08:00
Jake Bailey 4ac75fa2b6
Remove emitDeclarationOnly hack now that build mode supports it as a flag (#51795) 2022-12-06 16:02:23 -08:00
Jake Bailey 703652cebf
Remove some files from the repo root (#51446) 2022-12-06 13:42:54 -08:00
Jake Bailey 2d2a4343b8
Reformat imports to be one identifier per line (#51565) 2022-11-17 13:42:18 -08:00
Jake Bailey 8eed2ca2dd
Consistently respect --no-typecheck flag in build (#51575) 2022-11-17 12:44:39 -08:00
Ron Buckton e67b06e909
Simplistic watch mode for runtests (#51461)
* Simplistic watch mode for runtests

* Use esbuild WatchMode object for testRunner updates

* switch AbortController to CancelToken
2022-11-09 15:07:08 -05:00
Jake Bailey 0993c017ba
Fix JSDoc eslint rule for properties and methods (#51462) 2022-11-08 16:35:10 -08:00
Jake Bailey d237468cda
Add --no-typecheck option for runtests/runtests-parallel/min/local (#51460) 2022-11-08 15:39:04 -08:00
Jake Bailey b4715d3891
Replace eslint-plugin-jsdoc by extending local jsdoc-format rule, saving ~20% of our linting time (#51438) 2022-11-08 13:59:48 -08:00
Jake Bailey 6a3b4991f0
Remove leftover todo from mjs/cjs transition (#51453) 2022-11-08 12:23:30 -08:00
Jake Bailey acfe7ac6d2 Remove mkdirp
If our build scripts target Node 10+, we can use the builtin mkdir
function in recursive mode instead.
2022-11-07 13:35:48 -08:00
Jake Bailey bbc906dea3 Don't use needsUpdate for quick tasks
needsUpdate may be wrong when the branch changes; these ones are now so
fast thanks to being pure JS that we can just always run their contents
and be sure that the outputs are right.
2022-11-07 13:35:48 -08:00
Jake Bailey aec2761d31 Modernize localize script, use new XML library
This file is pretty much the same as it was when it was committed in
2017; these days, we can write clearer code with async/await and new FS
APIs.

Additionally, we can improve the performance of this script by using a
newer/faster/maintained XML library. This will enable us to run the
script unconditionally in a later commit.
2022-11-07 13:35:48 -08:00
Jake Bailey 394c4ae68b Use jsonc-parser instead of LKG compiler in build
Profiling the build roughly half of the time spent loading the
build is spent importing typescript.js, for this one function.

Since this stack is already adding required devDependencies, switch
readJson to use jsonc-parser (published by the VS Code team), rather
than importing the entire LKG typescript.js library.
2022-11-07 13:35:48 -08:00
Jake Bailey 3cd72e76b2 Change build system to hereby
This eliminates a significant number of dependencies, eliminating all
npm audit issues, speeding up `npm ci` by 20%, and overall making the
build faster (faster startup, direct code is faster than streams, etc)
and clearer to understand.

I'm finding it much easier to make build changes for the module
transform with this; I can more clearly indicate task dependencies and
prevent running tasks that don't need to be run.

Given we're changing our build process entirely (new deps, new steps),
it seems like this is a good time to change things up.
2022-11-07 13:35:48 -08:00
Jake Bailey c65142244c Add dts bundling
This adds a "small" d.ts bundler script. This script is very basic,
using Node printing to produce its output. Generally speaking, this is
inadvisable as it completely disregards name shadowing, globals, etc.
However, in our case, we don't care about the globals, and we can opt to
restructure our codebase in order to avoid conflict, which we largely
had to do anyway when we were namespaces and everything was in scope.
2022-11-07 13:35:48 -08:00
Jake Bailey 4139807e75 Add build via esbuild
This configures the existing build tasks to use esbuild by default. If
using the plain files is desired, passing `--bundle=false` will build
using plain files and still produce a runnable system.

This is only a basic build; a more efficient build is provided later
when gulp is replaced by hereby.
2022-11-07 13:34:44 -08:00
Jake Bailey 6dfa4299d7 Remove typescriptServices, protocol.d.ts, typescript_standalone.d.ts
This is the same as TypeScript PR 51026.
2022-11-07 13:34:44 -08:00
Jake Bailey d12116d8da Fix all internal JSDoc comments
If these are regular comments, then they won't appear in our d.ts files.
But, now we are relying on an external d.ts bundler to produce our final
merged, so they need to be present in the "input" d.ts files, meaning
they have to be JSDoc comments.

These comments only work today because all of our builds load their TS
files from scratch, so they see the actual source files and their
non-JSDoc comments.

The comments also need to be attached to a declaration, not floating,
otherwise they won't be used by api-extractor, so move them if needed.
2022-11-07 13:34:44 -08:00
Jake Bailey 231fa27f89 Add JSDoc eslint rule
See the next commit for a more fleshed-out description.
2022-11-07 13:33:08 -08:00
Jake Bailey 39e27fbb6b Fix up linting, make lint clean
Now that we are modules, there's no reason to ban multiple namespaces
per file; each file is its own scope and declaring a namespace won't
merge it into any other files.
2022-11-07 13:33:07 -08:00
Jake Bailey 180554c99e Make processDiagnosticMessages generate a module 2022-11-07 13:33:07 -08:00
Jake Bailey 754eeb2986
Update CodeQL workflow and configuration, fix found bugs (#51263) 2022-10-27 16:29:55 -07:00
Jake Bailey a24201c8ef
Remove VSDevMode.ps1 and createPlaygroundBuild (#51166) 2022-10-13 14:39:25 -07:00
Jake Bailey ad56b5ca56
Convert scripts/Gulpfile to checked mjs/cjs so they can run without compilation (#50988) 2022-10-07 09:50:46 -07:00
Jake Bailey 49533168db
Remove configureLanguageServiceBuild, instrumenter (#51048) 2022-10-04 10:36:57 -07:00
Jake Bailey f16ca7dd36
Remove 'async' dependency, used only in errorCheck.ts, modernize file (#50667) 2022-09-23 09:54:36 -07:00
Jake Bailey 16156b1baf
Add rules from eslint's recommended set that triggered good lints (#50422) 2022-09-19 16:20:55 -07:00
Jake Bailey 68d526c200
Don't run linter after tests runs (#50597) 2022-09-12 13:30:18 -07:00
Ron Buckton a4cabe725b
Support for auto-accessor fields from the Stage 3 Decorators proposal (#49705)
* Support for auto-accessor fields

* Add tests, ensure accessors are initialized in ctor

* classFields cleanup and PR feedback
2022-09-12 15:12:11 -04:00
Jake Bailey 3c3820b1a4
Simplify CI detection (#50661) 2022-09-06 16:36:37 -07:00
Jake Bailey 9ac1fce117
Fix eslint not looking at certain scripts, fix lints (#50660) 2022-09-06 16:05:47 -07:00
Jake Bailey 5c2f770d97
Remove unused cancellation from build (#50658) 2022-09-06 12:43:06 -07:00
Jake Bailey e675ea8dd8
Remove AUTHORS.md, .mailmap, authors.ts script (#50410) 2022-08-25 15:38:09 -07:00
Jake Bailey 6362fb2dce
Replace eslint rulesdir with eslint-plugin-local, convert eslint rules to JS (#50380) 2022-08-22 13:46:03 -07:00
Jake Bailey ef88fbb8ab
Remove some unused deps and dead code (#50367) 2022-08-19 09:42:14 -07:00
Jake Bailey 66d8b95941
Ensure all scripts are checked, fix errors (#50326) 2022-08-17 16:42:50 -07:00
Jake Bailey 9f7c0cbad7
Run ESLint over our JS files, fix all lints (#50172) 2022-08-15 08:42:26 -07:00
Jack Works e2fbe19adf
fix: produceLKG does not work on Windows (#50140) 2022-08-10 20:12:17 -07:00
Jake Bailey 734b9828a6
Update all depedencies, including ESLint 8, refresh lockfile (#49550) 2022-06-16 13:39:42 -07:00
Jake Bailey 884f5ac258
Ensure scripts compile, are checked in strict mode (#49524) 2022-06-14 16:28:42 -07:00
Matt Bierner 3fc5f968ca
Enable TS Server plugins on web (#47377)
* Prototype TS plugins on web

This prototype allows service plugins to be loaded on web TSServer

Main changes:

- Adds a new host entryPoint called `importServicePlugin` for overriding how plugins can be loaded. This may be async
- Implement `importServicePlugin` for webServer
- The web server plugin implementation looks for a `browser` field in the plugin's `package.json`
- It then uses `import(...)` to load the plugin (the plugin source must be compiled to support being loaded as a module)

* use default export from plugins

This more or less matches how node plugins expect the plugin module to be an init function

* Allow configure plugin requests against any web servers in partial semantic mode

* Addressing some comments

- Use result value instead of try/catch (`ImportPluginResult`)
- Add awaits
- Add logging

* add tsserverWeb to patch in dynamic import

* Remove eval

We should throw instead when dynamic import is not implemented

* Ensure dynamically imported plugins are loaded in the correct order

* Add tests for async service plugin timing

* Update src/server/editorServices.ts

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>

* Partial PR feedback

* Rename tsserverWeb to dynamicImportCompat

* Additional PR feedback

Co-authored-by: Ron Buckton <ron.buckton@microsoft.com>
Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2022-06-14 12:35:53 -07:00
Mateusz Burzyński d337cbc19f
Run `mocha` using `process.execPath` instead of harcoding `"node"` (#48797) 2022-05-04 08:23:08 -07:00
Ryan Cavanaugh 9153eaaee0
Reserve a core in runtests-parallel on non-CI machines (#48502) 2022-03-31 21:27:58 -07:00
Jake Bailey 5fd0b6432e
Clean up a load of unused dependencies, broken jake script (#48214) 2022-03-11 09:36:03 -08:00
Alvin Ramskogler 0b9f8b4aa2
Fix confusing file name in generated diagnostics file (#46821)
* Fix confusing file name in generated diagnostics file

* Change "by" to "in"
2022-01-28 15:08:19 -08:00
Ron Buckton c792a66065
Pin chalk to ^4.1 (#46985)
* Pin chalk to ^4.1

* Revert #46931
2021-12-02 11:05:17 -08:00
uhyo 04f831d795
Import chalk with import() syntax (#46931)
This makes code compatible with chalk v5.0.0.
2021-11-29 13:32:29 +00:00
Andrew Branch 7f8bf0b9c4
Fix git remote in cherry pick script (#46647) 2021-11-02 12:39:42 -07:00
Eli Barzilay fa2ad1a35a Fix `findUpDir.ts` and uses
Missed a bunch of stuff in #46414 (556098e).
2021-11-01 16:45:49 -04:00
Eli Barzilay 556098ed50 Avoid hard-wired build-tree paths
Instead, search for stuff up the directory tree, with the main
functionality being to look for `Gulpfile.js` and assume the resulting
directory is the root.

(Unfortunatley, this is implemented twice, one in `scripts` and another
in `src`.  It's not possible to use a single implementation for both
since that would require assuming a directory structure which this is
intended to avoid.)

Also, in `scripts/build/projects.js`, abstracdt common exec
functionality into a local helper, and use full paths based on the above
search instead of assuming relative paths assuming CWD being in the
project root.
2021-10-18 17:43:45 -04:00
Eli Barzilay 7c3f607032 `scripts/build/utils` simplify exec
Using shell-based execution is always a bad idea; this thing didn't do
that via an option, but instead did it manually by constructing a shell
command so it suffers from the same diseases.

Perhaps there was need for this at some point in the past, but things
are pretty robust now, so there's no need to avoid running the command
normally.  The only thing that is needed is to add `which` which also
handles windows executable suffixes.

I tried this with a fresh clone on windows, where the tree and TS are
installed in paths that have spaces, and everything works as it should.
2021-10-18 17:43:19 -04:00
Orta Therox 41dcad056a
Adds a script for removing unused diagnostics (#44324)
* Adds a script for removing unused diagnostics

* Accidentally deleted the wrong one
2021-08-24 13:03:18 +01:00
Ryan Cavanaugh e00b5ecd40
Enable `max-statements-per-line` lint rule (#45475)
* Enable the rule

* Fix all the violations
2021-08-16 13:53:51 -07:00
Orta Therox fdc31baffe
Fix types in the boolean trivial lint rule (#44801) 2021-06-29 11:53:35 -07:00
Oleksandr T 7c47be76b0
fix(44738): fix eslint rules (#44739) 2021-06-25 14:50:19 -07:00
Ikko Ashimine 4903c64ad2
Fix typo in open-cherry-pick-pr.ts (#44517)
seperately -> separately
2021-06-09 14:16:08 +01:00
Orta Therox be2fec1386
Update playground build script (#44456) 2021-06-07 21:39:52 +01:00
Orta Therox b603a04eed
Switch references to master to main in the codebase + validating infra post-main migration (#44347)
* Update package.json

* Remove references to master in the codebase

* Add more master - main
2021-06-01 20:44:18 +01:00
Oleksandr T db01e84700
feat(eslint): consistent-type-assertions (#43556) 2021-05-18 06:20:57 -07:00
Ron Buckton 68b0323b72
Refactor emit substitution into transform (#42676)
* Refactor emit substitution into transform

* Add reusable state machine for binary expressions

* Allow emitBinary to use state machine for comments/sourcemaps

* Switch core trampoline state back to arrays

* Switch binder to parallel stacks, temporarily partially revert emitBinary

* Add link to benchmark when posting perf results

* Ensure work stacks are per-execution

* Reenable comments and sourcemaps
2021-02-25 23:01:41 -08:00
Andrew Branch d3055f0f29
--inspect can no longer be used as a flag through gulp (#42701)
* --inspect can no longer be used as a flag through gulp

* Add --break alias

* Update scripts/build/options.js
2021-02-12 16:01:22 -08:00
Wesley Wigham 3722584029
Make the configurePrerelease script OK with version having a string type annotation (#42008) 2020-12-17 10:13:12 -08:00
Oleksandr T 2437ce5793 feat(eslint): upgrade typescript-eslint/eslint 2020-11-02 12:37:10 +02:00
Andrew Branch 2084404b8f
Install playwright on demand (#40722)
* Remove playwright from package.json

* Install playwright on demand

* Adds debugging info to the playwright script

* Move installation first

* Get it working on node 10 again

* Update browserIntegrationTest.js

* Update browserIntegrationTest.js

Co-authored-by: Orta <git@orta.io>
2020-09-29 12:22:04 -07:00
Wesley Wigham 83574ba135
Reorder LKG tasks so protocol build isn't using partial LKG (#40717)
* Reorder LKG tasks so protocl build isnt using partial LKG

* Update scripts/produceLKG.ts

Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>

Co-authored-by: Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com>
2020-09-23 00:49:12 -07:00
Wesley Wigham 3a75838cb7
include stdout in `runSequence` thrown error 2020-09-02 14:35:00 -07:00
Wesley Wigham 56a2e34991
Ping @sandersn on new user baseline commits (#40117)
* Ping @sandersn on new user baseline commits

You asked for this~

* Update whitespace/comment
2020-08-18 13:28:33 -07:00
Wesley Wigham 5519027600
Minor fixes to consmetic build issues in user test PR script 2020-07-17 06:43:50 -07:00
Orta Therox 3593c28692
Adds a script for hooking up dev builds of TS to the playground (#38859) 2020-07-06 12:27:52 -04:00
Andrew Casey 0e3f25d079
Copy typesMap.json in produceLKG.ts (#39329)
* Copy typesMap.json in produceLKG.ts

It doesn't change very often and there's a hardcoded backup, but this
seems like a booby trap.

* Remove unused import
2020-07-01 13:55:35 -07:00
Orta Therox 479650fbca
Use MS repo for making monaco builds (#39316) 2020-07-01 11:18:15 -04:00
Ron Buckton fbd1c958e5
Update failed test tracking to support Mocha 6+ (#39211)
* Update failed test tracking to support Mocha 6+

* grep should not be an array
2020-06-23 15:19:30 -07:00
Wenlu Wang 59ad375234
Add deprecated related feature (#38523)
* Add deprecated related feature

* Add more support

* fix navtree

* Add identifier check

* Add more deprecated

* fix crash

* fix more crash

* fix crash

* improve diagnostic

* avoid new tag

* avoid tags

* accept baseline

* Check deprecated in binder

* fix baseline

* fix jsdoc cache

* fix incorrect fix

* Avoid useless changes

* Accept baseline

* Add tests

* fix perf

* fix public api

* Adjust deprecated mark on qualifed name

* Revolve alias symbol

* Use modifier flags insted of symbol props

* Fix modifier flag resolve

* Make lint happy

* Fix crash

* fix crash

* Add cached utils function

* Accept baseline

* Add more tests

* try pinning octokit again

* Avoid tests

* Use utils some

* Deprecated perf test (#3)

* check valueDeclaration only

* check without modifierFlags

* donot check alias

* use cached tag

* remove call to jsdoc

* use deprecated tag

* revert changes

* Revert mission changes

* use node flags

* cache result

* cache

* avoid modifier flags

* Opts

* fix jsdoc include modifier

* fix tests

* fix again

* use symbol flag

* set @octokit/rest back to latest

* fix trailing spacel int

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2020-06-18 17:41:26 -07:00
Ron Buckton b2afa7b657
Update request-pr-review script to latest version of octokit (#39031) 2020-06-11 18:04:21 -07:00
Ron Buckton ec426eec8b
Add script to work around GH issue with suggested reviewers (#37422) 2020-03-17 12:10:55 -07:00
Wesley Wigham d34af449ca
Recognise master branch-equivalent as master 2020-03-11 15:19:39 -07:00
Wesley Wigham bacfda4ce8
Update user test baseline script to diff against a single authoratative WIP master branch (like RWC) (#37350) 2020-03-11 14:38:59 -07:00
Ethan Resnick 5d6b385e65
cleanup: remove unused variable assignment (#33917)
The initial value in `text` was being immediately overwritten by the next statement
2020-03-09 14:48:35 -07:00
Wesley Wigham d33fb87da8
Include input PR title in bot PR title 2020-02-27 11:07:32 -08:00
Orta e804dc8900
Update the authors script to generate the content of authors.md (#36867) 2020-02-27 12:47:09 -05:00
Wesley Wigham 9190fac5fd
Some would say it's trigger'd 2020-02-21 14:20:19 -08:00
Nathan Shively-Sanders a5061eff19
Update scripts for octokit 17 (#36915)
* Update scripts for octokit 17

Also put playwright in alphabetical order, npm seems to like that.

* back to passing auth in the ctor I GUESS
2020-02-21 09:49:02 -08:00
Wesley Wigham e3b6bd2b54
getDate not getDay, also 1-based months please 2020-02-19 11:39:17 -08:00
Orta 19c3bcb9a9
Adds puppeteer to test whether typescript.js runs in the browser (#35471)
* Adds puppeteer to test whether typescript.js runs in the browser

* Adds a check for the browser integration into the GitHub Actions CI

* Update to use playwright, and test in three browsers
2020-02-13 14:19:33 -05:00
Wesley Wigham 8ef498f69e
Also edit the cherry-pick script to handle non-master base branches while we are here 2020-02-05 11:01:02 -08:00
Wesley Wigham a8f01dfff8
Patch cherry pick script for new octokit 2020-02-05 10:47:25 -08:00
Hye Sung Jung 8ed129771f
fix spelling errors (#36523)
* fix spelling errors

* remove changes in lib/*
2020-01-30 13:39:54 -08:00
Ron Buckton 6769313eee
Fix potential leaks in checker (#36491) 2020-01-28 16:48:28 -08:00
Daniel Rosenwasser d044e0680a
Renamed references to 'configurePrerelease'. (#35997) 2020-01-06 16:38:46 -08:00
Eli Barzilay 8939b251b8 Fix cmdline aliases specs 2020-01-03 15:43:30 -05:00
Eli Barzilay dadb64ba70 Disable timeout when debugging
Use `-t 0` since somewhere a default timeout is set otherwise.
2019-12-30 14:42:35 -05:00
Eli Barzilay 5d3284032b Fix `scripts/hooks/post-checkout`
Shell scripts must use LFs.  Also make it executable.

(Both failures probably don't happen on some windows environment where
git is told to translate EOLs, and all files are assumed executable.)
2019-12-18 17:25:07 -05:00