{"_id":"@dongine/app-config","name":"@dongine/app-config","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@dongine/app-config","version":"0.1.0","private":false,"description":"- `fibjs >= 0.26.0`","main":"lib","types":"lib/index.d.ts","repository":{"type":"https","url":"git+https://github.com/dongink-inc/dongine-server.git#master"},"homepage":"https://github.com/dongink-inc/dongine-server/tree/master/packages/app-config","scripts":{"build":"ftsc ./src/* --outDir ./lib","test":"fib-typify ./test","ci":"npm run build && npm run test","prepublishOnly":"npm run ci && npm run pack","prebuild":"rm -rf typings/ lib/","pack":"fibjs ../../scripts/zip-pkg.js && rm -rf lib/","test:require":"npm run build && npm run pack && npm run postinstall","postinstall":"unzip -o -j ./lib.zip unzip.nopwd.js -d ./lib && fibjs ./lib/unzip.nopwd.js"},"author":{"name":"richardo2016","email":"richardo2016@gmail.com"},"license":"ISC","devDependencies":{"@fibjs/types":"^0.35.0","fib-pool":"^1.6.0","fib-typify":"^0.11.4"},"publishConfig":{"access":"public"},"ci":{"type":"actions","version":["0.34.0","0.35.0"]},"gitHead":"1a57e29e6092704199861184c697873260604e01","bugs":{"url":"https://github.com/dongink-inc/dongine-server/issues"},"_id":"@dongine/app-config@0.1.0","_nodeVersion":"16.14.0","_npmVersion":"lerna/6.1.0/node@v16.14.0+x64 (win32)","dist":{"integrity":"sha512-i8vjmKPonCGcnxTcH8dIhc3PaZGGp4UD8Wa7c9PtvZUM3O0abA25/aj9JdhIe1U6X78jXBZg+JUC4j7nJINY8Q==","shasum":"ea49dab549e2082fc1515be03fff320d5a17e30d","tarball":"https://registry.npmjs.org/@dongine/app-config/-/app-config-0.1.0.tgz","fileCount":7,"unpackedSize":6759,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD0gtDQkJgir9Ru6I+Lm8hqHLLySQRp3VB+cOLx2+X3MQIgYF+T9r9RPUo0v61y0MeHi8IHQocEBcJ+faGZlxgOUkE="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjhxpvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo6uQ/+N5VWmvOJnvOJUQ2tf7SePkl+YVGfUdYWFxnzJkDV0Evx85Hp\r\nIbLIDXWCNdQlDRUqjp1TZ+hJktr9CxxrWoN+/z04RfmCpoF22wnQQZBAwXyk\r\nFVXcBpymA/GDTj221gyYvFZcZHzYsysBIYLGD5HQmkN75PTODnCNYZX27CuG\r\naW6j54KZmloHbkPYL9c2JPzN9qqDk0oaTMrFDe6pChseI8l8oRbhn0u/y5Jq\r\nTyOjJP0qADiNeZ3qLY5yHcfcRG0qWieH17VaPs1TiurROPfS36tcHX6a+Zss\r\nUKIPsr4vToyrAgdUvvD4zr5wWpbOf6+ZqdIDuF7V9c6pIgWvtdOUhRz4yrxr\r\ngrSGUTacemfRw/YJ/7sGFFPW+bII3B7IQPO0G+cWK79L2m8tMWmoik2dWlLh\r\nFrZ+UE+DAIjtFAGY/VW9i2ivPQhlQoQzg85qq5MmJCoUl+CRAmsZyLtPsZuG\r\nHTLnfXWMIIQK8KpQ8ZdHXdwcfSi5sSSVUtZCQEjezJzYgNn7YQz/c6ItNT/m\r\niiwcVVGEg1TvffpE0cAizsoOYIqPSNFJhHeipUc6DPg/P1zZ4cH7yekRWtk8\r\niFwFuj580rCKGn5tAmxoFysPC+bScaHewQ1K8UrjZE4+m9JCRSHENslrdSJ3\r\nUkDgHZyxxWHWgV7bqjjkYWbxMOLolHk1guk=\r\n=Bk70\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"richardo2016","email":"richardo2016@gmail.com"},"directories":{},"maintainers":[{"name":"richardo2016","email":"richardo2016@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/app-config_0.1.0_1669798511074_0.10711155551737539"},"_hasShrinkwrap":false}},"time":{"created":"2022-11-30T08:55:10.958Z","0.1.0":"2022-11-30T08:55:11.272Z","modified":"2022-11-30T08:55:11.469Z"},"maintainers":[{"name":"richardo2016","email":"richardo2016@gmail.com"}],"description":"- `fibjs >= 0.26.0`","homepage":"https://github.com/dongink-inc/dongine-server/tree/master/packages/app-config","repository":{"type":"https","url":"git+https://github.com/dongink-inc/dongine-server.git#master"},"author":{"name":"richardo2016","email":"richardo2016@gmail.com"},"bugs":{"url":"https://github.com/dongink-inc/dongine-server/issues"},"license":"ISC","readme":"# @dongine/app-config\r\n\r\n## Pre-requisite\r\n\r\n- `fibjs >= 0.26.0`\r\n\r\n## Usage\r\n\r\n`npm install @dongine/app-config`\r\n\r\n## Sample\r\n\r\n```javascript\r\nconst AppConfig = require('@dongine/app-config')\r\n\r\nconst appName = 'jmetro'\r\n\r\nAppConfig.homedir.getAppDataDirname(appName) // equals to ~/.jmetro/\r\nAppConfig.homedir.getAppConfigFilename(appName) // equals to ~/.jmetro/app-config.json\r\n```\r\n\r\n## APIs\r\n\r\n### require('@dongine/app-config').homedir\r\n\r\n`homedir.getAppDataDirname(appName: string): string`\r\n---\r\ncompute one home data directory name for appName\r\n\r\n`homedir.getAppConfigFilename(appName: string, env: string): string`\r\n---\r\ncompute one home config file name for appName, env would be autoprefixed with `.` if it has no.\r\n\r\nit equals to `path.join(homedir.getAppDataDirname(appName: string), 'app-config' + env + '.json')`\r\n```javascript\r\nhomedir.getAppDataDirname('jmetro') // ~/.jmetro/app-config.json\r\nhomedir.getAppDataDirname('jmetro', 'dev') // ~/.jmetro/app-config.dev.json\r\n```\r\n\r\n`homedir.createAppDataDirectory(appName: string)`\r\n--- \r\ntry to create app's home data directory, if success or it existed, return the app's home data directory\r\n\r\n`homedir.writeAppEnvConfig(appName: string, env: string)`\r\n---\r\ntry to write app's env-config to its home data directory.\r\n```javascript\r\n// would write empty config to ~/.jmetro/app-config.production.json\r\nhomedir.writeAppEnvConfig('jmetro', 'production')\r\n\r\n// would write empty config to ~/.jmetro/app-config.json\r\nhomedir.writeAppEnvConfig('jmetro', {})\r\n\r\n// would write config to ~/.jmetro/app-config.production.json\r\nhomedir.writeAppEnvConfig('jmetro', {env: 'production'})\r\n```\r\n\r\n`homedir.readAppEnvConfig(appName: string, env: string)`\r\n---\r\ntry to read app's env-config to its home data directory.\r\n\r\n\r\n## License\r\n\r\n[GPL-3.0](https://opensource.org/licenses/ISC-3.0)\r\n\r\nCopyright (c) 2018-present, Richard","readmeFilename":"README.md"}