Skip to content

Commit 53491e2

Browse files
committed
chore: remove package.json syncing between subprojects
- Min vscode and TS versions are now gathered from currently running extension package.json instead of hardcoded core/package.json.
1 parent c0c8be8 commit 53491e2

File tree

11 files changed

+3092
-308
lines changed

11 files changed

+3092
-308
lines changed

package-lock.json

Lines changed: 5 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/amazonq/.vscode/tasks.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,6 @@
109109
// Since `webpack --watch` never terminates (but finishes packaging at some point),
110110
// VS Code uses this to parse the CLI output to pattern match something that indicates it is done
111111
"problemMatcher": "$ts-webpack-watch",
112-
"dependsOn": ["copyPackageJson"],
113112
"options": {
114113
"cwd": "${workspaceFolder}/../../packages/core"
115114
}
@@ -123,8 +122,7 @@
123122
{
124123
"label": "webRunTerminate",
125124
"command": "echo ${input:webRunTerminate}",
126-
"type": "shell",
127-
"dependsOn": ["restorePackageJson"]
125+
"type": "shell"
128126
},
129127
// ---------- End: Web Mode Tasks ----------
130128
{

packages/amazonq/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,9 @@
4646
"browser": "./dist/src/extensionWeb",
4747
"scripts": {
4848
"vscode:prepublish": "npm run clean && npm run buildScripts && webpack --mode production",
49-
"buildScripts": "npm run generateNonCodeFiles && npm run copyFiles && npm run generateIcons && npm run generateSettings && npm run syncPackageJson && tsc -p ./ --noEmit",
49+
"buildScripts": "npm run generateNonCodeFiles && npm run copyFiles && npm run generateIcons && npm run generateSettings && tsc -p ./ --noEmit",
5050
"generateNonCodeFiles": "ts-node ../../scripts/generateNonCodeFiles.ts",
5151
"copyFiles": "ts-node ./scripts/build/copyFiles.ts",
52-
"syncPackageJson": "ts-node ./scripts/build/syncPackageJson.ts",
5352
"clean": "ts-node ../../scripts/clean.ts dist/ LICENSE NOTICE",
5453
"compile": "npm run clean && npm run buildScripts && webpack --mode development",
5554
"compileOnly": "tsc -p ./",

packages/amazonq/scripts/build/syncPackageJson.ts

Lines changed: 0 additions & 37 deletions
This file was deleted.

packages/core/src/shared/vscode/env.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55

66
import * as semver from 'semver'
77
import * as vscode from 'vscode'
8-
import * as packageJson from '../../../package.json'
98
import { getLogger } from '../logger'
109
import { onceChanged } from '../utilities/functionUtils'
1110
import { ChildProcess } from '../utilities/childProcess'
12-
import { isWeb } from '../extensionGlobals'
11+
import globals, { isWeb } from '../extensionGlobals'
1312

1413
/**
1514
* Returns true if the current build is running on CI (build server).
@@ -68,15 +67,15 @@ export function isMinVscode(throwWhen?: string): boolean {
6867
/**
6968
* Returns the minimum vscode "engine" version declared in `package.json`.
7069
*/
71-
export function getMinVscodeVersion(): string {
72-
return packageJson.engines.vscode.replace(/[^~]/, '')
70+
export function getMinVscodeVersion(pkgJson?: { [key: string]: any }): string {
71+
return (pkgJson ?? globals.context.extension.packageJSON).engines.vscode.replace(/[^~]/, '')
7372
}
7473

7574
/**
7675
* Returns the minimum nodejs version declared in `package.json`.
7776
*/
78-
export function getMinNodejsVersion(): string {
79-
return packageJson.devDependencies['@types/node'].replace(/[^~]/, '')
77+
export function getMinNodejsVersion(pkgJson?: { [key: string]: any }): string {
78+
return (pkgJson ?? globals.context.extension.packageJSON).devDependencies['@types/node'].replace(/[^~]/, '')
8079
}
8180

8281
export function getCodeCatalystDevEnvId(): string | undefined {

packages/core/src/test/fakeExtensionContext.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,15 @@ export class FakeExtensionContext implements vscode.ExtensionContext {
6666
extensionUri: vscode.Uri.file('/fake/extension/dir/'),
6767
id: 'aws.toolkit.fake.extension',
6868
isActive: true,
69-
packageJSON: {},
69+
packageJSON: {
70+
// Required for shared/vscode/env.ts, which may be referenced by any codepath.
71+
engines: {
72+
vscode: '^1.68.0',
73+
},
74+
devDependencies: {
75+
'@types/node': '^16.18.95',
76+
},
77+
},
7078
}
7179

7280
/**

packages/core/src/test/techdebt.test.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import assert from 'assert'
77
import * as semver from 'semver'
88
import * as env from '../shared/vscode/env'
9+
import packageJson from '../../package.json'
910

1011
// Checks project config and dependencies, to remind us to remove old things
1112
// when possible.
@@ -17,7 +18,7 @@ describe('tech debt', function () {
1718
}
1819

1920
it('vscode minimum version', async function () {
20-
const minVscode = env.getMinVscodeVersion()
21+
const minVscode = env.getMinVscodeVersion(packageJson)
2122

2223
assert.ok(
2324
semver.lt(minVscode, '1.75.0'),
@@ -31,7 +32,7 @@ describe('tech debt', function () {
3132
})
3233

3334
it('nodejs minimum version', async function () {
34-
const minNodejs = env.getMinNodejsVersion()
35+
const minNodejs = env.getMinNodejsVersion(packageJson)
3536

3637
// XXX: available since node 16, but not sure how much work this will be, yet.
3738
assert.ok(

packages/toolkit/.vscode/tasks.json

Lines changed: 4 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"label": "extensionInit",
88
"type": "shell",
99
"command": "echo 'extensionInit'",
10-
"dependsOn": ["copyPackageJson", "watch"],
10+
"dependsOn": ["watch"],
1111
"presentation": {
1212
"close": true
1313
}
@@ -55,41 +55,13 @@
5555
"cwd": "${workspaceFolder}/../../packages/core"
5656
}
5757
},
58-
{
59-
"label": "copyPackageJson",
60-
"type": "shell",
61-
"command": "npm run copyPackageJson -- --development",
62-
"isBackground": false,
63-
"group": {
64-
"kind": "build",
65-
"isDefault": true
66-
},
67-
"presentation": {
68-
"close": true
69-
}
70-
},
71-
{
72-
"label": "restorePackageJson",
73-
"type": "npm",
74-
"script": "restorePackageJson",
75-
"problemMatcher": [],
76-
"isBackground": false,
77-
"group": {
78-
"kind": "build",
79-
"isDefault": true
80-
},
81-
"presentation": {
82-
"close": true
83-
}
84-
},
8558
{
8659
"label": "extensionTerminate",
8760
"command": "echo run terminate",
8861
"type": "shell",
8962
"presentation": {
9063
"close": true
91-
},
92-
"dependsOn": ["restorePackageJson"]
64+
}
9365
},
9466
// ---------- Start: Web Mode Tasks ----------
9567
{
@@ -146,7 +118,6 @@
146118
// Since `webpack --watch` never terminates (but finishes packaging at some point),
147119
// VS Code uses this to parse the CLI output to pattern match something that indicates it is done
148120
"problemMatcher": "$ts-webpack-watch",
149-
"dependsOn": ["copyPackageJson"],
150121
"options": {
151122
"cwd": "${workspaceFolder}/../../packages/core"
152123
}
@@ -160,8 +131,7 @@
160131
{
161132
"label": "webRunTerminate",
162133
"command": "echo ${input:webRunTerminate}",
163-
"type": "shell",
164-
"dependsOn": ["restorePackageJson"]
134+
"type": "shell"
165135
},
166136
// ---------- End: Web Mode Tasks ----------
167137
{
@@ -177,7 +147,7 @@
177147
{
178148
"type": "npm",
179149
"script": "compile",
180-
"dependsOn": ["Kill Tasks", "copyPackageJson"],
150+
"dependsOn": ["Kill Tasks"],
181151
"problemMatcher": "$tsc"
182152
},
183153
{

0 commit comments

Comments
 (0)