devextreme-schematics 1.2.23 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/package.json +7 -7
- package/src/add-app-template/index.d.ts +2 -2
- package/src/add-app-template/index.js +26 -26
- package/src/add-app-template/index_spec.d.ts +1 -1
- package/src/add-app-template/index_spec.js +70 -69
- package/src/add-app-template/index_spec.js.map +1 -1
- package/src/add-app-template/schema.json +2 -2
- package/src/add-layout/files/devextreme.json +1 -1
- package/src/add-layout/files/src/app/shared/services/screen.service.ts +1 -1
- package/src/add-layout/files/src/dx-styles.scss +4 -0
- package/src/add-layout/index.d.ts +2 -2
- package/src/add-layout/index.js +277 -266
- package/src/add-layout/index.js.map +1 -1
- package/src/add-layout/index.ts +28 -30
- package/src/add-layout/index_spec.d.ts +1 -1
- package/src/add-layout/index_spec.js +251 -250
- package/src/add-layout/index_spec.js.map +1 -1
- package/src/add-layout/index_spec.ts +2 -2
- package/src/add-layout/schema.json +2 -2
- package/src/add-sample-views/index.d.ts +2 -2
- package/src/add-sample-views/index.js +97 -88
- package/src/add-sample-views/index.js.map +1 -1
- package/src/add-sample-views/index.ts +3 -3
- package/src/add-sample-views/index_spec.d.ts +1 -1
- package/src/add-sample-views/index_spec.js +53 -52
- package/src/add-sample-views/index_spec.js.map +1 -1
- package/src/add-sample-views/index_spec.ts +1 -1
- package/src/add-sample-views/schema.json +1 -1
- package/src/add-view/index.d.ts +3 -3
- package/src/add-view/index.js +125 -113
- package/src/add-view/index.js.map +1 -1
- package/src/add-view/index.ts +14 -13
- package/src/add-view/index_spec.d.ts +1 -1
- package/src/add-view/index_spec.js +109 -108
- package/src/add-view/index_spec.js.map +1 -1
- package/src/add-view/schema.json +1 -1
- package/src/install/index.d.ts +2 -2
- package/src/install/index.js +76 -63
- package/src/install/index.js.map +1 -1
- package/src/install/index.ts +4 -2
- package/src/install/index_spec.d.ts +1 -1
- package/src/install/index_spec.js +96 -95
- package/src/install/index_spec.js.map +1 -1
- package/src/install/index_spec.ts +1 -1
- package/src/install/schema.json +1 -1
- package/src/utility/array.d.ts +1 -1
- package/src/utility/array.js +7 -6
- package/src/utility/array.js.map +1 -1
- package/src/utility/change.d.ts +7 -7
- package/src/utility/change.js +49 -48
- package/src/utility/change.js.map +1 -1
- package/src/utility/latest-versions.d.ts +5 -5
- package/src/utility/latest-versions.js +9 -8
- package/src/utility/latest-versions.js.map +1 -1
- package/src/utility/modify-json-file.d.ts +3 -2
- package/src/utility/modify-json-file.js +15 -11
- package/src/utility/modify-json-file.js.map +1 -1
- package/src/utility/modify-json-file.ts +6 -3
- package/src/utility/project.d.ts +5 -5
- package/src/utility/project.js +48 -25
- package/src/utility/project.js.map +1 -1
- package/src/utility/project.ts +19 -14
- package/src/utility/routing.d.ts +4 -4
- package/src/utility/routing.js +32 -31
- package/src/utility/routing.js.map +1 -1
- package/src/utility/source.d.ts +3 -3
- package/src/utility/source.js +13 -12
- package/src/utility/source.js.map +1 -1
- package/src/utility/string.d.ts +1 -1
- package/src/utility/string.js +8 -7
- package/src/utility/string.js.map +1 -1
- package/src/utility/styles.d.ts +1 -2
- package/src/utility/styles.js +29 -30
- package/src/utility/styles.js.map +1 -1
- package/src/utility/styles.ts +2 -5
package/src/add-layout/index.ts
CHANGED
@@ -14,8 +14,6 @@ import {
|
|
14
14
|
template
|
15
15
|
} from '@angular-devkit/schematics';
|
16
16
|
|
17
|
-
import { of } from 'rxjs';
|
18
|
-
|
19
17
|
import {
|
20
18
|
SourceFile
|
21
19
|
} from 'typescript';
|
@@ -39,7 +37,8 @@ import {
|
|
39
37
|
} from '../utility/styles';
|
40
38
|
|
41
39
|
import {
|
42
|
-
modifyJSONFile
|
40
|
+
modifyJSONFile,
|
41
|
+
parseJson
|
43
42
|
} from '../utility/modify-json-file';
|
44
43
|
|
45
44
|
import {
|
@@ -68,7 +67,7 @@ import {
|
|
68
67
|
addImportToModule, addProviderToModule, insertImport
|
69
68
|
} from '@schematics/angular/utility/ast-utils';
|
70
69
|
|
71
|
-
import { getWorkspace } from '@schematics/angular/utility/
|
70
|
+
import { getWorkspace } from '@schematics/angular/utility/workspace';
|
72
71
|
import { Change } from '@schematics/angular/utility/change';
|
73
72
|
|
74
73
|
const projectFilesSource = './files/src';
|
@@ -108,8 +107,8 @@ function addBuildThemeScript() {
|
|
108
107
|
};
|
109
108
|
}
|
110
109
|
|
111
|
-
function addCustomThemeStyles(options: any, sourcePath: string) {
|
112
|
-
|
110
|
+
async function addCustomThemeStyles(host: Tree, options: any, sourcePath: string = '') {
|
111
|
+
const projectName = await getProjectName(host, options.project);
|
113
112
|
modifyJSONFile(host, './angular.json', config => {
|
114
113
|
const stylesList = [
|
115
114
|
`${sourcePath}/dx-styles.scss`,
|
@@ -118,17 +117,15 @@ function addCustomThemeStyles(options: any, sourcePath: string) {
|
|
118
117
|
'node_modules/devextreme/dist/css/dx.common.css'
|
119
118
|
];
|
120
119
|
|
121
|
-
return addStylesToApp(
|
120
|
+
return addStylesToApp(projectName, config, stylesList);
|
122
121
|
});
|
123
122
|
|
124
123
|
return host;
|
125
|
-
};
|
126
124
|
}
|
127
125
|
|
128
|
-
function updateBudgets(options: any) {
|
129
|
-
|
130
|
-
|
131
|
-
const projectName = getProjectName(host, options.project);
|
126
|
+
async function updateBudgets(host: Tree, options: any) {
|
127
|
+
const projectName = await getProjectName(host, options.project);
|
128
|
+
modifyJSONFile(host, './angular.json', config => {
|
132
129
|
const budgets: any[] = config.projects[projectName].architect.build.configurations.production.budgets;
|
133
130
|
|
134
131
|
const budget = budgets.find((item) => item.type === 'initial');
|
@@ -138,13 +135,12 @@ function updateBudgets(options: any) {
|
|
138
135
|
}
|
139
136
|
|
140
137
|
return config;
|
141
|
-
|
138
|
+
});
|
142
139
|
|
143
|
-
|
144
|
-
};
|
140
|
+
return host;
|
145
141
|
}
|
146
142
|
|
147
|
-
function addViewportToBody(sourcePath: string) {
|
143
|
+
function addViewportToBody(sourcePath: string = '') {
|
148
144
|
return (host: Tree) => {
|
149
145
|
const indexPath = join(sourcePath, 'index.html');
|
150
146
|
let indexContent = host.read(indexPath)!.toString();
|
@@ -242,7 +238,7 @@ function addPackagesToDependency(globalNgCliVersion: string) {
|
|
242
238
|
}
|
243
239
|
|
244
240
|
function modifyContentByTemplate(
|
245
|
-
sourcePath: string,
|
241
|
+
sourcePath: string = '',
|
246
242
|
templateSourcePath: string,
|
247
243
|
filePath: string | null,
|
248
244
|
templateOptions: any = {},
|
@@ -282,14 +278,13 @@ function modifyContentByTemplate(
|
|
282
278
|
const modifiedSource = apply(url(templateSourcePath), rules);
|
283
279
|
const resultRule = mergeWith(modifiedSource);
|
284
280
|
|
285
|
-
return callRule(resultRule,
|
281
|
+
return callRule(resultRule, host, context);
|
286
282
|
};
|
287
283
|
}
|
288
284
|
|
289
|
-
function updateDevextremeConfig(sourcePath: string) {
|
285
|
+
function updateDevextremeConfig(sourcePath: string = '') {
|
290
286
|
const devextremeConfigPath = '/devextreme.json';
|
291
287
|
const templateOptions = {
|
292
|
-
engine: 'angular',
|
293
288
|
sourcePath
|
294
289
|
};
|
295
290
|
|
@@ -321,17 +316,20 @@ const modifyRoutingModule = (host: Tree, routingModulePath: string) => {
|
|
321
316
|
};
|
322
317
|
|
323
318
|
export default function(options: any): Rule {
|
324
|
-
return (host: Tree) => {
|
325
|
-
const
|
326
|
-
const
|
327
|
-
const
|
319
|
+
return async (host: Tree) => {
|
320
|
+
const ngConfig = host.read('./angular.json')!.toString();
|
321
|
+
const defaultProjectName = parseJson(ngConfig).defaultProject;
|
322
|
+
const project = await getProjectName(host, options.project);
|
323
|
+
const workspace = await getWorkspace(host);
|
324
|
+
const ngProject = workspace.projects.get(project);
|
325
|
+
const prefix = ngProject?.prefix;
|
328
326
|
const title = humanize(project);
|
329
|
-
const appPath = getApplicationPath(host, project);
|
330
|
-
const sourcePath = getSourceRootPath(host, project);
|
327
|
+
const appPath = await getApplicationPath(host, project);
|
328
|
+
const sourcePath = await getSourceRootPath(host, project);
|
331
329
|
const layout = options.layout;
|
332
330
|
const override = options.resolveConflicts === 'override';
|
333
331
|
const componentName = override ? 'app' : getComponentName(host, appPath);
|
334
|
-
const pathToCss = sourcePath
|
332
|
+
const pathToCss = sourcePath?.replace(/\/?(\w)+\/?/g, '../');
|
335
333
|
const templateOptions = {
|
336
334
|
name: componentName,
|
337
335
|
layout,
|
@@ -359,13 +357,13 @@ export default function(options: any): Rule {
|
|
359
357
|
updateDevextremeConfig(sourcePath),
|
360
358
|
updateAppModule(host, appPath),
|
361
359
|
addBuildThemeScript(),
|
362
|
-
addCustomThemeStyles(options, sourcePath),
|
360
|
+
() => addCustomThemeStyles(host, options, sourcePath) as any,
|
363
361
|
addViewportToBody(sourcePath),
|
364
362
|
addPackagesToDependency(options.globalNgCliVersion)
|
365
363
|
];
|
366
364
|
|
367
365
|
if (options.updateBudgets) {
|
368
|
-
rules.push(updateBudgets(options));
|
366
|
+
rules.push(() => updateBudgets(host, options) as any);
|
369
367
|
}
|
370
368
|
|
371
369
|
if (!options.skipInstall) {
|
@@ -375,7 +373,7 @@ export default function(options: any): Rule {
|
|
375
373
|
}
|
376
374
|
|
377
375
|
if (override) {
|
378
|
-
if (project ===
|
376
|
+
if (project === defaultProjectName) {
|
379
377
|
rules.push(modifyContentByTemplate('./', workspaceFilesSource, 'e2e/src/app.e2e-spec.ts', { title }));
|
380
378
|
rules.push(modifyContentByTemplate('./', workspaceFilesSource, 'e2e/src/app.po.ts'));
|
381
379
|
}
|
@@ -1 +1 @@
|
|
1
|
-
export {};
|
1
|
+
export {};
|