{"_id":"t-configurator","_rev":"7-2083c3d3e037365b496eba786fb14e75","name":"t-configurator","description":"Allows to manage configuration files in your project","dist-tags":{"latest":"0.0.5"},"versions":{"0.0.1":{"name":"t-configurator","version":"0.0.1","description":"Allows to manage configuration files in your project","license":"Apache-2.0","author":{"name":"Umed Khudoiberdiev","email":"zarrhost@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/PLEEROCK/t-configurator.git"},"bugs":{"url":"https://github.com/PLEEROCK/t-configurator/issues"},"tags":["config","configurator","configuration","typescript","typescript-config"],"typings":"./t-configurator.d.ts","typescript":{"definitions":["t-configurator.d.ts"]},"devDependencies":{"del":"^2.0.2","dts-generator":"^1.5.0","fs":"0.0.2","gulp":"^3.9.0","gulp-exec":"^2.1.1","gulp-plumber":"^1.0.1","gulp-typescript":"^2.9.0","run-sequence":"^1.1.4","tsd":"^0.6.4","typescript":"^1.6.2"},"dependencies":{"typedi":"0.0.4"},"scripts":{"postversion":"gulp package"},"homepage":"https://github.com/PLEEROCK/t-configurator#readme","_id":"t-configurator@0.0.1","_shasum":"d4ebb28b4702b369e4ca6934c8ffe3f43909143e","_from":".","_npmVersion":"2.14.3","_nodeVersion":"4.1.0","_npmUser":{"name":"pleerock","email":"zarrhost@gmail.com"},"dist":{"shasum":"d4ebb28b4702b369e4ca6934c8ffe3f43909143e","tarball":"https://registry.npmjs.org/t-configurator/-/t-configurator-0.0.1.tgz","integrity":"sha512-6A7KCWiAXTnDs17T4bmNwg2n+52kTVeM4hsSKrbIpKclxq5+zH4KEREbAKbkHgXo5IizUMMREymD1JiOKbImzg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEpP14IKR8cWooHHoFzzpJbJIlaDP7KLkXSGR+1iCN9FAiEAlfCsm9+lEWyUQOa4TM4s/CM5zTQXrdWWrm0emnsIwdc="}]},"maintainers":[{"name":"pleerock","email":"zarrhost@gmail.com"}]},"0.0.2":{"name":"t-configurator","version":"0.0.2","description":"Allows to manage configuration files in your project","license":"Apache-2.0","author":{"name":"Umed Khudoiberdiev","email":"zarrhost@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/PLEEROCK/t-configurator.git"},"bugs":{"url":"https://github.com/PLEEROCK/t-configurator/issues"},"tags":["config","configurator","configuration","typescript","typescript-config"],"typings":"./t-configurator.d.ts","typescript":{"definitions":["t-configurator.d.ts"]},"devDependencies":{"del":"^2.0.2","dts-generator":"^1.5.0","fs":"0.0.2","gulp":"^3.9.0","gulp-exec":"^2.1.1","gulp-plumber":"^1.0.1","gulp-typescript":"^2.9.0","run-sequence":"^1.1.4","tsd":"^0.6.4","typescript":"^1.6.2"},"dependencies":{"typedi":"0.0.4"},"scripts":{"postversion":"gulp package"},"homepage":"https://github.com/PLEEROCK/t-configurator#readme","_id":"t-configurator@0.0.2","_shasum":"879d4023253381550153d49da1680a5b0ab2087e","_from":".","_npmVersion":"2.14.3","_nodeVersion":"4.1.0","_npmUser":{"name":"pleerock","email":"zarrhost@gmail.com"},"dist":{"shasum":"879d4023253381550153d49da1680a5b0ab2087e","tarball":"https://registry.npmjs.org/t-configurator/-/t-configurator-0.0.2.tgz","integrity":"sha512-XC4pwJrW1rMgBm0aITPUFV1MOBvNFTP5t6fzDGkhYfyfA3WQaBiOAduY3K3MKukSy5Fam4KypeO8hH5ebP34jA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDX0z4T5/C8VaQt/eXQ9TxvJ4epmUGySmYUrWaL3LEutAIgGgBBoqypHWfJ8cqbXbb37L93Z7EeodsB4yvKcIehdHI="}]},"maintainers":[{"name":"pleerock","email":"zarrhost@gmail.com"}]},"0.0.3":{"name":"t-configurator","version":"0.0.3","description":"Allows to manage configuration files in your project","license":"Apache-2.0","author":{"name":"Umed Khudoiberdiev","email":"zarrhost@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/PLEEROCK/t-configurator.git"},"bugs":{"url":"https://github.com/PLEEROCK/t-configurator/issues"},"tags":["config","configurator","configuration","typescript","typescript-config"],"typings":"./t-configurator.d.ts","typescript":{"definitions":["t-configurator.d.ts"]},"devDependencies":{"del":"^2.0.2","dts-generator":"^1.5.0","fs":"0.0.2","gulp":"^3.9.0","gulp-exec":"^2.1.1","gulp-plumber":"^1.0.1","gulp-typescript":"^2.9.0","run-sequence":"^1.1.4","tsd":"^0.6.4","typescript":"^1.6.2"},"dependencies":{"typedi":"0.0.4"},"scripts":{"postversion":"gulp package"},"homepage":"https://github.com/PLEEROCK/t-configurator#readme","_id":"t-configurator@0.0.3","_shasum":"9cb84f957556ede9c1e69568dbaebaa2cad41df3","_from":".","_npmVersion":"2.14.3","_nodeVersion":"4.1.0","_npmUser":{"name":"pleerock","email":"zarrhost@gmail.com"},"dist":{"shasum":"9cb84f957556ede9c1e69568dbaebaa2cad41df3","tarball":"https://registry.npmjs.org/t-configurator/-/t-configurator-0.0.3.tgz","integrity":"sha512-TQF2HLpLO++/v3pJOjWLaluhDh+nqVzwjuM9Fxl7IphET3ZUT1U2rxE6QgZaCBt+jm4/TkVbTdD0msQhZF2Ofg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKjDKAEr84PEFTUr/Ij5LMYvWfWALoWSa1ItqW8jNxpwIhAKBF/17KuPm5MRYYASpmJ8/HvbQC21z3APVyxOMsWD6d"}]},"maintainers":[{"name":"pleerock","email":"zarrhost@gmail.com"}]},"0.0.4":{"name":"t-configurator","version":"0.0.4","description":"Allows to manage configuration files in your project","license":"Apache-2.0","author":{"name":"Umed Khudoiberdiev","email":"zarrhost@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/PLEEROCK/t-configurator.git"},"bugs":{"url":"https://github.com/PLEEROCK/t-configurator/issues"},"tags":["config","configurator","configuration","typescript","typescript-config"],"typings":"./t-configurator.d.ts","typescript":{"definitions":["t-configurator.d.ts"]},"devDependencies":{"del":"^2.0.2","dts-generator":"^1.5.0","fs":"0.0.2","gulp":"^3.9.0","gulp-exec":"^2.1.1","gulp-plumber":"^1.0.1","gulp-typescript":"^2.9.0","run-sequence":"^1.1.4","tsd":"^0.6.4","typescript":"^1.6.2"},"dependencies":{"typedi":"^0.0.4"},"scripts":{"postversion":"gulp package"},"homepage":"https://github.com/PLEEROCK/t-configurator#readme","_id":"t-configurator@0.0.4","_shasum":"9f298bf810bb5731153d8c7b62629b436c80a22f","_from":".","_npmVersion":"2.14.3","_nodeVersion":"4.1.0","_npmUser":{"name":"pleerock","email":"zarrhost@gmail.com"},"dist":{"shasum":"9f298bf810bb5731153d8c7b62629b436c80a22f","tarball":"https://registry.npmjs.org/t-configurator/-/t-configurator-0.0.4.tgz","integrity":"sha512-z75NySzIQRbTVqVINCa4YCO3/ZyshLy/2khKwtCfActMykBlTSonqqxagRVUGTbogwwGiEx6lwmrV+cO6N6rOg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIChIkEoPayS7mf7lop3Mu1v4H7y0/wYJtUcDpYt5tB73AiASgRAmRRMe4LTNHH9BqtfqLyg9crtK6no/Ges29Yw2wQ=="}]},"maintainers":[{"name":"pleerock","email":"zarrhost@gmail.com"}]},"0.0.5":{"name":"t-configurator","version":"0.0.5","description":"Allows to manage configuration files in your project","license":"Apache-2.0","author":{"name":"Umed Khudoiberdiev","email":"zarrhost@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/PLEEROCK/t-configurator.git"},"bugs":{"url":"https://github.com/PLEEROCK/t-configurator/issues"},"tags":["config","configurator","configuration","typescript","typescript-config"],"typings":"./t-configurator.d.ts","typescript":{"definitions":["t-configurator.d.ts"]},"devDependencies":{"del":"^2.0.2","dts-generator":"^1.5.0","fs":"0.0.2","gulp":"^3.9.0","gulp-exec":"^2.1.1","gulp-plumber":"^1.0.1","gulp-typescript":"^2.9.0","run-sequence":"^1.1.4","tsd":"^0.6.4","typescript":"^1.6.2"},"dependencies":{"typedi":"^0.0.4"},"scripts":{"postversion":"gulp package"},"homepage":"https://github.com/PLEEROCK/t-configurator#readme","_id":"t-configurator@0.0.5","_shasum":"0203e6fe53ac6a8202b37a80d1a16f68b4891cd4","_from":".","_npmVersion":"2.14.3","_nodeVersion":"4.1.0","_npmUser":{"name":"pleerock","email":"zarrhost@gmail.com"},"dist":{"shasum":"0203e6fe53ac6a8202b37a80d1a16f68b4891cd4","tarball":"https://registry.npmjs.org/t-configurator/-/t-configurator-0.0.5.tgz","integrity":"sha512-GAIcLnuFbOYEbjPov1o9RJZ7WQJzEgJ48Do2r1mqYXUrRCkzwNT3rD5yHlz6RBAb7sZZzdklSSeELVhyO6m7EQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCy9n1VFxzIIjUr6xx1GD6eXn1jVFmIWLw/tuLH/bctaQIhANb6GRQ7WF+02+Fnb0Ac9C34fn4Jp9qOVJ5dfwBxCf0J"}]},"maintainers":[{"name":"pleerock","email":"zarrhost@gmail.com"}]}},"readme":"# T-Configurator\r\n\r\nAllows to create and manage configuration files in your project. You can use [gulp-config-parameters][1] plugin\r\nto automate how your configuration is created and managed.\r\n\r\n## Usage\r\n\r\nCreate your configuration file, lets say `./config.json`:\r\n\r\n```json\r\n{\r\n  \"factoryName\": \"BMW\",\r\n  \"showEngineInfo\": true,\r\n  \"engine\": {\r\n    \"version\": 12,\r\n    \"description\": \"Reactive engine for reactive cars\"\r\n  }\r\n}\r\n```\r\n\r\nThen register your configuration file in configurator and use it to get your configuration properties:\r\n\r\n```typescript\r\nimport {defaultConfigurator} from \"t-configurator/Configurator\";\r\n\r\ndefaultConfigurator.setConfiguration(require('./config.json'));\r\nconsole.log('factory name: ', configurator.get('factoryName')); // prints: factory name: BMW\r\nconsole.log('show engine info?: ', configurator.get('showEngineInfo')); // prints: show engine info?: true\r\nconsole.log('car engine: ', configurator.get('engine')); // prints: car engine: [Object object]\r\n```\r\n\r\n###If you have separate parameters file you can use it this way:\r\nLets say you have created `./parameters.json`\r\n\r\n```json\r\n{\r\n  \"factoryName\": \"BMW\",\r\n  \"showEngineInfo\": true,\r\n  \"engine\": {\r\n    \"version\": 12,\r\n    \"description\": \"Reactive engine for reactive cars\"\r\n  }\r\n}\r\n```\r\n\r\nAnd your `./config.json` is like this:\r\n\r\n```json\r\n{\r\n  \"factoryName\": \"%factoryName%\",\r\n  \"showEngineInfo\": \"%showEngineInfo%\",\r\n  \"engine\": {\r\n    \"version\": \"%engine::version%\",\r\n    \"name\": \"Reactive\",\r\n    \"description\": \"%engine::description%\"\r\n  }\r\n}\r\n```\r\n\r\nNow you can use configuration (with replaced parameters) this way:\r\n\r\n```typescript\r\nimport {defaultConfigurator} from \"t-configurator/Configurator\";\r\n\r\ndefaultConfigurator.setConfiguration(require('./config.json'));\r\ndefaultConfigurator.replaceWithParameters(require('./parameters.json'));\r\nconsole.log('factory name: ', configurator.get('factoryName')); // prints: factory name: BMW\r\nconsole.log('show engine info?: ', configurator.get('showEngineInfo')); // prints: show engine info?: true\r\nconsole.log('car engine: ', configurator.get('engine')); // prints: car engine: [Object object]\r\n```\r\n\r\nThis allows you to create a common configuration file for your app, and use different parameters on different platforms.\r\nYou can use [gulp-config-parameters][1] plugin to automate this process.\r\n\r\n###If you are using [typedi][2] you can inject your configuration in your classes\r\n\r\n```typescript\r\nimport {Resolve} from \"typedi/Resolve\";\r\nimport {Config} from \"../../src/Annotations\";\r\nimport {EngineFactory} from \"./EngineFactory\";\r\n\r\n@Resolve()\r\nexport class CarFactory {\r\n\r\n    private factoryName: string;\r\n    private showEngineInfo: boolean;\r\n\r\n    constructor(@Config('factoryName') factoryName: string,\r\n                @Config('showEngineInfo') showEngineInfo: boolean) {\r\n\r\n        this.factoryName = factoryName; // gives you \"BMW\"\r\n        this.showEngineInfo = showEngineInfo; // gives you \"true\"\r\n    }\r\n\r\n}\r\n```\r\n\r\nYou can also inject right to the properties:\r\n\r\n```typescript\r\nimport {Resolve} from \"typedi/Resolve\";\r\nimport {Config} from \"../../src/Annotations\";\r\nimport {EngineFactory} from \"./EngineFactory\";\r\n\r\n@Resolve()\r\nexport class CarFactory {\r\n\r\n    @InjectConfig('factoryName')\r\n    factoryName: string;  // value is \"BMW\"\r\n    \r\n    @InjectConfig('showEngineInfo')\r\n    showEngineInfo: boolean; // value is \"true\"\r\n    \r\n}\r\n```\r\n\r\nTake a look on samples in `./sample` for more examples of usages.\r\n\r\n## Todos\r\n\r\n* cover with tests\r\n* more documentation and samples\r\n\r\n[1]: https://github.com/PLEEROCK/gulp-config-parameters\r\n[2]: https://github.com/PLEEROCK/typedi","maintainers":[{"name":"pleerock","email":"zarrhost@gmail.com"}],"time":{"modified":"2022-06-27T03:23:13.601Z","created":"2015-10-10T04:32:53.779Z","0.0.1":"2015-10-10T04:32:53.779Z","0.0.2":"2015-10-10T05:21:43.423Z","0.0.3":"2015-10-10T07:21:15.788Z","0.0.4":"2015-10-10T11:47:52.013Z","0.0.5":"2015-10-10T15:15:05.698Z"},"homepage":"https://github.com/PLEEROCK/t-configurator#readme","repository":{"type":"git","url":"git+https://github.com/PLEEROCK/t-configurator.git"},"author":{"name":"Umed Khudoiberdiev","email":"zarrhost@gmail.com"},"bugs":{"url":"https://github.com/PLEEROCK/t-configurator/issues"},"license":"Apache-2.0","readmeFilename":"README.md"}