Skip to content

Commit

Permalink
feat(material-date-fns-adapter): add date adapter for date-fns (#23262)
Browse files Browse the repository at this point in the history
* feat(material-date-fns-adapter): add date adapter for date-fns

Adds a new date adapter that supports the `date-fns` library.

* fixup! feat(material-date-fns-adapter): add date adapter for date-fns

Fix saucelabs unit tests and the integration test for partial
compilation.

* fixup! feat(material-date-fns-adapter): add date adapter for date-fns
  • Loading branch information
crisbeto committed Jul 30, 2021
1 parent 769996e commit e8dd070
Show file tree
Hide file tree
Showing 36 changed files with 925 additions and 16 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@
# Date adapters
/src/material-moment-adapter/** @mmalerba
/src/material-luxon-adapter/** @crisbeto
/src/material-date-fns-adapter/** @crisbeto

# Material experimental package
/src/material-experimental/* @jelbourn
Expand Down
1 change: 1 addition & 0 deletions .ng-dev/commit-message.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ export const commitMessage: CommitMessageConfig = {
'material-experimental/popover-edit',
'material-experimental/selection',
'material-moment-adapter',
'material-date-fns-adapter',
'material-luxon-adapter',
'material/autocomplete',
'material/badge',
Expand Down
4 changes: 4 additions & 0 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -96,3 +96,7 @@ load(
)

_dev_infra_browser_repositories()

load("@npm//@bazel/esbuild:esbuild_repositories.bzl", "esbuild_repositories")

esbuild_repositories()
1 change: 1 addition & 0 deletions angular-tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
"node_modules/@angular/material-experimental/**",
"node_modules/@angular/material-moment-adapter/**",
"node_modules/@angular/material-luxon-adapter/**",
"node_modules/@angular/material-date-fns-adapter/**",
"node_modules/@angular/youtube-player/**"
]
}
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@
"@bazel/bazelisk": "1.9.0",
"@bazel/buildifier": "4.0.1",
"@bazel/concatjs": "4.0.0-beta.0",
"@bazel/esbuild": "4.0.0-beta.0",
"@bazel/ibazel": "0.15.10",
"@bazel/jasmine": "4.0.0-beta.0",
"@bazel/protractor": "4.0.0-beta.0",
Expand Down Expand Up @@ -171,6 +172,7 @@
"chalk": "^4.1.0",
"codelyzer": "^6.0.2",
"conventional-changelog": "^3.0.5",
"date-fns": "^2.23.0",
"dgeni": "^0.4.11",
"dgeni-packages": "^0.28.4",
"diff": "^5.0.0",
Expand All @@ -195,13 +197,13 @@
"karma-requirejs": "^1.1.0",
"karma-sauce-launcher": "^4.3.6",
"karma-sourcemap-loader": "^0.3.7",
"luxon": "^2.0.0",
"madge": "^4.0.0",
"marked": "^2.0.0",
"merge2": "^1.2.3",
"minimatch": "^3.0.4",
"minimist": "^1.2.0",
"moment": "^2.18.1",
"luxon": "^2.0.0",
"node-fetch": "^2.6.0",
"parse5": "^6.0.1",
"postcss": "^8.2.1",
Expand Down
2 changes: 2 additions & 0 deletions rollup-globals.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ ROLLUP_GLOBALS = {
"@angular/material-experimental": "ng.materialExperimental",
"@angular/material-moment-adapter": "ng.materialMomentAdapter",
"@angular/material-luxon-adapter": "ng.materialLuxonAdapter",
"@angular/material-date-fns-adapter": "ng.materialDateFnsAdapter",
"@angular/youtube-player": "ng.youtubePlayer",

# This UMD module name would not match with anything that MDC provides, but we just
Expand All @@ -48,6 +49,7 @@ ROLLUP_GLOBALS = {
"moment/locale/fr": "moment.locale.fr",
"moment/locale/ja": "moment.locale.ja",
"luxon": "luxon",
"date-fns": "dateFns",
"protractor": "protractor",
"rxjs": "rxjs",
"rxjs/operators": "rxjs.operators",
Expand Down
1 change: 1 addition & 0 deletions scripts/deploy/publish-build-artifacts.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ PACKAGES=(
material-experimental
material-moment-adapter
# material-luxon-adapter TODO(crisbeto): enable this once we have a builds repo
# material-date-fns-adapter TODO(crisbeto): enable this once we have a builds repo
google-maps
youtube-player
)
Expand Down
3 changes: 2 additions & 1 deletion src/components-examples/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@
"@angular/material": "0.0.0-PLACEHOLDER",
"@angular/material-experimental": "0.0.0-PLACEHOLDER",
"@angular/material-moment-adapter": "0.0.0-PLACEHOLDER",
"@angular/material-luxon-adapter": "0.0.0-PLACEHOLDER"
"@angular/material-luxon-adapter": "0.0.0-PLACEHOLDER",
"@angular/material-date-fns-adapter": "0.0.0-PLACEHOLDER"
},
"dependencies": {
"tslib": "0.0.0-TSLIB"
Expand Down
3 changes: 2 additions & 1 deletion src/components-examples/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
"@angular/material/*": ["../material/*"],
"@angular/material-experimental/*": ["../material-experimental/*"],
"@angular/material-moment-adapter": ["../material-moment-adapter/public-api.ts"],
"@angular/material-luxon-adapter": ["../material-luxon-adapter/public-api.ts"]
"@angular/material-luxon-adapter": ["../material-luxon-adapter/public-api.ts"],
"@angular/material-date-fns-adapter": ["../material-date-fns-adapter/public-api.ts"]
}
},
"include": ["./**/*.ts"]
Expand Down
1 change: 1 addition & 0 deletions src/dev-app/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"@angular/cdk-experimental": ["../cdk-experimental"],
"@angular/material-moment-adapter": ["../material-moment-adapter/public-api.ts"],
"@angular/material-luxon-adapter": ["../material-luxon-adapter/public-api.ts"],
"@angular/material-date-fns-adapter": ["../material-date-fns-adapter/public-api.ts"],
"@angular/google-maps": ["../google-maps"],
"@angular/components-examples": ["../components-examples"],
"@angular/components-examples/*": ["../components-examples/*"],
Expand Down
1 change: 1 addition & 0 deletions src/e2e-app/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
"@angular/cdk-experimental": ["../cdk-experimental/"],
"@angular/material-moment-adapter": ["../material-moment-adapter/"],
"@angular/material-luxon-adapter": ["../material-luxon-adapter/"],
"@angular/material-date-fns-adapter": ["../material-date-fns-adapter/"],
"@angular/components-examples": ["../components-examples/"],
"@angular/components-examples/*": ["../components-examples/*"]
}
Expand Down
64 changes: 64 additions & 0 deletions src/material-date-fns-adapter/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
load("//tools:defaults.bzl", "ng_module", "ng_package", "ng_test_library", "ng_web_test_suite")
load(":esbuild-amd.bzl", "esbuild_amd")

