Skip to content

Commit

Permalink
chore: upgrade tooling to latest versions (#212)
Browse files Browse the repository at this point in the history
* chore: upgrade to Node 18 and typescript 5

* chore: upgrade semantic release and conventional commits

* chore: upgrade eslint and prettier

* chore: upgrade vsce and osvx

* chore: upgrade vscode telemetry

* refactor: update code for new vscode telemetry

* chore: remove unused `parent-module` package

* chore: upgrade webpack cli
  • Loading branch information
byCedric committed Aug 31, 2023
1 parent 602946c commit 0324b10
Show file tree
Hide file tree
Showing 9 changed files with 4,042 additions and 1,701 deletions.
2 changes: 1 addition & 1 deletion .github/actions/setup-project/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Prepare the project for any CI action
inputs:
node-version:
description: Version of Node to install
default: 16.x
default: 18.x

with-fixture:
description: If the setup should install the test/fixture files
Expand Down
5,666 changes: 4,009 additions & 1,657 deletions package-lock.json

Large diffs are not rendered by default.

29 changes: 13 additions & 16 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,30 +42,28 @@
"@expo/config-plugins": "^4.1.5",
"@expo/json-file": "^8.2.36",
"@expo/prebuild-config": "^4.0.3",
"@semantic-release/changelog": "^6.0.1",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"@sucrase/webpack-loader": "^2.0.0",
"@tsconfig/node16": "^1.0.3",
"@tsconfig/node18": "^18.2.1",
"@types/chai": "^4.3.5",
"@types/chai-subset": "^1.3.3",
"@types/debug": "^4.1.7",
"@types/minimatch": "^3.0.5",
"@types/mocha": "^10.0.1",
"@types/node": "^16.11.56",
"@types/node": "^18.17.12",
"@types/node-fetch": "^2.6.2",
"@types/vscode": "^1.78.2",
"@typescript-eslint/eslint-plugin": "^5.48.0",
"@typescript-eslint/parser": "^5.48.0",
"@vscode/extension-telemetry": "^0.7.7",
"@vscode/extension-telemetry": "^0.8.4",
"@vscode/test-electron": "^2.3.2",
"@vscode/vsce": "^2.16.0",
"@vscode/vsce": "^2.21.0",
"arg": "^5.0.2",
"chai": "^4.3.8",
"chai-subset": "^1.6.0",
"conventional-changelog-conventionalcommits": "^5.0.0",
"conventional-changelog-conventionalcommits": "^7.0.1",
"debug": "^4.3.4",
"eslint": "^8.31.0",
"eslint-config-universe": "^11.1.1",
"eslint": "^8.48.0",
"eslint-config-universe": "^12.0.0",
"execa": "^5.1.1",
"find-up": "^5.0.0",
"glob": "^10.3.3",
Expand All @@ -76,17 +74,16 @@
"mocha": "^10.2.0",
"mocha-chai-jest-snapshot": "^1.1.4",
"node-fetch": "^2.6.7",
"ovsx": "^0.8.0",
"parent-module": "^2.0.0",
"ovsx": "^0.8.3",
"patch-package": "^6.4.7",
"prettier": "^2.8.1",
"prettier": "^3.0.3",
"raw-loader": "^4.0.2",
"semantic-release": "^19.0.3",
"semantic-release": "^21.1.1",
"semver": "^7.5.2",
"sucrase": "^3.20.3",
"typescript": "^4.9.4",
"typescript": "^5.2.2",
"webpack": "^5.76.0",
"webpack-cli": "^4.7.0"
"webpack-cli": "^5.1.4"
},
"publisher": "expo",
"icon": "images/logo-marketplace.png",
Expand Down
8 changes: 4 additions & 4 deletions src/__tests__/commands/code-provider.e2e.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ describe('CodeProvider', () => {
await replaceEditorContent(app, json.applyEdits(app.document.getText(), addition));
await app.document.save();

const includesChange = await waitForTrue(() =>
preview?.document.getText().includes('android.permission.CAMERA')
const includesChange = await waitForTrue(
() => preview?.document.getText().includes('android.permission.CAMERA')
);

expect(includesChange).to.equal(true);
Expand All @@ -58,8 +58,8 @@ describe('CodeProvider', () => {
await replaceEditorContent(app, json.applyEdits(app.document.getText(), removal));
await app.document.save();

const excludesChange = await waitForFalse(() =>
preview?.document.getText().includes('android.permission.CAMERA')
const excludesChange = await waitForFalse(
() => preview?.document.getText().includes('android.permission.CAMERA')
);

expect(excludesChange).to.equal(true);
Expand Down
5 changes: 4 additions & 1 deletion src/expoDebuggers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,10 @@ interface ExpoDebugConfig extends vscode.DebugConfiguration {
}

export class ExpoDebuggersProvider implements vscode.DebugConfigurationProvider {
constructor(extension: vscode.ExtensionContext, protected projects: ExpoProjectCache) {
constructor(
extension: vscode.ExtensionContext,
protected projects: ExpoProjectCache
) {
extension.subscriptions.push(
vscode.debug.registerDebugConfigurationProvider(
DEBUG_TYPE,
Expand Down
6 changes: 5 additions & 1 deletion src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,13 @@ export async function activate(context: vscode.ExtensionContext) {

reporter?.sendTelemetryEvent(TelemetryEvent.ACTIVATED);
} catch (error) {
reporter?.sendTelemetryException(error);
vscode.window.showErrorMessage(
`Oops, looks like we can't fully activate Expo Tools: ${error.message}`
);

reporter?.sendTelemetryErrorEvent(TelemetryEvent.ACTIVATED, {
message: error.message,
stack: error.stack,
});
}
}
5 changes: 4 additions & 1 deletion src/preview/CodeProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,10 @@ export class CodeProvider implements vscode.TextDocumentContentProvider {

readonly defaultLanguage: CodeProviderLanguage = 'json';

constructor(public _document: vscode.TextDocument, public options: CodeProviderOptions) {
constructor(
public _document: vscode.TextDocument,
public options: CodeProviderOptions
) {
this.scheme = `expo-config-${this.options.type}`;
this.projectRoot = getProjectRoot(this._document.fileName) ?? this._document.fileName;
if (this.projectRoot === this._document.fileName) {
Expand Down
19 changes: 1 addition & 18 deletions src/utils/telemetry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,28 +41,11 @@ export function setupTelemetry(context: ExtensionContext) {
return reporter;
}

/**
* Wrap a block inside an error telemetry reporter.
* This will re-throw the error after reporting it.
*/
export async function withErrorTelemetry<T>(
action: () => T | Promise<T>,
properties?: TelemetryEventProperties,
measurements?: TelemetryEventMeasurements
): Promise<T> {
try {
return await action();
} catch (error) {
reporter?.sendTelemetryException(error, properties, measurements);
throw error;
}
}

export function featureTelemetry(
feature: 'command' | 'debugger',
command: string,
properties?: TelemetryEventProperties,
measurements?: TelemetryEventMeasurements
) {
return reporter?.sendTelemetryEvent(`${feature}/${command}`, properties);
return reporter?.sendTelemetryEvent(`${feature}/${command}`, properties, measurements);
}
3 changes: 1 addition & 2 deletions tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{
"exclude": ["out", "node_modules", ".vscode-test", "test/fixture"],
"extends": "@tsconfig/node16/tsconfig.json",
"extends": "@tsconfig/node18",
"compilerOptions": {
"moduleResolution": "node",
"outDir": "out",
"sourceMap": true,
"rootDir": ".",
Expand Down

0 comments on commit 0324b10

Please sign in to comment.