Including new plugin with release package

I want to package my plugin together with other default plugins, so when I build grafana release package, my new plugin is already installed. This would make grafana update process easier by not having to update grafana and all of the plugins separately for each environment.

I noticed that data/plugins and public/app/plugins/panel (where I want my plugin to be) behave differently.

Example: I can add a plugin (discrete-panel) to data/plugins, restart grafana, and it will be visible and usable from the website, but if I add it to public/app/plugins/panel I get typescript compilation errors and missing NPM package (which is strange, because I could not find node_modules folder in data/plugins when it was working).

Errors:

[at-loader] Checking finished with 32 errors
[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/canvas-metric.ts:1:21 
    TS6053: File '/root/go/src/github.com/grafana/grafana/public/app/plugins/panel/natel-discrete-panel/node_modules/grafana-sdk-mocks/app/headers/common.d.ts' not found. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/canvas-metric.ts:5:1 
    TS6133: '_' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/module.ts:1:21 
    TS6053: File '/root/go/src/github.com/grafana/grafana/public/app/plugins/panel/natel-discrete-panel/node_modules/grafana-sdk-mocks/app/headers/common.d.ts' not found. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/module.ts:3:1 
    TS6133: 'config' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/module.ts:4:1 
    TS6133: 'angular' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/module.ts:7:25 
    TS6133: 'LegendValue' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/module.ts:310:13 
    TS6133: 'last' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/module.ts:658:11 
    TS6133: 'height' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/module.ts:669:13 
    TS6133: 'lastBS' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/module.ts:952:11 
    TS6133: 'rows' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/module.ts:953:11 
    TS6133: 'rowHeight' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/module.ts:954:11 
    TS6133: 'height' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/module.ts:1016:9 
    TS6133: 'rowHeight' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/module.ts:1046:11 
    TS6133: 'rows' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/module.ts:1048:11 
    TS6133: 'height' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/dist/module.ts:1065:9 
    TS6133: 'xPos' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/canvas-metric.ts:1:21 
    TS6053: File '/root/go/src/github.com/grafana/grafana/public/app/plugins/panel/natel-discrete-panel/node_modules/grafana-sdk-mocks/app/headers/common.d.ts' not found. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/canvas-metric.ts:5:1 
    TS6133: '_' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/module.ts:1:21 
    TS6053: File '/root/go/src/github.com/grafana/grafana/public/app/plugins/panel/natel-discrete-panel/node_modules/grafana-sdk-mocks/app/headers/common.d.ts' not found. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/module.ts:3:1 
    TS6133: 'config' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/module.ts:4:1 
    TS6133: 'angular' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/module.ts:7:25 
    TS6133: 'LegendValue' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/module.ts:310:13 
    TS6133: 'last' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/module.ts:658:11 
    TS6133: 'height' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/module.ts:669:13 
    TS6133: 'lastBS' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/module.ts:952:11 
    TS6133: 'rows' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/module.ts:953:11 
    TS6133: 'rowHeight' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/module.ts:954:11 
    TS6133: 'height' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/module.ts:1016:9 
    TS6133: 'rowHeight' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/module.ts:1046:11 
    TS6133: 'rows' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/module.ts:1048:11 
    TS6133: 'height' is declared but its value is never read. 

[at-loader] ./public/app/plugins/panel/natel-discrete-panel/src/module.ts:1065:9 
    TS6133: 'xPos' is declared but its value is never read. 

I wonder how public/app/plugins is different from data/plugins, why does the plugin work in one but not the other? Any link to relevant information/documentation is appreciated.