@skyux/packages 7.0.0-beta.6 → 7.0.0-beta.7
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/package.json +47 -47
- package/src/schematics/migrations/migration-collection.json +6 -1
- package/src/schematics/migrations/update-7/add-compat-stylesheets.js +47 -23
- package/src/schematics/migrations/update-7/add-compat-stylesheets.js.map +1 -1
- package/src/schematics/migrations/update-7/fix-scss-imports.d.ts +2 -0
- package/src/schematics/migrations/update-7/fix-scss-imports.js +77 -0
- package/src/schematics/migrations/update-7/fix-scss-imports.js.map +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/packages",
|
|
3
|
-
"version": "7.0.0-beta.
|
|
3
|
+
"version": "7.0.0-beta.7",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"description": "Handles the `ng update` command for SKY UX component libraries.",
|
|
6
6
|
"keywords": [
|
|
@@ -27,54 +27,54 @@
|
|
|
27
27
|
"@blackbaud/skyux-lib-code-block": "^7.0.0-beta.0",
|
|
28
28
|
"@blackbaud/skyux-lib-media": "^7.0.0-beta.0",
|
|
29
29
|
"@blackbaud/skyux-lib-stache": "^7.0.0-beta.0",
|
|
30
|
-
"@skyux-sdk/prettier-schematics": "7.0.0-beta.
|
|
31
|
-
"@skyux-sdk/testing": "7.0.0-beta.
|
|
32
|
-
"@skyux/a11y": "7.0.0-beta.
|
|
33
|
-
"@skyux/action-bars": "7.0.0-beta.
|
|
34
|
-
"@skyux/ag-grid": "7.0.0-beta.
|
|
35
|
-
"@skyux/angular-tree-component": "7.0.0-beta.
|
|
36
|
-
"@skyux/animations": "7.0.0-beta.
|
|
37
|
-
"@skyux/assets": "7.0.0-beta.
|
|
38
|
-
"@skyux/autonumeric": "7.0.0-beta.
|
|
39
|
-
"@skyux/avatar": "7.0.0-beta.
|
|
40
|
-
"@skyux/colorpicker": "7.0.0-beta.
|
|
41
|
-
"@skyux/config": "7.0.0-beta.
|
|
42
|
-
"@skyux/core": "7.0.0-beta.
|
|
43
|
-
"@skyux/data-manager": "7.0.0-beta.
|
|
44
|
-
"@skyux/datetime": "7.0.0-beta.
|
|
30
|
+
"@skyux-sdk/prettier-schematics": "7.0.0-beta.7",
|
|
31
|
+
"@skyux-sdk/testing": "7.0.0-beta.7",
|
|
32
|
+
"@skyux/a11y": "7.0.0-beta.7",
|
|
33
|
+
"@skyux/action-bars": "7.0.0-beta.7",
|
|
34
|
+
"@skyux/ag-grid": "7.0.0-beta.7",
|
|
35
|
+
"@skyux/angular-tree-component": "7.0.0-beta.7",
|
|
36
|
+
"@skyux/animations": "7.0.0-beta.7",
|
|
37
|
+
"@skyux/assets": "7.0.0-beta.7",
|
|
38
|
+
"@skyux/autonumeric": "7.0.0-beta.7",
|
|
39
|
+
"@skyux/avatar": "7.0.0-beta.7",
|
|
40
|
+
"@skyux/colorpicker": "7.0.0-beta.7",
|
|
41
|
+
"@skyux/config": "7.0.0-beta.7",
|
|
42
|
+
"@skyux/core": "7.0.0-beta.7",
|
|
43
|
+
"@skyux/data-manager": "7.0.0-beta.7",
|
|
44
|
+
"@skyux/datetime": "7.0.0-beta.7",
|
|
45
45
|
"@skyux/docs-tools": "^7.0.0-beta.0",
|
|
46
|
-
"@skyux/errors": "7.0.0-beta.
|
|
47
|
-
"@skyux/flyout": "7.0.0-beta.
|
|
48
|
-
"@skyux/forms": "7.0.0-beta.
|
|
49
|
-
"@skyux/grids": "7.0.0-beta.
|
|
50
|
-
"@skyux/http": "7.0.0-beta.
|
|
51
|
-
"@skyux/i18n": "7.0.0-beta.
|
|
46
|
+
"@skyux/errors": "7.0.0-beta.7",
|
|
47
|
+
"@skyux/flyout": "7.0.0-beta.7",
|
|
48
|
+
"@skyux/forms": "7.0.0-beta.7",
|
|
49
|
+
"@skyux/grids": "7.0.0-beta.7",
|
|
50
|
+
"@skyux/http": "7.0.0-beta.7",
|
|
51
|
+
"@skyux/i18n": "7.0.0-beta.7",
|
|
52
52
|
"@skyux/icons": "^5.1.1",
|
|
53
|
-
"@skyux/indicators": "7.0.0-beta.
|
|
54
|
-
"@skyux/inline-form": "7.0.0-beta.
|
|
55
|
-
"@skyux/layout": "7.0.0-beta.
|
|
56
|
-
"@skyux/list-builder": "7.0.0-beta.
|
|
57
|
-
"@skyux/list-builder-common": "7.0.0-beta.
|
|
58
|
-
"@skyux/list-builder-view-checklist": "7.0.0-beta.
|
|
59
|
-
"@skyux/list-builder-view-grids": "7.0.0-beta.
|
|
60
|
-
"@skyux/lists": "7.0.0-beta.
|
|
61
|
-
"@skyux/lookup": "7.0.0-beta.
|
|
62
|
-
"@skyux/modals": "7.0.0-beta.
|
|
63
|
-
"@skyux/navbar": "7.0.0-beta.
|
|
64
|
-
"@skyux/omnibar-interop": "7.0.0-beta.
|
|
65
|
-
"@skyux/pages": "7.0.0-beta.
|
|
66
|
-
"@skyux/phone-field": "7.0.0-beta.
|
|
67
|
-
"@skyux/popovers": "7.0.0-beta.
|
|
68
|
-
"@skyux/progress-indicator": "7.0.0-beta.
|
|
69
|
-
"@skyux/router": "7.0.0-beta.
|
|
70
|
-
"@skyux/select-field": "7.0.0-beta.
|
|
71
|
-
"@skyux/split-view": "7.0.0-beta.
|
|
72
|
-
"@skyux/tabs": "7.0.0-beta.
|
|
73
|
-
"@skyux/text-editor": "7.0.0-beta.
|
|
74
|
-
"@skyux/theme": "7.0.0-beta.
|
|
75
|
-
"@skyux/tiles": "7.0.0-beta.
|
|
76
|
-
"@skyux/toast": "7.0.0-beta.
|
|
77
|
-
"@skyux/validation": "7.0.0-beta.
|
|
53
|
+
"@skyux/indicators": "7.0.0-beta.7",
|
|
54
|
+
"@skyux/inline-form": "7.0.0-beta.7",
|
|
55
|
+
"@skyux/layout": "7.0.0-beta.7",
|
|
56
|
+
"@skyux/list-builder": "7.0.0-beta.7",
|
|
57
|
+
"@skyux/list-builder-common": "7.0.0-beta.7",
|
|
58
|
+
"@skyux/list-builder-view-checklist": "7.0.0-beta.7",
|
|
59
|
+
"@skyux/list-builder-view-grids": "7.0.0-beta.7",
|
|
60
|
+
"@skyux/lists": "7.0.0-beta.7",
|
|
61
|
+
"@skyux/lookup": "7.0.0-beta.7",
|
|
62
|
+
"@skyux/modals": "7.0.0-beta.7",
|
|
63
|
+
"@skyux/navbar": "7.0.0-beta.7",
|
|
64
|
+
"@skyux/omnibar-interop": "7.0.0-beta.7",
|
|
65
|
+
"@skyux/pages": "7.0.0-beta.7",
|
|
66
|
+
"@skyux/phone-field": "7.0.0-beta.7",
|
|
67
|
+
"@skyux/popovers": "7.0.0-beta.7",
|
|
68
|
+
"@skyux/progress-indicator": "7.0.0-beta.7",
|
|
69
|
+
"@skyux/router": "7.0.0-beta.7",
|
|
70
|
+
"@skyux/select-field": "7.0.0-beta.7",
|
|
71
|
+
"@skyux/split-view": "7.0.0-beta.7",
|
|
72
|
+
"@skyux/tabs": "7.0.0-beta.7",
|
|
73
|
+
"@skyux/text-editor": "7.0.0-beta.7",
|
|
74
|
+
"@skyux/theme": "7.0.0-beta.7",
|
|
75
|
+
"@skyux/tiles": "7.0.0-beta.7",
|
|
76
|
+
"@skyux/toast": "7.0.0-beta.7",
|
|
77
|
+
"@skyux/validation": "7.0.0-beta.7",
|
|
78
78
|
"ag-grid-angular": "^27.2.0",
|
|
79
79
|
"ag-grid-community": "^27.2.0",
|
|
80
80
|
"ag-grid-enterprise": "^27.2.0"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schematics": {
|
|
3
3
|
"noop": {
|
|
4
|
-
"version": "7.0.0-beta.
|
|
4
|
+
"version": "7.0.0-beta.7",
|
|
5
5
|
"factory": "./noop/noop.schematic",
|
|
6
6
|
"description": "Update all SKY UX component packages"
|
|
7
7
|
},
|
|
@@ -19,6 +19,11 @@
|
|
|
19
19
|
"version": "7.0.0-beta.0",
|
|
20
20
|
"factory": "./update-7/add-compat-stylesheets",
|
|
21
21
|
"description": "Add a backwards-compatible stylesheet with styles that have been removed from components in SKY UX 7."
|
|
22
|
+
},
|
|
23
|
+
"fix-scss-imports": {
|
|
24
|
+
"version": "7.0.0-beta.0",
|
|
25
|
+
"factory": "./update-7/fix-scss-imports",
|
|
26
|
+
"description": "Fix SCSS imports"
|
|
22
27
|
}
|
|
23
28
|
}
|
|
24
29
|
}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const schematics_1 = require("@angular-devkit/schematics");
|
|
4
4
|
const tree_1 = require("../../utility/tree");
|
|
5
5
|
const workspace_1 = require("../../utility/workspace");
|
|
6
|
-
const
|
|
6
|
+
const SKYUX7_COMPAT_CSS_FILE_NAME = 'skyux7-compat.css';
|
|
7
7
|
const compatStyles = {
|
|
8
8
|
libraries: [
|
|
9
9
|
{
|
|
@@ -26,10 +26,19 @@ The preset bottom margin has been removed from alert components. To implement th
|
|
|
26
26
|
},
|
|
27
27
|
],
|
|
28
28
|
};
|
|
29
|
+
function getProjectSourcePath(projectDefinition) {
|
|
30
|
+
/*istanbul ignore else*/
|
|
31
|
+
if (projectDefinition.sourceRoot) {
|
|
32
|
+
return `${projectDefinition.sourceRoot}/app`;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
return `${projectDefinition.root}/src/app`;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
29
38
|
function buildCommentBlock(message) {
|
|
30
39
|
return `/${'*'.repeat(79)}
|
|
31
40
|
* ${message.replace(/(?![^\n]{1,75}$)([^\n]{1,75})\s/g, '$1\n * ')}
|
|
32
|
-
${'*'.repeat(79)}/`;
|
|
41
|
+
${'*'.repeat(79)}/`;
|
|
33
42
|
}
|
|
34
43
|
function buildComponentCss(component) {
|
|
35
44
|
let contents = buildCommentBlock(`COMPONENT: ${component.name.toUpperCase()}`);
|
|
@@ -43,13 +52,14 @@ ${style.css.trim()}
|
|
|
43
52
|
}
|
|
44
53
|
return contents;
|
|
45
54
|
}
|
|
46
|
-
function writeStylesheet(contents) {
|
|
55
|
+
function writeStylesheet(sourceRoot, contents) {
|
|
56
|
+
const filePath = `${sourceRoot}/${SKYUX7_COMPAT_CSS_FILE_NAME}`;
|
|
47
57
|
return (tree) => {
|
|
48
|
-
if (tree.exists(
|
|
49
|
-
tree.overwrite(
|
|
58
|
+
if (tree.exists(filePath)) {
|
|
59
|
+
tree.overwrite(filePath, contents);
|
|
50
60
|
}
|
|
51
61
|
else {
|
|
52
|
-
tree.create(
|
|
62
|
+
tree.create(filePath, contents);
|
|
53
63
|
}
|
|
54
64
|
};
|
|
55
65
|
}
|
|
@@ -61,12 +71,14 @@ function addStylesheetToWorkspace() {
|
|
|
61
71
|
if (!(targetName === 'build' &&
|
|
62
72
|
project.extensions.projectType === 'library')) {
|
|
63
73
|
const target = project.targets.get(targetName);
|
|
74
|
+
const sourceRoot = getProjectSourcePath(project);
|
|
75
|
+
const filePath = `${sourceRoot}/${SKYUX7_COMPAT_CSS_FILE_NAME}`;
|
|
64
76
|
/* istanbul ignore else */
|
|
65
77
|
if (target && target.options) {
|
|
66
78
|
const styles = (target.options.styles = (target.options.styles ||
|
|
67
79
|
[]));
|
|
68
|
-
if (!styles.includes(
|
|
69
|
-
styles.push(
|
|
80
|
+
if (!styles.includes(filePath)) {
|
|
81
|
+
styles.push(filePath);
|
|
70
82
|
}
|
|
71
83
|
}
|
|
72
84
|
}
|
|
@@ -74,30 +86,42 @@ function addStylesheetToWorkspace() {
|
|
|
74
86
|
}
|
|
75
87
|
});
|
|
76
88
|
}
|
|
77
|
-
function
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
contents += buildComponentCss(component);
|
|
86
|
-
}
|
|
89
|
+
function getCompatStyles(tree) {
|
|
90
|
+
let contents = '';
|
|
91
|
+
const packageJson = JSON.parse((0, tree_1.readRequiredFile)(tree, '/package.json'));
|
|
92
|
+
for (const library of compatStyles.libraries) {
|
|
93
|
+
if (packageJson.dependencies?.[library.name] ||
|
|
94
|
+
packageJson.devDependencies?.[library.name]) {
|
|
95
|
+
for (const component of library.components) {
|
|
96
|
+
contents += buildComponentCss(component);
|
|
87
97
|
}
|
|
88
98
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
99
|
+
}
|
|
100
|
+
return contents
|
|
101
|
+
? `${buildCommentBlock(`TODO: The following component libraries introduced visual breaking changes in SKY UX 7. Each block of CSS reintroduces the styles that were changed or removed for backwards compatibility. You will need to do the following before migrating to the next major version of SKY UX:
|
|
92
102
|
- Address each of the changes by following the instructions
|
|
93
103
|
in each block of CSS, then remove the block.
|
|
94
104
|
- Delete this file after all blocks have been addressed.
|
|
95
105
|
- Remove each occurrence of this file in your project's
|
|
96
106
|
angular.json file.`)}
|
|
97
107
|
|
|
98
|
-
${contents}
|
|
99
|
-
|
|
108
|
+
${contents}`
|
|
109
|
+
: undefined;
|
|
110
|
+
}
|
|
111
|
+
function default_1() {
|
|
112
|
+
return async (tree) => {
|
|
113
|
+
const { workspace } = await (0, workspace_1.getWorkspace)(tree);
|
|
114
|
+
const styles = getCompatStyles(tree);
|
|
115
|
+
const rules = [];
|
|
116
|
+
for (const [, projectDefinition] of workspace.projects.entries()) {
|
|
117
|
+
if (projectDefinition.extensions.projectType === 'application') {
|
|
118
|
+
if (styles) {
|
|
119
|
+
const sourcePath = getProjectSourcePath(projectDefinition);
|
|
120
|
+
rules.push(writeStylesheet(sourcePath, styles));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
100
123
|
}
|
|
124
|
+
rules.push(addStylesheetToWorkspace());
|
|
101
125
|
return (0, schematics_1.chain)(rules);
|
|
102
126
|
};
|
|
103
127
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-compat-stylesheets.js","sourceRoot":"","sources":["../../../../../../../../libs/components/packages/src/schematics/migrations/update-7/add-compat-stylesheets.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"add-compat-stylesheets.js","sourceRoot":"","sources":["../../../../../../../../libs/components/packages/src/schematics/migrations/update-7/add-compat-stylesheets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const schematics_1 = require("@angular-devkit/schematics");
|
|
4
|
+
const tree_1 = require("../../utility/tree");
|
|
5
|
+
const workspace_1 = require("../../utility/workspace");
|
|
6
|
+
/**
|
|
7
|
+
* Replaces any @blackbaud/skyux-design-tokens imports with their @skyux/theme equivalents.
|
|
8
|
+
*/
|
|
9
|
+
function replaceDesignTokensImports(contents) {
|
|
10
|
+
const matches = contents.matchAll(/@import\s+['"]?node_modules\/@blackbaud\/skyux-design-tokens\/scss\/_?(mixins|variables)(?:\.scss)?['"]?;?\s+/g);
|
|
11
|
+
for (const match of matches) {
|
|
12
|
+
const importPath = match[0];
|
|
13
|
+
const importType = match[1]; // mixins or variables
|
|
14
|
+
const replacementTemplate = new RegExp(`@import\\s+['"]?node_modules\\/@skyux\\/theme\\/scss\\/_?${importType}(?:\\.scss)?['"]?;?`);
|
|
15
|
+
// If the equivalent default import is already found, just remove the design tokens import.
|
|
16
|
+
if (replacementTemplate.test(contents)) {
|
|
17
|
+
contents = contents.replace(importPath, '');
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
contents = contents.replace(importPath, `@import 'node_modules/@skyux/theme/scss/${importType}';\n`);
|
|
21
|
+
}
|
|
22
|
+
return contents;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* If a mixins import exists, add the variables import as well.
|
|
26
|
+
* (In prior versions of SKY UX, the variables were exported from the mixins file, but
|
|
27
|
+
* this created a circular reference, hence the fix.)
|
|
28
|
+
*/
|
|
29
|
+
function addVariablesScssImports(contents) {
|
|
30
|
+
const matches = contents.matchAll(/@import\s+['"]?node_modules\/@skyux\/theme\/scss\/(_compat\/|themes\/modern\/_compat\/)?_?mixins(?:\.scss)?['"]?;?/g);
|
|
31
|
+
for (const match of matches) {
|
|
32
|
+
const mixinsImport = match[0];
|
|
33
|
+
const variablesImport = mixinsImport.replace('mixins', 'variables');
|
|
34
|
+
if (!contents.includes(variablesImport)) {
|
|
35
|
+
contents = contents.replace(mixinsImport, `${mixinsImport}\n${variablesImport}`);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return contents;
|
|
39
|
+
}
|
|
40
|
+
function fixScssImports() {
|
|
41
|
+
return async (tree) => {
|
|
42
|
+
const { workspace } = await (0, workspace_1.getWorkspace)(tree);
|
|
43
|
+
for (const [, projectDefinition] of workspace.projects.entries()) {
|
|
44
|
+
tree.getDir(projectDefinition.root).visit((filePath) => {
|
|
45
|
+
if (filePath.endsWith('.scss')) {
|
|
46
|
+
const contents = (0, tree_1.readRequiredFile)(tree, filePath);
|
|
47
|
+
let updatedContents = contents;
|
|
48
|
+
updatedContents = replaceDesignTokensImports(updatedContents);
|
|
49
|
+
updatedContents = addVariablesScssImports(updatedContents);
|
|
50
|
+
if (updatedContents !== contents) {
|
|
51
|
+
tree.overwrite(filePath, updatedContents);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Removes the local version of '@blackbaud/skyux-design-tokens' from package.json;
|
|
60
|
+
*/
|
|
61
|
+
function removeDesignTokensPackage() {
|
|
62
|
+
return (tree) => {
|
|
63
|
+
const packageJson = JSON.parse((0, tree_1.readRequiredFile)(tree, 'package.json'));
|
|
64
|
+
if (packageJson.dependencies) {
|
|
65
|
+
delete packageJson.dependencies['@blackbaud/skyux-design-tokens'];
|
|
66
|
+
}
|
|
67
|
+
if (packageJson.devDependencies) {
|
|
68
|
+
delete packageJson.devDependencies['@blackbaud/skyux-design-tokens'];
|
|
69
|
+
}
|
|
70
|
+
tree.overwrite('package.json', JSON.stringify(packageJson));
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
function default_1() {
|
|
74
|
+
return (0, schematics_1.chain)([fixScssImports(), removeDesignTokensPackage()]);
|
|
75
|
+
}
|
|
76
|
+
exports.default = default_1;
|
|
77
|
+
//# sourceMappingURL=fix-scss-imports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fix-scss-imports.js","sourceRoot":"","sources":["../../../../../../../../libs/components/packages/src/schematics/migrations/update-7/fix-scss-imports.ts"],"names":[],"mappings":"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"}
|