Skip to content

Commit d76ba2b

Browse files
authored
feat: upgrade to Angular 14 (#3)
1 parent db1bd52 commit d76ba2b

File tree

11 files changed

+1140
-384
lines changed

11 files changed

+1140
-384
lines changed

.gitignore

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,5 @@ dist
105105

106106
esm
107107
system
108-
109-
# fake stuff
110-
.my-git-credentials
111-
.my-git-credentials-backup
108+
es2015
109+
es2020

.prettierignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,5 @@ karma.conf.cjs
1111
.nvmrc
1212
.husky
1313
pnpm-lock.yaml
14+
es2015
15+
es2020

README.md

Lines changed: 29 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,53 @@
1-
# autopublish-template
1+
# angular-material
22

3-
[![npm version](https://img.shields.io/npm/v/@esm-bundle/autopublish-template.svg?style=flat)](https://www.npmjs.com/package/@esm-bundle/autopublish-template) [![build status](https://travis-ci.com/esm-bundle/autopublish-template.svg?branch=master)](https://travis-ci.com/esm-bundle/autopublish-template) [![](https://data.jsdelivr.com/v1/package/npm/@esm-bundle/autopublish-template/badge)](https://www.jsdelivr.com/package/npm/@esm-bundle/autopublish-template)
3+
[![npm version](https://img.shields.io/npm/v/@esm-bundle/angular__material.svg?style=flat)](https://www.npmjs.com/package/@esm-bundle/angular__material) [![build status](https://travis-ci.com/esm-bundle/angular__material.svg?branch=master)](https://travis-ci.com/esm-bundle/angular__material) [![](https://data.jsdelivr.com/v1/package/npm/@esm-bundle/angular__material/badge)](https://www.jsdelivr.com/package/npm/@esm-bundle/angular__material)
44

55
["What is this" blog post](https://medium.com/@joeldenning/an-esm-bundle-for-any-npm-package-5f850db0e04d)
66

77
[Instructions for creating a new esm-bundle repo](https://github.com/esm-bundle/new-repo-instructions)
88

99
A repo that tests automatic detection of upstream publishes and the publishing of `@esm-bundle` versions of them.
1010

11-
Upstream repo at https://github.com/joeldenning/autopublish-template.
11+
## Latest Version
1212

13-
## JS Delivr
13+
### @angular/material/autocomplete
1414

15-
https://cdn.jsdelivr.net/npm/@esm-bundle/autopublish-template/esm/index.js
15+
#### ES2015
1616

17-
https://cdn.jsdelivr.net/npm/@esm-bundle/autopublish-template/system/index.js
17+
https://cdn.jsdelivr.net/npm/@esm-bundle/angular__material/system/es2015/ivy/angular-autocomplete.js
1818

19-
## Unpkg
19+
https://cdn.jsdelivr.net/npm/@esm-bundle/angular__material/system/es2015/ivy/angular-autocomplete.min.js
2020

21-
https://unpkg.com/@esm-bundle/autopublish-template/esm/index.js
21+
https://unpkg.com/@esm-bundle/angular__material/system/es2015/ivy/angular-autocomplete.js
2222

23-
https://unpkg.com/@esm-bundle/autopublish-template/system/index.js
23+
https://unpkg.com/@esm-bundle/angular__material/system/es2015/ivy/angular-autocomplete.min.js
24+
25+
#### ES2020
26+
27+
https://cdn.jsdelivr.net/npm/@esm-bundle/angular__material/system/es2020/ivy/angular-autocomplete.js
28+
29+
https://cdn.jsdelivr.net/npm/@esm-bundle/angular__material/system/es2020/ivy/angular-autocomplete.min.js
30+
31+
https://unpkg.com/@esm-bundle/angular__material/system/es2020/ivy/angular-autocomplete.js
32+
33+
https://unpkg.com/@esm-bundle/angular__material/system/es2020/ivy/angular-autocomplete.min.js
34+
35+
## Other packages
36+
37+
Other packages are named in the following format `angular-${material-package-filename}`, for instance, `@angular/material/tooltip` is `angular-tooltip.js`, `@angular/material/table` is `angular-table.js`, etc.
38+
39+
## Need a build that doesn't exist yet?
40+
41+
If you need an es5 build, non-ivy build, or a build for a different version of Angular, please open a Github issue.
2442

2543
## Npm
2644

2745
```sh
28-
npm install --save autopublish-template@npm:@esm-bundle/autopublish-template
46+
npm install --save angular__material@npm:@esm-bundle/angular__material
2947
```
3048

3149
## Yarn
3250

3351
```sh
34-
yarn add autopublish-template@npm:@esm-bundle/autopublish-template
52+
yarn add angular__material@npm:@esm-bundle/angular__material
3553
```

browser-test/systemjs-setup.js

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
document.head.appendChild(
2+
Object.assign(document.createElement("script"), {
3+
type: "systemjs-importmap",
4+
textContent: `
5+
{
6+
"imports": {
7+
"rxjs": "https://cdn.jsdelivr.net/npm/@esm-bundle/rxjs/system/es2015/rxjs.min.js",
8+
"rxjs/operators": "https://cdn.jsdelivr.net/npm/@esm-bundle/rxjs/system/es2015/rxjs-operators.min.js",
9+
"@angular/core": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__core/system/es2015/ivy/angular-core.min.js",
10+
"@angular/common": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__common/system/es2015/ivy/angular-common.min.js",
11+
"@angular/common/http": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__common/system/es2015/ivy/angular-http.min.js",
12+
"@angular/animations": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__animations/system/es2015/ivy/angular-animations.min.js",
13+
"@angular/animations/browser": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__animations/system/es2015/ivy/angular-browser.min.js",
14+
"@angular/platform-browser": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__platform-browser/system/es2015/ivy/angular-platform-browser.min.js",
15+
"@angular/platform-browser/animations": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__platform-browser/system/es2015/ivy/angular-animations.min.js",
16+
"@angular/forms": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__forms/system/es2015/ivy/angular-forms.min.js",
17+
"@angular/cdk": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-cdk.min.js",
18+
"@angular/cdk/a11y": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-a11y.min.js",
19+
"@angular/cdk/accordion": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-accordion.min.js",
20+
"@angular/cdk/bidi": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-bidi.min.js",
21+
"@angular/cdk/clipboard": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-clipboard.min.js",
22+
"@angular/cdk/coercion": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-coercion.min.js",
23+
"@angular/cdk/collections": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-collections.min.js",
24+
"@angular/cdk/dialog": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-dialog.min.js",
25+
"@angular/cdk/drag-drop": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-drag-drop.min.js",
26+
"@angular/cdk/keycodes": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-keycodes.min.js",
27+
"@angular/cdk/layout": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-layout.min.js",
28+
"@angular/cdk/menu": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-menu.min.js",
29+
"@angular/cdk/observers": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-observers.min.js",
30+
"@angular/cdk/overlay": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-overlay.min.js",
31+
"@angular/cdk/platform": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-platform.min.js",
32+
"@angular/cdk/portal": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-portal.min.js",
33+
"@angular/cdk/scrolling": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-scrolling.min.js",
34+
"@angular/cdk/stepper": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-stepper.min.js",
35+
"@angular/cdk/table": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-table.min.js",
36+
"@angular/cdk/text-field": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-text-field.min.js",
37+
"@angular/cdk/tree": "https://cdn.jsdelivr.net/npm/@esm-bundle/angular__cdk/system/es2015/ivy/angular-tree.min.js",
38+
"@angular/material/autocomplete": "/base/system/es2015/ivy/angular-autocomplete.min.js",
39+
"@angular/material/badge": "/base/system/es2015/ivy/angular-badge.min.js",
40+
"@angular/material/bottom-sheet": "/base/system/es2015/ivy/angular-bottom-sheet.min.js",
41+
"@angular/material/button-toggle": "/base/system/es2015/ivy/angular-button-toggle.min.js",
42+
"@angular/material/button": "/base/system/es2015/ivy/angular-button.min.js",
43+
"@angular/material/card": "/base/system/es2015/ivy/angular-card.min.js",
44+
"@angular/material/checkbox": "/base/system/es2015/ivy/angular-checkbox.min.js",
45+
"@angular/material/chips": "/base/system/es2015/ivy/angular-chips.min.js",
46+
"@angular/material/core": "/base/system/es2015/ivy/angular-core.min.js",
47+
"@angular/material/datepicker": "/base/system/es2015/ivy/angular-datepicker.min.js",
48+
"@angular/material/dialog": "/base/system/es2015/ivy/angular-dialog.min.js",
49+
"@angular/material/divider": "/base/system/es2015/ivy/angular-divider.min.js",
50+
"@angular/material/expansion": "/base/system/es2015/ivy/angular-expansion.min.js",
51+
"@angular/material/form-field": "/base/system/es2015/ivy/angular-form-field.min.js",
52+
"@angular/material/grid-list": "/base/system/es2015/ivy/angular-grid-list.min.js",
53+
"@angular/material/icon": "/base/system/es2015/ivy/angular-icon.min.js",
54+
"@angular/material/input": "/base/system/es2015/ivy/angular-input.min.js",
55+
"@angular/material/list": "/base/system/es2015/ivy/angular-list.min.js",
56+
"@angular/material": "/base/system/es2015/ivy/angular-material.min.js",
57+
"@angular/material/menu": "/base/system/es2015/ivy/angular-menu.min.js",
58+
"@angular/material/paginator": "/base/system/es2015/ivy/angular-paginator.min.js",
59+
"@angular/material/progress-bar": "/base/system/es2015/ivy/angular-progress-bar.min.js",
60+
"@angular/material/progress-spinner": "/base/system/es2015/ivy/angular-progress-spinner.min.js",
61+
"@angular/material/radio": "/base/system/es2015/ivy/angular-radio.min.js",
62+
"@angular/material/select": "/base/system/es2015/ivy/angular-select.min.js",
63+
"@angular/material/sidenav": "/base/system/es2015/ivy/angular-sidenav.min.js",
64+
"@angular/material/slide-toggle": "/base/system/es2015/ivy/angular-slide-toggle.min.js",
65+
"@angular/material/slider": "/base/system/es2015/ivy/angular-slider.min.js",
66+
"@angular/material/snack-bar": "/base/system/es2015/ivy/angular-snack-bar.min.js",
67+
"@angular/material/sort": "/base/system/es2015/ivy/angular-sort.min.js",
68+
"@angular/material/stepper": "/base/system/es2015/ivy/angular-stepper.min.js",
69+
"@angular/material/table": "/base/system/es2015/ivy/angular-table.min.js",
70+
"@angular/material/tabs": "/base/system/es2015/ivy/angular-tabs.min.js",
71+
"@angular/material/toolbar": "/base/system/es2015/ivy/angular-toolbar.min.js",
72+
"@angular/material/tooltip": "/base/system/es2015/ivy/angular-tooltip.min.js",
73+
"@angular/material/tree": "/base/system/es2015/ivy/angular-tree.min.js"
74+
}
75+
}`,
76+
})
77+
);

browser-test/test.js

Lines changed: 201 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,204 @@
1-
describe("@esm-bundle/autopublish-template", () => {
2-
it("can load the ESM bundle", () => {
3-
return import("/base/esm/index.js");
4-
});
1+
describe("@esm-bundle/angular__material", () => {
2+
const packages = [
3+
{
4+
packageName: "@angular/material/autocomplete",
5+
filename: "angular-autocomplete",
6+
expectedImport: "MatAutocomplete",
7+
},
8+
{
9+
packageName: "@angular/material/badge",
10+
filename: "angular-badge",
11+
expectedImport: "MatBadge",
12+
},
13+
{
14+
packageName: "@angular/material/bottom-sheet",
15+
filename: "angular-bottom-sheet",
16+
expectedImport: "MatBottomSheet",
17+
},
18+
{
19+
packageName: "@angular/material/button-toggle",
20+
filename: "angular-button-toggle",
21+
expectedImport: "MatButtonToggle",
22+
},
23+
{
24+
packageName: "@angular/material/button",
25+
filename: "angular-button",
26+
expectedImport: "MatButton",
27+
},
28+
{
29+
packageName: "@angular/material/card",
30+
filename: "angular-card",
31+
expectedImport: "MatCard",
32+
},
33+
{
34+
packageName: "@angular/material/checkbox",
35+
filename: "angular-checkbox",
36+
expectedImport: "MatCheckbox",
37+
},
38+
{
39+
packageName: "@angular/material/chips",
40+
filename: "angular-chips",
41+
expectedImport: "MatChip",
42+
},
43+
{
44+
packageName: "@angular/material/core",
45+
filename: "angular-core",
46+
expectedImport: "DateAdapter",
47+
},
48+
{
49+
packageName: "@angular/material/datepicker",
50+
filename: "angular-datepicker",
51+
expectedImport: "MatDatepicker",
52+
},
53+
{
54+
packageName: "@angular/material/dialog",
55+
filename: "angular-dialog",
56+
expectedImport: "MatDialog",
57+
},
58+
{
59+
packageName: "@angular/material/divider",
60+
filename: "angular-divider",
61+
expectedImport: "MatDivider",
62+
},
63+
{
64+
packageName: "@angular/material/expansion",
65+
filename: "angular-expansion",
66+
expectedImport: "MatExpansionPanel",
67+
},
68+
{
69+
packageName: "@angular/material/form-field",
70+
filename: "angular-form-field",
71+
expectedImport: "MatFormField",
72+
},
73+
{
74+
packageName: "@angular/material/grid-list",
75+
filename: "angular-grid-list",
76+
expectedImport: "MatGridList",
77+
},
78+
{
79+
packageName: "@angular/material/icon",
80+
filename: "angular-icon",
81+
expectedImport: "MatIcon",
82+
},
83+
{
84+
packageName: "@angular/material/input",
85+
filename: "angular-input",
86+
expectedImport: "MatInput",
87+
},
88+
{
89+
packageName: "@angular/material/list",
90+
filename: "angular-list",
91+
expectedImport: "MatList",
92+
},
93+
{
94+
packageName: "@angular/material/menu",
95+
filename: "angular-menu",
96+
expectedImport: "MatMenu",
97+
},
98+
{
99+
packageName: "@angular/material/paginator",
100+
filename: "angular-paginator",
101+
expectedImport: "MatPaginator",
102+
},
103+
{
104+
packageName: "@angular/material/progress-bar",
105+
filename: "angular-progress-bar",
106+
expectedImport: "MatProgressBar",
107+
},
108+
{
109+
packageName: "@angular/material/progress-spinner",
110+
filename: "angular-progress-spinner",
111+
expectedImport: "MatProgressSpinner",
112+
},
113+
{
114+
packageName: "@angular/material/progress-bar",
115+
filename: "angular-progress-bar",
116+
expectedImport: "MatProgressBar",
117+
},
118+
{
119+
packageName: "@angular/material/radio",
120+
filename: "angular-radio",
121+
expectedImport: "MatRadioButton",
122+
},
123+
{
124+
packageName: "@angular/material/select",
125+
filename: "angular-select",
126+
expectedImport: "MatSelect",
127+
},
128+
{
129+
packageName: "@angular/material/sidenav",
130+
filename: "angular-sidenav",
131+
expectedImport: "MatSidenav",
132+
},
133+
{
134+
packageName: "@angular/material/slide-toggle",
135+
filename: "angular-slide-toggle",
136+
expectedImport: "MatSlideToggle",
137+
},
138+
{
139+
packageName: "@angular/material/slider",
140+
filename: "angular-slider",
141+
expectedImport: "MatSlider",
142+
},
143+
{
144+
packageName: "@angular/material/snack-bar",
145+
filename: "angular-snack-bar",
146+
expectedImport: "MatSnackBar",
147+
},
148+
{
149+
packageName: "@angular/material/sort",
150+
filename: "angular-sort",
151+
expectedImport: "MatSort",
152+
},
153+
{
154+
packageName: "@angular/material/stepper",
155+
filename: "angular-stepper",
156+
expectedImport: "MatStepper",
157+
},
158+
{
159+
packageName: "@angular/material/table",
160+
filename: "angular-table",
161+
expectedImport: "MatTable",
162+
},
163+
{
164+
packageName: "@angular/material/tabs",
165+
filename: "angular-tabs",
166+
expectedImport: "MatTab",
167+
},
168+
{
169+
packageName: "@angular/material/toolbar",
170+
filename: "angular-toolbar",
171+
expectedImport: "MatToolbar",
172+
},
173+
{
174+
packageName: "@angular/material/tooltip",
175+
filename: "angular-tooltip",
176+
expectedImport: "MatTooltip",
177+
},
178+
{
179+
packageName: "@angular/material/tree",
180+
filename: "angular-tree",
181+
expectedImport: "MatTree",
182+
},
183+
];
184+
185+
packages.forEach(({ packageName, filename, expectedImport }) => {
186+
describe(packageName, () => {
187+
["es2015", "es2020"].forEach((ecma) => {
188+
it(`can load the System.register ${ecma} bundle`, async () => {
189+
const m = await System.import(
190+
`/base/system/${ecma}/ivy/${filename}.js`
191+
);
192+
expect(m[expectedImport]).toBeDefined();
193+
});
5194

6-
it("can load the System.register bundle", () => {
7-
return System.import("/base/system/index.js");
195+
it(`can load the System.register ${ecma} prod bundle`, async () => {
196+
const m = await System.import(
197+
`/base/system/${ecma}/ivy/${filename}.min.js`
198+
);
199+
expect(m[expectedImport]).toBeDefined();
200+
});
201+
});
202+
});
8203
});
9204
});

karma.conf.cjs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,9 @@ module.exports = function(config) {
1212

1313
// list of files / patterns to load in the browser
1414
files: [
15-
"https://cdn.jsdelivr.net/npm/systemjs/dist/system.js",
16-
{ pattern: "browser-test/**/*.js", watched: true, type: "module" },
15+
"https://cdn.jsdelivr.net/npm/[email protected]/dist/system.js",
16+
"browser-test/systemjs-setup.js",
17+
{ pattern: "browser-test/test.js", watched: true, type: "module" },
1718
{ pattern: "./**/*.*", watched: true, included: false, served: true }
1819
],
1920

node-test/main.test.mjs

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)