Skip to content

Remove start page and its build dependencies #16834

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 22 commits into from
Aug 10, 2021

Conversation

kimadeline
Copy link

@kimadeline kimadeline commented Jul 30, 2021

Closes #16453 (as part of #16678)

I won't be here next week, so this can wait for a bit 🙂

What got removed:

  • Start page
    • "Open start page" command
    • showStartPage setting
    • extensionVersion memento set up by the start page (was used to decide whether to show the start page or not if the showStartPage setting was set to true) and used for the "we bundle Pylance" prompt
    • Telemetry
  • "Jupyter is not installed" prompt that appears when clicking on the start page + its telemetry
  • React/JSX/TSX-related build steps and package.json dependencies

@kimadeline kimadeline self-assigned this Jul 30, 2021
@kimadeline kimadeline added the skip package*.json package.json and package-lock.json don't both need updating label Jul 30, 2021
@@ -367,7 +359,7 @@ function hasNativeDependencies() {
path.dirname(item.substring(item.indexOf('node_modules') + 'node_modules'.length)).split(path.sep),
)
.filter((item) => item.length > 0)
.filter((item) => !item.includes('zeromq') && item !== 'fsevents' && !item.includes('canvas')) // This is a known native. Allow this one for now
.filter((item) => item !== 'fsevents')
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

zeromq was an old DS dependency used nowhere, and canvas was used by the start page.

@@ -130,7 +129,6 @@ export function isUnitTestExecution(): boolean {
}

// Temporary constant, used to indicate whether we're using custom editor api or not.
export const UseCustomEditorApi = Symbol('USE_CUSTOM_EDITOR');
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only used in start page elements, as its name does not suggest.

@kimadeline kimadeline removed the skip package*.json package.json and package-lock.json don't both need updating label Jul 30, 2021
@kimadeline kimadeline marked this pull request as ready for review July 30, 2021 23:06
@kimadeline kimadeline requested a review from karrtikr July 30, 2021 23:06
Copy link
Member

@karthiknadig karthiknadig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you also run ts-prune on ./src and see if we can remove more things related to start page?

