Based on https://www.npmjs.com/package/extjs-loader
npm install --save-dev extjs-class-loader
The extjs-class-loader
interprets:
Ext.define
propertiesrequires
,uses
,mixins
configs likerequires
.Ext.application
propertycontrollers
Ext.define
of controller propertystores
Use the loader either via your webpack config, CLI or inline.
webpack.config.js
module.exports = {
module: {
rules: [
{
test: /\.js/,
use: [
{
loader: 'extjs-class-loader',
options : {
debug: true,
paths: {
'Deft': false,
'Ext.ux': 'utils/ux',
'Ext': false,
'Override': path.resolve('app/overrides'),
'MyApp': path.resolve('app/src')
},
imports: false,
extentions : ['js', 'ts']
}
} ]
}
]
}
}
Name | Default value | Description |
---|---|---|
debug |
false |
Print status messages for debugging purpose |
paths |
{} |
Define your loader config here. I.e. define how the namespaces in your app should be resolved. If false value is used then the given namespace is ignored. It is useful when you include that namespace on other way. E.g. if you include Ext-debug-all.js in your HTML then you do not want to include individual components. |
extentions |
['js'] |
Array of Defines extentions of included files. Loader will check, that file is exists before include |
imports |
false |
Use import statement instead of require |
sourceType |
module |
Type of source for parsing by esprima. |
encoding |
utf-8 |
Encoding of source codes |
Zoltan Magyar |
Steveetm |
Initial release to process project files
Support for extjs-parser to allow processing of Ext.js sdk dependencies
Removed support of extjs-parser. Full refactoring of loader.
Added tests for various situations
Added ability to parse files with different sourceType of esprima Added ability to use imports instead of require Added ability to set array of supported files extentions