This repository has been archived by the owner on Aug 24, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 7
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit a891392
Showing
17 changed files
with
750 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
# Node | ||
node_modules/* | ||
npm-debug.log | ||
|
||
# TypeScript | ||
src/*.js | ||
src/*.map | ||
src/*.d.ts | ||
|
||
# JetBrains | ||
.idea | ||
.project | ||
.settings | ||
.idea/* | ||
*.iml | ||
|
||
# VS Code | ||
.vscode/* | ||
|
||
# Windows | ||
Thumbs.db | ||
Desktop.ini | ||
|
||
# Mac | ||
.DS_Store | ||
**/.DS_Store | ||
|
||
# Ngc generated files | ||
**/*.ngfactory.ts | ||
|
||
# Build files | ||
dist/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# Node | ||
node_modules/* | ||
npm-debug.log | ||
|
||
# DO NOT IGNORE TYPESCRIPT FILES FOR NPM | ||
# TypeScript | ||
# *.js | ||
# *.map | ||
# *.d.ts | ||
|
||
# JetBrains | ||
.idea | ||
.project | ||
.settings | ||
.idea/* | ||
*.iml | ||
|
||
# VS Code | ||
.vscode/* | ||
|
||
# Windows | ||
Thumbs.db | ||
Desktop.ini | ||
|
||
# Mac | ||
.DS_Store | ||
**/.DS_Store | ||
|
||
# Ngc generated files | ||
**/*.ngfactory.ts | ||
|
||
# Library files | ||
src/* | ||
build/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
language: node_js | ||
sudo: false | ||
node_js: | ||
- '4.2.1' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
{ | ||
"generator-angular2-library": { | ||
"promptValues": { | ||
"gitRepositoryUrl": "https://github.com/peterpeterparker/ionic-swing.git" | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
# ionic-swing | ||
|
||
## Installation | ||
|
||
To install this library, run: | ||
|
||
```bash | ||
$ npm install ionic-swing --save | ||
``` | ||
|
||
## Consuming your library | ||
|
||
Once you have published your library to npm, you can import your library in any Angular application by running: | ||
|
||
```bash | ||
$ npm install ionic-swing | ||
``` | ||
|
||
and then from your Angular `AppModule`: | ||
|
||
```typescript | ||
import { BrowserModule } from '@angular/platform-browser'; | ||
import { NgModule } from '@angular/core'; | ||
|
||
import { AppComponent } from './app.component'; | ||
|
||
// Import your library | ||
import { SampleModule } from 'ionic-swing'; | ||
|
||
@NgModule({ | ||
declarations: [ | ||
AppComponent | ||
], | ||
imports: [ | ||
BrowserModule, | ||
|
||
// Specify your library as an import | ||
LibraryModule | ||
], | ||
providers: [], | ||
bootstrap: [AppComponent] | ||
}) | ||
export class AppModule { } | ||
``` | ||
|
||
Once your library is imported, you can use its components, directives and pipes in your Angular application: | ||
|
||
```xml | ||
<!-- You can now use your library component in app.component.html --> | ||
<h1> | ||
{{title}} | ||
</h1> | ||
<sampleComponent></sampleComponent> | ||
``` | ||
|
||
## Development | ||
|
||
To generate all `*.js`, `*.d.ts` and `*.metadata.json` files: | ||
|
||
```bash | ||
$ npm run build | ||
``` | ||
|
||
To lint all `*.ts` files: | ||
|
||
```bash | ||
$ npm run lint | ||
``` | ||
|
||
## License | ||
|
||
MIT © [David Dal Busco](mailto:david.dalbusco@outlook.com) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,150 @@ | ||
/* eslint-disable */ | ||
var gulp = require('gulp'), | ||
path = require('path'), | ||
ngc = require('@angular/compiler-cli/src/main').main, | ||
rollup = require('gulp-rollup'), | ||
del = require('del'), | ||
runSequence = require('run-sequence'), | ||
inlineResources = require('./tools/gulp/inline-resources'); | ||
|
||
const rootFolder = path.join(__dirname); | ||
const srcFolder = path.join(rootFolder, 'src'); | ||
const tmpFolder = path.join(rootFolder, '.tmp'); | ||
const buildFolder = path.join(rootFolder, 'build'); | ||
const distFolder = path.join(rootFolder, 'dist'); | ||
|
||
/** | ||
* 1. Delete /dist folder | ||
*/ | ||
gulp.task('clean:dist', function () { | ||
return deleteFolders([distFolder]); | ||
}); | ||
|
||
/** | ||
* 2. Clone the /src folder into /.tmp. If an npm link inside /src has been made, | ||
* then it's likely that a node_modules folder exists. Ignore this folder | ||
* when copying to /.tmp. | ||
*/ | ||
gulp.task('copy:source', function () { | ||
return gulp.src([`${srcFolder}/**/*`, `!${srcFolder}/node_modules`]) | ||
.pipe(gulp.dest(tmpFolder)); | ||
}); | ||
|
||
/** | ||
* 3. Inline template (.html) and style (.css) files into the the component .ts files. | ||
* We do this on the /.tmp folder to avoid editing the original /src files | ||
*/ | ||
gulp.task('inline-resources', function () { | ||
return Promise.resolve() | ||
.then(() => inlineResources(tmpFolder)); | ||
}); | ||
|
||
|
||
/** | ||
* 4. Run the Angular compiler, ngc, on the /.tmp folder. This will output all | ||
* compiled modules to the /build folder. | ||
*/ | ||
gulp.task('ngc', function () { | ||
return ngc({ | ||
project: `${tmpFolder}/tsconfig.es5.json` | ||
}) | ||
.then((exitCode) => { | ||
if (exitCode === 1) { | ||
// This error is caught in the 'compile' task by the runSequence method callback | ||
// so that when ngc fails to compile, the whole compile process stops running | ||
throw new Error('ngc compilation failed'); | ||
} | ||
}); | ||
}); | ||
|
||
/** | ||
* 5. Run rollup inside the /build folder to generate our Flat ES module and place the | ||
* generated file into the /dist folder | ||
*/ | ||
gulp.task('rollup', function () { | ||
return gulp.src(`${buildFolder}/**/*.js`) | ||
// transform the files here. | ||
.pipe(rollup({ | ||
// any option supported by Rollup can be set here. | ||
entry: `${buildFolder}/index.js`, | ||
external: [ | ||
'@angular/core', | ||
'@angular/common' | ||
], | ||
format: 'es' | ||
})) | ||
.pipe(gulp.dest(distFolder)); | ||
}); | ||
|
||
/** | ||
* 6. Copy all the files from /build to /dist, except .js files. We ignore all .js from /build | ||
* because with don't need individual modules anymore, just the Flat ES module generated | ||
* on step 5. | ||
*/ | ||
gulp.task('copy:build', function () { | ||
return gulp.src([`${buildFolder}/**/*`, `!${buildFolder}/**/*.js`]) | ||
.pipe(gulp.dest(distFolder)); | ||
}); | ||
|
||
/** | ||
* 7. Copy package.json from /src to /dist | ||
*/ | ||
gulp.task('copy:manifest', function () { | ||
return gulp.src([`${srcFolder}/package.json`]) | ||
.pipe(gulp.dest(distFolder)); | ||
}); | ||
|
||
/** | ||
* 8. Delete /.tmp folder | ||
*/ | ||
gulp.task('clean:tmp', function () { | ||
return deleteFolders([tmpFolder]); | ||
}); | ||
|
||
/** | ||
* 9. Delete /build folder | ||
*/ | ||
gulp.task('clean:build', function () { | ||
return deleteFolders([buildFolder]); | ||
}); | ||
|
||
gulp.task('compile', function () { | ||
runSequence( | ||
'clean:dist', | ||
'copy:source', | ||
'inline-resources', | ||
'ngc', | ||
'rollup', | ||
'copy:build', | ||
'copy:manifest', | ||
'clean:build', | ||
'clean:tmp', | ||
function (err) { | ||
if (err) { | ||
console.log('ERROR:', err.message); | ||
deleteFolders([distFolder, tmpFolder, buildFolder]); | ||
} else { | ||
console.log('Compilation finished succesfully'); | ||
} | ||
}); | ||
}); | ||
|
||
/** | ||
* Watch for any change in the /src folder and compile files | ||
*/ | ||
gulp.task('watch', function () { | ||
gulp.watch(`${srcFolder}/**/*`, ['compile']); | ||
}); | ||
|
||
gulp.task('clean', ['clean:dist', 'clean:tmp', 'clean:build']); | ||
|
||
gulp.task('build', ['clean', 'compile']); | ||
gulp.task('build:watch', ['build', 'watch']); | ||
gulp.task('default', ['build:watch']); | ||
|
||
/** | ||
* Deletes the specified folder | ||
*/ | ||
function deleteFolders(folders) { | ||
return del(folders); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
{ | ||
"name": "ionic-swing", | ||
"version": "0.1.0", | ||
"scripts": { | ||
"build": "gulp build", | ||
"build:watch": "gulp", | ||
"lint": "tslint --type-check --project tsconfig.json src/**/*.ts", | ||
"test": "tsc && karma start" | ||
}, | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/peterpeterparker/ionic-swing.git" | ||
}, | ||
"author": { | ||
"name": "David Dal Busco", | ||
"email": "david.dalbusco@outlook.com" | ||
}, | ||
"keywords": [ | ||
"angular" | ||
], | ||
"license": "MIT", | ||
"bugs": { | ||
"url": "https://github.com/peterpeterparker/ionic-swing.git/issues" | ||
}, | ||
"devDependencies": { | ||
"@angular/common": "^4.0.0", | ||
"@angular/compiler": "^4.0.0", | ||
"@angular/compiler-cli": "^4.0.0", | ||
"@angular/core": "^4.0.0", | ||
"@angular/platform-browser": "^4.0.0", | ||
"@angular/platform-browser-dynamic": "^4.0.0", | ||
"@types/jasmine": "2.5.38", | ||
"@types/node": "~6.0.60", | ||
"codelyzer": "~2.0.0", | ||
"core-js": "^2.4.1", | ||
"del": "^2.2.2", | ||
"gulp": "^3.9.1", | ||
"gulp-rollup": "^2.11.0", | ||
"jasmine-core": "~2.5.2", | ||
"jasmine-spec-reporter": "~3.2.0", | ||
"karma": "~1.4.1", | ||
"karma-chrome-launcher": "~2.0.0", | ||
"karma-cli": "~1.0.1", | ||
"karma-coverage-istanbul-reporter": "^0.2.0", | ||
"karma-jasmine": "~1.1.0", | ||
"karma-jasmine-html-reporter": "^0.2.2", | ||
"node-watch": "^0.5.2", | ||
"protractor": "~5.1.0", | ||
"rollup": "^0.41.6", | ||
"run-sequence": "^1.2.2", | ||
"rxjs": "^5.1.0", | ||
"ts-node": "~2.0.0", | ||
"tslint": "~4.5.0", | ||
"typescript": "~2.2.0", | ||
"zone.js": "^0.8.4" | ||
}, | ||
"engines": { | ||
"node": ">=6.0.0" | ||
} | ||
} |
Oops, something went wrong.