devextreme-renovation

Build Status Build Devextreme

Generator

npm package

Building

  • cwd cd ./generator
  • install packages npm install
  • build npm run build or npm run build-dist or npm run dev
  • test npm test

Publishing

Increment version in package.json and commit it in the master. The package will be published automatically once tests passed.

Using

Installing

`npm install --save devextreme-generator`

Usage

With gulp
// gulpfile.js
const { generateComponents } = require('devextreme-generator/component-compiler');
const generator = require('devextreme-generator/preact-generator').default;
// const generator = require('devextreme-generator/react-generator').default;
// const generator = require('devextreme-generator/angular-generator').default;

// Optional set options
generator.options = {
    defaultOptionsModule: 'pathToYourModule or node_modules/devextreme-generator/component_declaration/default_options',
    jqueryComponentRegistratorModule: 'path',
    jqueryBaseComponentModule: 'preact_wrapper/component',
};

gulp.task('generate-components', function() {
    return gulp.src(SRC)
        .pipe(generateComponents(generator))
        .pipe(gulp.dest(DEST));
});
Generate component from file
const { compileCode } = require('devextreme-generator/component-compiler');
const reactGenerator = require('devextreme-generator/react-generator').default;

const result = compileCode(generator, source, {
   path: path,
   dirname: dirname
});
With webpack
// webpack.config.js

module.exports = {
   // ...
   module: {
       rules: [
           {
               test: /\.tsx?$/,
               loaders: [
                   {
                       loader: 'babel-loader',
                   },
                   {
                       loader: 'devextreme-generator/webpack-loader',
                       options: {
                           platform: 'preact',
                           defaultOptionsModule: 'path',
                           // ...
                           tsConfig: path.resolve('./preact.tsconfig.json')
                       },
                   },
               ],
               exclude: ['/node_modules/'],
           },
           // ...
           ]
   },
   resolve: {
       extensions: ['.js', '.tsx', '.ts'],
   }
};