package(default_visibility = ["//visibility:public"])

ng_module(
name = "material-date-fns-adapter",
srcs = glob(
["**/*.ts"],
exclude = ["**/*.spec.ts"],
),
deps = [
"//src:dev_mode_types",
"//src/material/core",
"@npm//@angular/core",
"@npm//date-fns",
],
)

ng_test_library(
name = "unit_test_sources",
srcs = glob(
["**/*.spec.ts"],
exclude = ["**/*.e2e.spec.ts"],
),
deps = [
":material-date-fns-adapter",
"//src/material/core",
"@npm//date-fns",
],
)

ng_web_test_suite(
name = "unit_tests",
deps = [
":amd_date_fns",
":amd_date_fns_locales",
":unit_test_sources",
],
)

esbuild_amd(
name = "amd_date_fns",
testonly = True,
entry_point = "@npm//:node_modules/date-fns/esm/index.js",
module_name = "date-fns",
deps = ["@npm//date-fns"],
)

esbuild_amd(
name = "amd_date_fns_locales",
testonly = True,
entry_point = "@npm//:node_modules/date-fns/esm/locale/index.js",
module_name = "date-fns/locale",
deps = ["@npm//date-fns"],
)

ng_package(
name = "npm_package",
srcs = ["package.json"],
entry_point = ":public-api.ts",
tags = ["release-package"],
deps = [":material-date-fns-adapter"],
)
Loading

0 comments on commit e8dd070

Please sign in to comment.