diff --git a/Makefile b/Makefile index 1df15b4857..540a8ca0e4 100644 --- a/Makefile +++ b/Makefile @@ -56,7 +56,13 @@ else endif build-extensions: - $(foreach file, $(wildcard $(EXTENSIONS_DIR)/*), $(MAKE) -C $(file) build;) + $(foreach dir, $(wildcard $(EXTENSIONS_DIR)/*), $(MAKE) -C $(dir) build;) + +build-npm: + yarn npm:fix-package-version + +publish-npm: build-npm + cd src/extensions/npm/extensions && npm publish clean: ifeq "$(DETECTED_OS)" "Windows" diff --git a/build/set_npm_version.ts b/build/set_npm_version.ts new file mode 100644 index 0000000000..34a11da6c9 --- /dev/null +++ b/build/set_npm_version.ts @@ -0,0 +1,9 @@ +import * as fs from "fs" +import * as path from "path" +import packageInfo from "../src/extensions/npm/extensions/package.json" +import appInfo from "../package.json" + +const packagePath = path.join(__dirname, "../src/extensions/npm/extensions/package.json") + +packageInfo.version = appInfo.version +fs.writeFileSync(packagePath, JSON.stringify(packageInfo, null, 2)) diff --git a/extensions/example-extension/package-lock.json b/extensions/example-extension/package-lock.json index 7c99096fb9..35be0e93e0 100644 --- a/extensions/example-extension/package-lock.json +++ b/extensions/example-extension/package-lock.json @@ -4,6 +4,10 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@k8slens/extensions": { + "version": "file:../../src/extensions/npm/extensions", + "dev": true + }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", diff --git a/extensions/example-extension/package.json b/extensions/example-extension/package.json index 86d5397845..a91b332f38 100644 --- a/extensions/example-extension/package.json +++ b/extensions/example-extension/package.json @@ -16,6 +16,7 @@ "react-open-doodles": "^1.0.5" }, "devDependencies": { + "@k8slens/extensions": "file:../../src/extensions/npm/extensions", "ts-loader": "^8.0.4", "typescript": "^4.0.3", "webpack": "^4.44.2" diff --git a/extensions/example-extension/tsconfig.json b/extensions/example-extension/tsconfig.json index ac83e008db..a93ad6fe9f 100644 --- a/extensions/example-extension/tsconfig.json +++ b/extensions/example-extension/tsconfig.json @@ -16,7 +16,6 @@ "jsx": "react" }, "include": [ - "../../src/extensions/npm/**/*.d.ts", "./*.ts", "./*.tsx" ], diff --git a/extensions/metrics-cluster-feature/package-lock.json b/extensions/metrics-cluster-feature/package-lock.json index 253f75a79a..509c1bc6a5 100644 --- a/extensions/metrics-cluster-feature/package-lock.json +++ b/extensions/metrics-cluster-feature/package-lock.json @@ -4,6 +4,10 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@k8slens/extensions": { + "version": "file:../../src/extensions/npm/extensions", + "dev": true + }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", diff --git a/extensions/metrics-cluster-feature/package.json b/extensions/metrics-cluster-feature/package.json index 3968e59527..0843156f0a 100644 --- a/extensions/metrics-cluster-feature/package.json +++ b/extensions/metrics-cluster-feature/package.json @@ -15,6 +15,7 @@ "semver": "^7.3.2" }, "devDependencies": { + "@k8slens/extensions": "file:../../src/extensions/npm/extensions", "ts-loader": "^8.0.4", "typescript": "^4.0.3", "webpack": "^4.44.2", diff --git a/extensions/metrics-cluster-feature/tsconfig.json b/extensions/metrics-cluster-feature/tsconfig.json index ac83e008db..a93ad6fe9f 100644 --- a/extensions/metrics-cluster-feature/tsconfig.json +++ b/extensions/metrics-cluster-feature/tsconfig.json @@ -16,7 +16,6 @@ "jsx": "react" }, "include": [ - "../../src/extensions/npm/**/*.d.ts", "./*.ts", "./*.tsx" ], diff --git a/extensions/node-menu/package-lock.json b/extensions/node-menu/package-lock.json index 10e12774c6..0165b993be 100644 --- a/extensions/node-menu/package-lock.json +++ b/extensions/node-menu/package-lock.json @@ -4,6 +4,10 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@k8slens/extensions": { + "version": "file:../../src/extensions/npm/extensions", + "dev": true + }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", diff --git a/extensions/node-menu/package.json b/extensions/node-menu/package.json index 51bcccb1da..c183316a78 100644 --- a/extensions/node-menu/package.json +++ b/extensions/node-menu/package.json @@ -13,6 +13,7 @@ }, "dependencies": {}, "devDependencies": { + "@k8slens/extensions": "file:../../src/extensions/npm/extensions", "ts-loader": "^8.0.4", "typescript": "^4.0.3", "webpack": "^4.44.2", diff --git a/extensions/node-menu/tsconfig.json b/extensions/node-menu/tsconfig.json index ac83e008db..a93ad6fe9f 100644 --- a/extensions/node-menu/tsconfig.json +++ b/extensions/node-menu/tsconfig.json @@ -16,7 +16,6 @@ "jsx": "react" }, "include": [ - "../../src/extensions/npm/**/*.d.ts", "./*.ts", "./*.tsx" ], diff --git a/extensions/pod-menu/package-lock.json b/extensions/pod-menu/package-lock.json index 7d91be00e1..52cca65d73 100644 --- a/extensions/pod-menu/package-lock.json +++ b/extensions/pod-menu/package-lock.json @@ -4,6 +4,10 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@k8slens/extensions": { + "version": "file:../../src/extensions/npm/extensions", + "dev": true + }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", diff --git a/extensions/pod-menu/package.json b/extensions/pod-menu/package.json index 3925c47cb6..21b4f3d65b 100644 --- a/extensions/pod-menu/package.json +++ b/extensions/pod-menu/package.json @@ -17,6 +17,7 @@ "typescript": "^4.0.3", "webpack": "^4.44.2", "mobx": "^5.15.5", - "react": "^16.13.1" + "react": "^16.13.1", + "@k8slens/extensions": "file:../../src/extensions/npm/extensions" } } diff --git a/extensions/pod-menu/tsconfig.json b/extensions/pod-menu/tsconfig.json index ac83e008db..a93ad6fe9f 100644 --- a/extensions/pod-menu/tsconfig.json +++ b/extensions/pod-menu/tsconfig.json @@ -16,7 +16,6 @@ "jsx": "react" }, "include": [ - "../../src/extensions/npm/**/*.d.ts", "./*.ts", "./*.tsx" ], diff --git a/extensions/support-page/package-lock.json b/extensions/support-page/package-lock.json index 7a6d1a3f77..029ee4a2eb 100644 --- a/extensions/support-page/package-lock.json +++ b/extensions/support-page/package-lock.json @@ -4,6 +4,10 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@k8slens/extensions": { + "version": "file:../../src/extensions/npm/extensions", + "dev": true + }, "@types/anymatch": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", diff --git a/extensions/support-page/package.json b/extensions/support-page/package.json index 6568ee3fda..2ed40c6fa8 100644 --- a/extensions/support-page/package.json +++ b/extensions/support-page/package.json @@ -14,6 +14,7 @@ "@types/react": "^16.9.53", "@types/react-router": "^5.1.8", "@types/webpack": "^4.41.17", + "@k8slens/extensions": "file:../../src/extensions/npm/extensions", "mobx": "^5.15.5", "react": "^16.13.1", "ts-loader": "^8.0.4", diff --git a/extensions/support-page/tsconfig.json b/extensions/support-page/tsconfig.json index 966b29e183..18ebb2dceb 100644 --- a/extensions/support-page/tsconfig.json +++ b/extensions/support-page/tsconfig.json @@ -24,7 +24,6 @@ }, "include": [ "renderer.tsx", - "../../src/extensions/npm/**/*.d.ts", "src/**/*" ] } diff --git a/extensions/telemetry/package-lock.json b/extensions/telemetry/package-lock.json index 9c02993621..f0d291c1b3 100644 --- a/extensions/telemetry/package-lock.json +++ b/extensions/telemetry/package-lock.json @@ -4,6 +4,10 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "@k8slens/extensions": { + "version": "file:../../src/extensions/npm/extensions", + "dev": true + }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", diff --git a/extensions/telemetry/package.json b/extensions/telemetry/package.json index 238a69b454..4fa6abbca9 100644 --- a/extensions/telemetry/package.json +++ b/extensions/telemetry/package.json @@ -14,6 +14,7 @@ }, "dependencies": {}, "devDependencies": { + "@k8slens/extensions": "file:../../src/extensions/npm/extensions", "ts-loader": "^8.0.4", "typescript": "^4.0.3", "webpack": "^4.44.2", diff --git a/extensions/telemetry/tsconfig.json b/extensions/telemetry/tsconfig.json index c32d3f0b74..05c3fa6671 100644 --- a/extensions/telemetry/tsconfig.json +++ b/extensions/telemetry/tsconfig.json @@ -24,7 +24,6 @@ }, "include": [ "renderer.ts", - "../../src/extensions/npm/**/*.d.ts", "src/**/*" ] } diff --git a/package.json b/package.json index e330613b82..51bf5cd7f7 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "compile:renderer": "webpack --config webpack.renderer.ts", "compile:i18n": "lingui compile", "compile:extension-rollup": "rollup --config src/extensions/rollup.config.js", + "npm:fix-package-version": "ts-node build/set_npm_version.ts", "build:linux": "yarn compile && electron-builder --linux --dir -c.productName=Lens", "build:mac": "yarn compile && electron-builder --mac --dir -c.productName=Lens", "build:win": "yarn compile && electron-builder --win --dir -c.productName=Lens", diff --git a/src/extensions/npm/extensions/package.json b/src/extensions/npm/extensions/package.json index 7097629539..373e43007a 100644 --- a/src/extensions/npm/extensions/package.json +++ b/src/extensions/npm/extensions/package.json @@ -5,9 +5,7 @@ "version": "0.0.0", "copyright": "© 2020, Mirantis, Inc.", "license": "MIT", - "files": [ - "api.d.ts" - ], + "types": "api.d.ts", "author": { "name": "Mirantis, Inc.", "email": "info@k8slens.dev"