diff --git a/package-lock.json b/package-lock.json index 69089ad681..2cdcc2a979 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3282,7 +3282,7 @@ } }, "node_modules/@k8slens/application": { - "resolved": "packages/technical-features/application", + "resolved": "packages/technical-features/application/agnostic", "link": true }, "node_modules/@k8slens/bump-version-for-cron": { @@ -34824,6 +34824,21 @@ "lodash": "^4.17.15" } }, + "packages/technical-features/application/agnostic": { + "version": "6.4.0-beta.13", + "license": "MIT", + "devDependencies": { + "@async-fn/jest": "^1.6.4" + }, + "peerDependencies": { + "@k8slens/feature-core": "^0.0.1", + "@ogre-tools/fp": "^15.1.1", + "@ogre-tools/injectable": "^15.1.1", + "@ogre-tools/injectable-extension-for-auto-registration": "^15.1.1", + "@ogre-tools/injectable-utils": "^15.1.1", + "lodash": "^4.17.15" + } + }, "packages/technical-features/feature-core": { "name": "@k8slens/feature-core", "version": "0.0.1", diff --git a/packages/technical-features/application/electron-main/README.md b/packages/technical-features/application/electron-main/README.md new file mode 100644 index 0000000000..684647cbf7 --- /dev/null +++ b/packages/technical-features/application/electron-main/README.md @@ -0,0 +1,3 @@ +# @k8slens/application-for-electron-main + +TBD diff --git a/packages/technical-features/application/electron-main/index.ts b/packages/technical-features/application/electron-main/index.ts new file mode 100644 index 0000000000..d1d57d4fe7 --- /dev/null +++ b/packages/technical-features/application/electron-main/index.ts @@ -0,0 +1 @@ +export { feature } from "./src/feature"; diff --git a/packages/technical-features/application/electron-main/jest.config.js b/packages/technical-features/application/electron-main/jest.config.js new file mode 100644 index 0000000000..6d3d6ff231 --- /dev/null +++ b/packages/technical-features/application/electron-main/jest.config.js @@ -0,0 +1,2 @@ +module.exports = + require("@k8slens/jest").monorepoPackageConfig(__dirname).configForNode; diff --git a/packages/technical-features/application/electron-main/package.json b/packages/technical-features/application/electron-main/package.json new file mode 100644 index 0000000000..16e7981eff --- /dev/null +++ b/packages/technical-features/application/electron-main/package.json @@ -0,0 +1,43 @@ +{ + "name": "@k8slens/application-for-electron-main", + "private": false, + "version": "6.4.0-beta.13", + "description": "Electron's main specifics for creating Lens applications", + "type": "commonjs", + "files": [ + "dist" + ], + "publishConfig": { + "access": "public", + "registry": "https://registry.npmjs.org/" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/lensapp/lens.git" + }, + "main": "dist/index.js", + "types": "dist/index.d.ts", + "author": { + "name": "OpenLens Authors", + "email": "info@k8slens.dev" + }, + "license": "MIT", + "homepage": "https://github.com/lensapp/lens", + "scripts": { + "build": "webpack", + "dev": "webpack --mode=development --watch", + "test": "jest --coverage --runInBand" + }, + "peerDependencies": { + "@k8slens/feature-core": "^0.0.1", + "@ogre-tools/fp": "^15.1.1", + "@ogre-tools/injectable": "^15.1.1", + "@ogre-tools/injectable-extension-for-auto-registration": "^15.1.1", + "@ogre-tools/injectable-utils": "^15.1.1", + "lodash": "^4.17.15" + }, + + "devDependencies": { + "@async-fn/jest": "^1.6.4" + } +} diff --git a/packages/technical-features/application/electron-main/src/feature.ts b/packages/technical-features/application/electron-main/src/feature.ts new file mode 100644 index 0000000000..d2ea3df020 --- /dev/null +++ b/packages/technical-features/application/electron-main/src/feature.ts @@ -0,0 +1,17 @@ +import { getFeature } from "@k8slens/feature-core"; +import { autoRegister } from "@ogre-tools/injectable-extension-for-auto-registration"; + +export const feature = getFeature({ + id: "application", + + register: (di) => { + autoRegister({ + di, + targetModule: module, + + getRequireContexts: () => [ + require.context("./", true, /\.injectable\.(ts|tsx)$/), + ], + }); + }, +}); diff --git a/packages/technical-features/application/electron-main/tsconfig.json b/packages/technical-features/application/electron-main/tsconfig.json new file mode 100644 index 0000000000..a4f6fa613e --- /dev/null +++ b/packages/technical-features/application/electron-main/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "@k8slens/typescript/config/base.json" +} diff --git a/packages/technical-features/application/electron-main/webpack.config.js b/packages/technical-features/application/electron-main/webpack.config.js new file mode 100644 index 0000000000..3183f30179 --- /dev/null +++ b/packages/technical-features/application/electron-main/webpack.config.js @@ -0,0 +1 @@ +module.exports = require("@k8slens/webpack").configForNode;