gulpfile.js Outdated
@@ -42,7 +41,7 @@ gulp.task('precommit', (done) => run({ exitOnError: true, mode: 'staged' }, done

gulp.task('output:clean', () => del(['coverage']));

gulp.task('clean:cleanExceptTests', () => del(['clean:vsix', 'out/client', 'out/startPage-ui', 'out/server']));
gulp.task('clean:cleanExceptTests', () => del(['clean:vsix', 'out/client', 'out/server']));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is out/server for? I think this might have been for debug adapter server that was missed when we removed it.

Copy link
Author

@kimadeline kimadeline Aug 10, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems to have been introduced a looooong time ago: this is the earliest commit I can find, and it seemed to only contain one file, I will remove it as well.

I ran ts-prune and there doesn't seem to be anything start page-related left in src, although it looks like I forgot something experiment-related:

src/client/extension.ts:53 - activate
src/client/extension.ts:73 - deactivate
src/test/common.ts:137 - setAutoSaveDelayInWorkspaceRoot
src/test/common.ts:179 - retryAsync (used in module)
src/test/common.ts:313 - correctPathForOsType
src/test/common.ts:364 - isVersionInList (used in module)
src/test/common.ts:524 - retryIfFail
src/test/common.ts:697 - createEventHandler
src/test/common.ts:29 - IS_64_BIT
src/test/common.ts:562 - FakeClock
src/test/common.ts:636 - TestEventHandler (used in module)
src/test/core.ts:14 - isWindows
src/test/fixtures.ts:9 - CleanupFunc (used in module)
src/test/index.ts:129 - run (used in module)
src/test/initialize.ts:25 - initializePython (used in module)
src/test/initialize.ts:44 - activateExtension (used in module)
src/test/initialize.ts:8 - MAX_EXTENSION_ACTIVATION_TIME
src/test/initialize.ts:10 - TEST_RETRYCOUNT
src/test/initialize.ts:11 - IS_SMOKE_TEST (used in module)
src/test/initialize.ts:12 - IS_PERF_TEST
src/test/initialize.ts:34 - PVSC_EXTENSION_ID_FOR_TESTS (used in module)
src/test/initialize.ts:36 - SMOKE_TEST_EXTENSIONS_DIR
src/test/initialize.ts:9 - PYTHON_VIRTUAL_ENVS_LOCATION
src/test/initialize.ts:10 - IS_APPVEYOR
src/test/initialize.ts:11 - IS_TRAVIS
src/test/initialize.ts:12 - IS_VSTS
src/test/initialize.ts:13 - IS_GITHUB_ACTIONS
src/test/initialize.ts:21 - MOCHA_REPORTER_JUNIT
src/test/initialize.ts:22 - IS_CI_SERVER_TEST_DEBUGGER
src/test/mockClasses.ts:40 - MockStatusBarItem
src/test/testRunner.ts:37 - configure
src/test/testRunner.ts:46 - run (used in module)
src/test/testRunner.ts:27 - SetupOptions (used in module)
src/test/vscode-mock.ts:15 - mockedVSCodeNamespaces (used in module)
src/client/common/types.ts:482 - IAsyncDisposable (used in module)
src/client/common/types.ts:522 - ABExperiments ⬅️  this one 🤡
src/client/debugger/types.ts:34 - IAutomaticCodeReload (used in module)
src/client/interpreter/helpers.ts:24 - isInterpreterLocatedInWorkspace
src/client/tensorBoard/types.ts:6 - ITensorBoardImportTracker (used in module)
src/test/common/asyncDump.ts:7 - asyncDump
src/test/debugger/utils.ts:19 - getConfig (used in module)
src/test/interpreters/mocks.ts:46 - MockInterpreterVersionProvider
src/test/linters/common.ts:71 - LintingSettings (used in module)
src/test/mocks/proc.ts:20 - IOriginalProcessService
src/test/smoke/common.ts:16 - updateSetting (used in module)
src/test/smoke/common.ts:22 - removeLanguageServerFiles
src/test/smoke/common.ts:37 - isJediEnabled (used in module)
src/test/smoke/common.ts:42 - enableJedi
src/test/smoke/common.ts:100 - verifyExtensionIsAvailable (used in module)
src/test/testing/results.ts:54 - updateSummary (used in module)
src/test/testing/results.ts:76 - findParentFile (used in module)
src/test/testing/results.ts:88 - findParentSuite (used in module)
src/test/testing/results.ts:100 - flattenSuite (used in module)
src/test/testing/results.ts:114 - flattenFunction (used in module)
src/test/testing/results.ts:32 - TestNode (used in module)
src/test/testing/results.ts:130 - nodes (used in module)
src/test/utils/fs.ts:11 - createTemporaryFile
src/test/utils/fs.ts:214 - parseFSTree (used in module)
src/test/workspaceSymbols/common.ts:4 - enableDisableWorkspaceSymbols
src/client/common/installer/poetryInstaller.ts:23 - poetryName (used in module)
src/client/common/installer/productInstaller.ts:408 - TestFrameworkInstaller (used in module)
src/client/common/installer/types.ts:53 - IPythonInstallation (used in module)
src/client/common/net/browser.ts:10 - launch (used in module)
src/client/common/platform/fs-paths.ts:156 - isParentPath
src/client/common/utils/version.ts:265 - compareVersions (used in module)
src/client/interpreter/activation/service.ts:49 - EnvironmentActivationServiceCache (used in module)
src/client/pythonEnvironments/base/envsCache.ts:13 - PythonEnvsCache (used in module)
src/client/pythonEnvironments/base/locator.ts:67 - NOOP_ITERATOR
src/test/common/platform/utils.ts:17 - OSX
src/test/debugger/common/constants.ts:7 - DEBUGGER_TIMEOUT
src/test/languageServers/jedi/symbolProvider.unit.test.ts:448 - splitParent (used in module)
src/test/mocks/vsc/index.ts:15 - escapeCodicons (used in module)
src/test/mocks/vsc/selection.ts:9 - vscMockSelection
src/test/mocks/vsc/uuid.ts:83 - v4 (used in module)
src/test/mocks/vsc/uuid.ts:89 - isUUID (used in module)
src/test/mocks/vsc/uuid.ts:97 - parse
src/test/mocks/vsc/uuid.ts:9 - UUID (used in module)
src/test/pythonEnvironments/base/common.ts:206 - sortedEnvs (used in module)
src/test/testing/common/testUtils.unit.test.ts:132 - createTests (used in module)
src/test/testing/explorer/explorerTestData.ts:135 - getTestHelperInstance (used in module)
src/test/testing/explorer/explorerTestData.ts:166 - createMockTestStorageService (used in module)
src/test/testing/explorer/explorerTestData.ts:183 - createMockUnitTestMgmtService (used in module)
src/test/testing/explorer/explorerTestData.ts:197 - createMockWorkspaceService (used in module)
src/test/testing/explorer/explorerTestData.ts:35 - ExplorerTestsDisposable (used in module)
src/test/testing/pytest/pytest_run_tests_data.ts:32 - allTestDetails (used in module)
src/test/testing/pytest/pytest_unittest_parser_data.ts:9 - PytestDataPlatformType (used in module)
src/test/testing/pytest/pytest_unittest_parser_data.ts:14 - PytestDiscoveryScenario (used in module)
src/test/testing/pytest/pytest_unittest_parser_data.ts:27 - pytestScenarioData
src/client/common/process/internal/python.ts:83 - isValid
src/client/pythonEnvironments/base/info/index.ts:42 - FileInfo (used in module)
src/test/pythonEnvironments/base/info/pythonVersion.unit.test.ts:14 - ver (used in module)
src/client/pythonEnvironments/discovery/locators/services/cacheableLocatorService.ts:30 - CacheableLocatorPromiseCache (used in module)
src/test/pythonEnvironments/base/locators/lowLevel/watcherTestUtils.ts:105 - locatorFactoryFuncType (used in module)

@@ -13,7 +13,6 @@ const ts = require('gulp-typescript');
const spawn = require('cross-spawn');
const path = require('path');
const del = require('del');
const fs = require('fs-extra');
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good Catch :)

@karthiknadig
Copy link
Member

@jakebailey FYI

@kimadeline kimadeline merged commit a6dc358 into microsoft:main Aug 10, 2021
@kimadeline kimadeline deleted the 16453-remove-start-page branch August 10, 2021 20:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove start page code
3 participants