From 3557839190b2a46969a14bb1be4c4bcec27fdc85 Mon Sep 17 00:00:00 2001 From: Jeremy Elbourn Date: Mon, 14 Mar 2016 16:50:45 -0700 Subject: [PATCH] build(): add release staging script. --- scripts/release/stage-release.sh | 43 +++++++++++++++++++ src/components/button/package.json | 29 +++++++++++++ src/components/card/package.json | 27 ++++++++++++ src/components/checkbox/package.json | 27 ++++++++++++ src/components/progress-circle/package.json | 28 ++++++++++++ ...gress_circle.html => progress-circle.html} | 0 ...circle.spec.ts => progress-circle.spec.ts} | 2 +- ...{progress_circle.ts => progress-circle.ts} | 4 +- src/components/sidenav/package.json | 30 +++++++++++++ src/components/toolbar/package.json | 27 ++++++++++++ src/core/core.ts | 12 ++++++ src/core/package.json | 25 +++++++++++ .../progress-circle/progress-circle-demo.ts | 2 +- 13 files changed, 252 insertions(+), 4 deletions(-) create mode 100755 scripts/release/stage-release.sh create mode 100644 src/components/button/package.json create mode 100644 src/components/card/package.json create mode 100644 src/components/checkbox/package.json create mode 100644 src/components/progress-circle/package.json rename src/components/progress-circle/{progress_circle.html => progress-circle.html} (100%) rename src/components/progress-circle/{progress_circle.spec.ts => progress-circle.spec.ts} (98%) rename src/components/progress-circle/{progress_circle.ts => progress-circle.ts} (95%) create mode 100644 src/components/sidenav/package.json create mode 100644 src/components/toolbar/package.json create mode 100644 src/core/core.ts create mode 100644 src/core/package.json diff --git a/scripts/release/stage-release.sh b/scripts/release/stage-release.sh new file mode 100755 index 00000000000..d585b5d0d75 --- /dev/null +++ b/scripts/release/stage-release.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +set -ex + +# Stages a release by putting everything that should be packaged and released +# into the ./deploy folder. This script should be run from the root of the +# material2 repo. + +# Make sure you are not running `ng serve` or `ng build --watch` when running this. + + +# Clear dist/ and deploy/ so that we guarantee there are no stale artifacts. +rm -rf ./dist +rm -rf ./deploy + +# For packaging for npm only, replace the TypeScript module format to commonjs. +# Creates a tscongig.json.backup with the original file that we'll use to restore after building. +sed -i.backup 's|"module": ".+"|"module": "commonjs"|g' ./src/tsconfig.json + +# Perform a build with the modified tsconfig.json. +ng build + +# Return tsconfig.json to its original state. +mv -f ./src/tsconfig.json.backup ./src/tsconfig.json + +# Inline the css and html into the component ts files. +./node_modules/gulp/bin/gulp.js inline-resources + +# deploy/ serves as a working directory to stage the release. +mkdir deploy + +# Copy all components/ to deploy/ and replace "../core" with just "core" since each +# component directory will now live as a sibling to core/. +# Use a `.bak` extension for sed backup because `sed` on OSX will not work without a backup +# extension. Delete the backups immediately after. +cp -R ./dist/components/* ./deploy/ +find ./deploy -type f \( -name "*.js" -o -name "*.ts" \) -exec sed -i.bak 's|\.\./core|core|g' {} \; +find ./deploy -type f -name "*.bak" | xargs rm + +# Copy the core/ directory directly into ./deploy +cp -R ./dist/core/ ./deploy/core/ + +# To test the packages, use `npm link` in the package directories. +# See https://docs.npmjs.com/cli/link diff --git a/src/components/button/package.json b/src/components/button/package.json new file mode 100644 index 00000000000..03dc0c8cd13 --- /dev/null +++ b/src/components/button/package.json @@ -0,0 +1,29 @@ +{ + "name": "@angular2-material/button", + "version": "2.0.0-alpha.0", + "description": "Angular 2 Material button", + "main": "./button.js", + "typings": "./button.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/angular/material2.git" + }, + "keywords": [ + "angular", + "material", + "material design", + "components", + "button", + "anchor", + "linkbutton" + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/angular/material2/issues" + }, + "homepage": "https://github.com/angular/material2#readme", + "peerDependencies": { + "angular2": "^2.0.0-beta.8", + "@angular2-material/core": "2.0.0-alpha.0" + } +} diff --git a/src/components/card/package.json b/src/components/card/package.json new file mode 100644 index 00000000000..f5dd9308b3c --- /dev/null +++ b/src/components/card/package.json @@ -0,0 +1,27 @@ +{ + "name": "@angular2-material/card", + "version": "2.0.0-alpha.0", + "description": "Angular 2 Material card", + "main": "./card.js", + "typings": "./card.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/angular/material2.git" + }, + "keywords": [ + "angular", + "material", + "material design", + "components", + "card" + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/angular/material2/issues" + }, + "homepage": "https://github.com/angular/material2#readme", + "peerDependencies": { + "angular2": "^2.0.0-beta.8", + "@angular2-material/core": "2.0.0-alpha.0" + } +} diff --git a/src/components/checkbox/package.json b/src/components/checkbox/package.json new file mode 100644 index 00000000000..e5161bcd866 --- /dev/null +++ b/src/components/checkbox/package.json @@ -0,0 +1,27 @@ +{ + "name": "@angular2-material/checkbox", + "version": "2.0.0-alpha.0", + "description": "Angular 2 Material checkbox", + "main": "./checkbox.js", + "typings": "./checkbox.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/angular/material2.git" + }, + "keywords": [ + "angular", + "material", + "material design", + "components", + "checkbox" + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/angular/material2/issues" + }, + "homepage": "https://github.com/angular/material2#readme", + "peerDependencies": { + "angular2": "^2.0.0-beta.8", + "@angular2-material/core": "2.0.0-alpha.0" + } +} diff --git a/src/components/progress-circle/package.json b/src/components/progress-circle/package.json new file mode 100644 index 00000000000..ec90ccf26fc --- /dev/null +++ b/src/components/progress-circle/package.json @@ -0,0 +1,28 @@ +{ + "name": "@angular2-material/progress-circle", + "version": "2.0.0-alpha.0", + "description": "Angular 2 Material progress-circle", + "main": "./progress-circle.js", + "typings": "./progress-circle.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/angular/material2.git" + }, + "keywords": [ + "angular", + "material", + "material design", + "components", + "progress", + "spinner" + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/angular/material2/issues" + }, + "homepage": "https://github.com/angular/material2#readme", + "peerDependencies": { + "angular2": "^2.0.0-beta.8", + "@angular2-material/core": "2.0.0-alpha.0" + } +} diff --git a/src/components/progress-circle/progress_circle.html b/src/components/progress-circle/progress-circle.html similarity index 100% rename from src/components/progress-circle/progress_circle.html rename to src/components/progress-circle/progress-circle.html diff --git a/src/components/progress-circle/progress_circle.spec.ts b/src/components/progress-circle/progress-circle.spec.ts similarity index 98% rename from src/components/progress-circle/progress_circle.spec.ts rename to src/components/progress-circle/progress-circle.spec.ts index 2d0c57c298f..adfa1029363 100644 --- a/src/components/progress-circle/progress_circle.spec.ts +++ b/src/components/progress-circle/progress-circle.spec.ts @@ -9,7 +9,7 @@ import { } from '../../core/facade/testing'; import {Component, DebugElement} from 'angular2/core'; import {By} from 'angular2/platform/browser'; -import {MdProgressCircle} from './progress_circle'; +import {MdProgressCircle} from './progress-circle'; export function main() { diff --git a/src/components/progress-circle/progress_circle.ts b/src/components/progress-circle/progress-circle.ts similarity index 95% rename from src/components/progress-circle/progress_circle.ts rename to src/components/progress-circle/progress-circle.ts index 858e08cb17b..b3296dd07c4 100644 --- a/src/components/progress-circle/progress_circle.ts +++ b/src/components/progress-circle/progress-circle.ts @@ -29,7 +29,7 @@ class ProgressMode { 'aria-valuemin': '0', 'aria-valuemax': '100', }, - templateUrl: './components/progress-circle/progress_circle.html', + templateUrl: './components/progress-circle/progress-circle.html', styleUrls: ['./components/progress-circle/progress-circle.css'], changeDetection: ChangeDetectionStrategy.OnPush, }) @@ -106,7 +106,7 @@ export class MdProgressCircle { host: { 'role': 'progressbar', }, - templateUrl: './components/progress-circle/progress_circle.html', + templateUrl: './components/progress-circle/progress-circle.html', styleUrls: ['./components/progress-circle/progress-circle.css'], changeDetection: ChangeDetectionStrategy.OnPush, }) diff --git a/src/components/sidenav/package.json b/src/components/sidenav/package.json new file mode 100644 index 00000000000..2892cc93923 --- /dev/null +++ b/src/components/sidenav/package.json @@ -0,0 +1,30 @@ +{ + "name": "@angular2-material/sidenav", + "version": "2.0.0-alpha.0", + "description": "Angular 2 Material sidenav", + "main": "./sidenav.js", + "typings": "./sidenav.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/angular/material2.git" + }, + "keywords": [ + "angular", + "material", + "material design", + "components", + "sidenav", + "sidepane", + "navigation", + "drawer" + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/angular/material2/issues" + }, + "homepage": "https://github.com/angular/material2#readme", + "peerDependencies": { + "angular2": "^2.0.0-beta.8", + "@angular2-material/core": "2.0.0-alpha.0" + } +} diff --git a/src/components/toolbar/package.json b/src/components/toolbar/package.json new file mode 100644 index 00000000000..348ff71d2a6 --- /dev/null +++ b/src/components/toolbar/package.json @@ -0,0 +1,27 @@ +{ + "name": "@angular2-material/toolbar", + "version": "2.0.0-alpha.0", + "description": "Angular 2 Material toolbar", + "main": "./toolbar.js", + "typings": "./toolbar.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/angular/material2.git" + }, + "keywords": [ + "angular", + "material", + "material design", + "components", + "toolbar", + "header" + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/angular/material2/issues" + }, + "homepage": "https://github.com/angular/material2#readme", + "peerDependencies": { + "angular2": "^2.0.0-beta.8" + } +} diff --git a/src/core/core.ts b/src/core/core.ts new file mode 100644 index 00000000000..1993c1833c4 --- /dev/null +++ b/src/core/core.ts @@ -0,0 +1,12 @@ +// RTL +export * from './rtl/dir'; + +// Annotations +export {OneOf} from './annotations/one-of'; + +// Portals +export * from './portal/portal'; +export * from './portal/portal-directives'; + +// Facades +export * from './facade/html'; diff --git a/src/core/package.json b/src/core/package.json new file mode 100644 index 00000000000..ee008912078 --- /dev/null +++ b/src/core/package.json @@ -0,0 +1,25 @@ +{ + "name": "@angular2-material/core", + "version": "2.0.0-alpha.0", + "description": "Angular 2 Material core", + "main": "./core.js", + "typings": "./core.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/angular/material2.git" + }, + "keywords": [ + "angular", + "material", + "material design", + "components" + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/angular/material2/issues" + }, + "homepage": "https://github.com/angular/material2#readme", + "peerDependencies": { + "angular2": "^2.0.0-beta.8" + } +} diff --git a/src/demo-app/progress-circle/progress-circle-demo.ts b/src/demo-app/progress-circle/progress-circle-demo.ts index a430bd4346f..c9cb567ca03 100644 --- a/src/demo-app/progress-circle/progress-circle-demo.ts +++ b/src/demo-app/progress-circle/progress-circle-demo.ts @@ -1,6 +1,6 @@ import {Component} from 'angular2/core'; import {MdButton} from '../../components/button/button'; -import {MdProgressCircle, MdSpinner} from '../../components/progress-circle/progress_circle'; +import {MdProgressCircle, MdSpinner} from '../../components/progress-circle/progress-circle'; @Component({ selector: 'progress-circle-demo',