{"_id":"@anyversion/elecpack","name":"@anyversion/elecpack","dist-tags":{"latest":"1.1.1"},"versions":{"1.1.1":{"name":"@anyversion/elecpack","version":"1.1.1","description":"## Install","main":"./index.js","scripts":{"build":"rimraf ./dist && tsc -p ./src/tsconfig.json"},"author":{"name":"gityoog"},"repository":{"type":"git","url":"git+https://github.com/AnyVersion/elecpack.git"},"license":"ISC","devDependencies":{"@types/lodash.merge":"^4.6.9","@types/node":"^22.5.4","@types/watchpack":"^2.4.4","electron":"^32.1.2"},"dependencies":{"@gityoog/ioc-di":"^1.2.8","@herberttn/bytenode-webpack-plugin":"^2.3.1","@types/lodash.debounce":"^4.0.9","anydi":"^1.0.6","boxen":"^8.0.1","cli-truncate":"^4.0.0","copy-webpack-plugin":"^12.0.2","electron-builder":"^25.0.5","esbuild-loader":"^4.2.2","fork-ts-checker-webpack-plugin":"^9.0.2","html-webpack-plugin":"^5.6.0","lodash.debounce":"^4.0.8","lodash.merge":"^4.6.2","log-symbols":"^7.0.0","log-update":"^6.1.0","log4js":"^6.9.1","node-loader":"^2.0.0","rimraf":"^6.0.1","some-rpc":"^1.0.0","ts-loader":"^9.5.1","ts-swc-register":"^1.3.0","tsconfig-paths-webpack-plugin":"^4.1.0","typescript":"^5.6.2","watchpack":"^2.4.2","webpack":"^5.94.0","webpack-dev-server":"^5.1.0","webpack-merge":"^6.0.1"},"types":"./index.d.ts","gitHead":"e987ee0fa35b13cc726cb5c285013dcdf172e85b","bugs":{"url":"https://github.com/AnyVersion/elecpack/issues"},"homepage":"https://github.com/AnyVersion/elecpack#readme","_id":"@anyversion/elecpack@1.1.1","_nodeVersion":"16.20.2","_npmVersion":"8.19.4","dist":{"integrity":"sha512-k1c37WW44fes2HXjeDAHBmehGsAwkFl+W8kxYOZ8txQL0nS0pJ2njm2Jos09eSezAax4phpjyAQeXK7FcA+rjA==","shasum":"55a74f7522dfaa620d4116f8dd0b6d38b6976a46","tarball":"https://registry.npmjs.org/@anyversion/elecpack/-/elecpack-1.1.1.tgz","fileCount":92,"unpackedSize":129199,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCHHyfZKt/jyj/AoCu9aSrxpUnPaO0U3qYZaEpoNpc4uwIgWfjgbsRJ8HTmsI5XLYJLq3U4hCTgatHYy2y1tU1XOTI="}]},"_npmUser":{"name":"npmyoog","email":"907850084@qq.com"},"directories":{},"maintainers":[{"name":"npmyoog","email":"907850084@qq.com"},{"name":"stringke","email":"authemail@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/elecpack_1.1.1_1728878669181_0.38661538512697113"},"_hasShrinkwrap":false}},"time":{"created":"2024-10-14T04:04:29.006Z","1.1.1":"2024-10-14T04:04:29.409Z","modified":"2024-10-14T04:04:29.793Z"},"maintainers":[{"name":"npmyoog","email":"907850084@qq.com"},{"name":"stringke","email":"authemail@qq.com"}],"description":"## Install","homepage":"https://github.com/AnyVersion/elecpack#readme","repository":{"type":"git","url":"git+https://github.com/AnyVersion/elecpack.git"},"author":{"name":"gityoog"},"bugs":{"url":"https://github.com/AnyVersion/elecpack/issues"},"license":"ISC","readme":"# elecpack\n\n## Install\n\n```bash\nnpm install @anyversion/elecpack\n```\n\n## Usage\n\n[Demo](https://github.com/gityoog/elecpack-demo)\n\n```typescript\nimport { ElecpackBuilder } from '@anyversion/elecpack'\n\nconst builder = new ElecpackBuilder({\n  main: {\n    context: string // main file context\n    entry: string // main file entry\n    electron: string? // electron path, default: require('electron')\n    checker?: boolean // enable typescript checker, default: true\n    assets?: string // assets folder, use ElecpackRuntime.getAsset(name) to get asset file\n    define?: Record<string, any> // define for ElecpackRuntime.define\n    bytecode?: boolean | 'all' | 'production' | 'development' // enable bytecode, default: false\n    configFile?: string | string[] // extra webpack config files\n    skipDefConfigFile?: boolean // skip default webpack config file, default: false\n  }\n  preload: {\n    context: string // preload file context\n    entry: Record<string, string> // preload file entry, use ElecpackRuntime.getPreload(name) to get preload file\n    assets?: string | { from: string, to: string } // assets folder\n    define?: Record<string, any> // define for Webpack define plugin\n    configFile?: string | string[]  // extra webpack config files\n    bytecode?: WebpackBuilder.Bytecode // enable bytecode, default: false\n    skipDefConfigFile?: boolean // skip default webpack config file, default: false\n  }\n  renderer: {\n    context: string // renderer file context\n    entry: Record<string, {\n      entry: string | string[] // entry file\n      html: HtmlWebpackPlugin.Options // html-webpack-plugin options\n    }>  // renderer file entry, use ElecpackRuntime.getRenderer(name) to get renderer file or ElecpackRuntime.load({ name: name, hash?: string }, bw)\n    assets?: string | { from: string, to: string } // assets folder\n    define?: Record<string, any> // define for Webpack define plugin\n    configFile?: string | string[] // extra webpack config files\n    bytecode?: WebpackBuilder.Bytecode // enable bytecode, default: false\n    skipDefConfigFile?: boolean // skip default webpack config file, default: false\n  }\n\n  // for worker or other files\n  files?: Record<string, {\n    context: string\n    entry: entry\n    assets?: string | { from: string, to: string }\n    define?: Record<string, any>\n    configFile?: string | string[]\n    bytecode?: WebpackBuilder.Bytecode\n    skipDefConfigFile?: boolean\n  }> // use ElecpackRuntime.getFiles(name) to get file\n\n  // config for electron-builder\n  electronBuilder?: {\n    name: 'elecpack-example', // output name\n    version: '1.0.0', // output version\n    configuration?: {\n      // electron-builder configuration [docs](https://www.electron.build/configuration)\n    }\n  }\n})\n\n// for development\nbuilder.startDev()\n\n// for production\nbuilder.startBuild()\n```\n\n```typescript\nimport ElecpackRuntime from \"@anyversion/elecpack/runtime\";\n\nconst bw = new BrowserWindow({\n  webPreferences: {\n    preload: ElecpackRuntime.getPreload(\"preload\"),\n  },\n});\nElecpackRuntime.load({ name: \"demo\", hash: \"hash\" }, bw);\n\nconsole.log(ElecpackRuntime.define[\"key\"]);\n\nnew Worker(ElecpackRuntime.getFiles(\"test-worker\"));\n```\n","readmeFilename":"README.md"}