0.5.0 • Published 1 year ago

@starnetbih/au2-configuration v0.5.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

au2-configuration

This library is a partial port of the aurelia-configuration plugin.

Full disclosure: this plugin is in alpha stage. Use at your own risk.

Installation

npm install @starnetbih/au2-configuration or yarn add @starnetbih/au2-configuration

Configuration

Inside of your main.ts/main.js file register the plugin on the register method:

import { AureliaConfigurationConfiguration } from '@starnetbih/au2-configuration';

Aurelia.register(AureliaConfigurationConfiguration); 

//Or configure
Aurelia.register(
    AureliaConfigurationConfiguration.configure({ dir: 'mydir', file: 'myfile' })
);

Default configuration conventions

Make sure that your src directory contains config directory with config.json file in it. So:

  • app
    • src
      • config
        • config.json

config.json example

{
 "obj": {
  "sub": {
   "prop": "value"
  }
 }
}

Setup your webpack.config.js

Make sure that you have copy-webpack-plugin installed

npm install copy-webpack-plugin --save-dev or yarn add -D copy-webpack-plugin

Configure copy-webpack-plugin so it copies your configuration do dist directory.

/*Import plugin*/
const CopyWebpackPlugin = require('copy-webpack-plugin');

/*Initialize variables*/
const srcDir = path.resolve(__dirname, 'src');
const outDir = path.resolve(__dirname, 'dist');

/*Add CopyWebpackPlugin to plugins array*/
plugins: [
      new HtmlWebpackPlugin({ template: 'index.html' }),
      new Dotenv({
        path: `./.env${production ? '' :  '.' + (process.env.NODE_ENV || 'development')}`,
      }),
      analyze && new BundleAnalyzerPlugin(),
      new CopyWebpackPlugin({
        patterns:[
        { from: srcDir +'/config', to: outDir + '/config' }
      ]})
    ].filter(p => p)

Usage

import { IAureliaConfiguration } from '@starnetbih/au2-configuration';

export class MyApp {

    constructor( @IAureliaConfiguration private cfg: IAureliaConfiguration ) { }

    async attached() {
        console.log(this.cfg.get('obj.sub.prop'));
    }
}
0.5.0

1 year ago

0.4.14

2 years ago

0.4.5

2 years ago

0.4.6

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.1

2 years ago

0.4.2

2 years ago

0.2.6

2 years ago

0.2.9

2 years ago

0.2.4

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.2.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.4

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.0

2 years ago