Compare commits
104 Commits
Author | SHA1 | Date | |
---|---|---|---|
727d26fae4 | |||
0f2b71ebc3 | |||
638c1a8c8c | |||
c54644949e | |||
53c26d4634 | |||
e3b1ec0633 | |||
1892bd6df1 | |||
20bdf70686 | |||
7787330d63 | |||
67c3efdd59 | |||
7655ba749a | |||
0a089b6f10 | |||
29bf694db6 | |||
019d8deadd | |||
bfef45cab3 | |||
eddc64b891 | |||
e47df19015 | |||
af96ab531b | |||
b96206e8f7 | |||
f96bfc0875 | |||
62f3dbabda | |||
5486e268ed | |||
6d61043379 | |||
ac92f355d4 | |||
140bfb4f5e | |||
4ed87cac7e | |||
d2182a6d0f | |||
b7e48313e1 | |||
9f8e30526f | |||
8dd5c97f3b | |||
58b6a9a328 | |||
1c4020824d | |||
521e5740e5 | |||
ce76702d53 | |||
4590c8f64e | |||
ab7155f198 | |||
feba451f90 | |||
1ba1b0447b | |||
e4db3ba7ee | |||
da209ecc06 | |||
e010b01c42 | |||
225c46a788 | |||
7883f1cb7d | |||
394dd88a1d | |||
1d8fee1506 | |||
88d5409c40 | |||
b8c9508d21 | |||
59f97c3254 | |||
0491493b2e | |||
aca45165f8 | |||
569c597f8b | |||
5f17ea48ed | |||
6a9cdd297a | |||
0a363b441c | |||
3af6edd5e6 | |||
9a26f1367d | |||
15dd17e7a7 | |||
3b704dbde5 | |||
48aeb16dfd | |||
b40d8452ec | |||
d8281f098a | |||
3ffee9d0d6 | |||
03dfdda812 | |||
24cce5d9b2 | |||
295e568097 | |||
846bcf66db | |||
fc7d7fd27f | |||
9829c7bb1e | |||
6827999cf8 | |||
b318fa2076 | |||
0c751e1bca | |||
cb489552f2 | |||
addd66091f | |||
c2f8199f0b | |||
5e5696cce1 | |||
44d9782487 | |||
41592a4d2f | |||
23367249ec | |||
b415bf4ee7 | |||
86b6a6c3c4 | |||
ffbfc29628 | |||
9c6e452801 | |||
96c421e96e | |||
84af99ba80 | |||
6bb20dbc7b | |||
66a7fc2afe | |||
a42faf36d2 | |||
6db7cc0e14 | |||
102d384de5 | |||
1ceae01a49 | |||
7f4adbfe9f | |||
eb72e2dccc | |||
839c80f5dd | |||
e7e96972ad | |||
799c2a58ca | |||
1955dadba3 | |||
c14fadadf7 | |||
3f1a05d3e0 | |||
5908dc8b6f | |||
d7ecf8e320 | |||
8b73f7a6bb | |||
00d9ad0af1 | |||
ef20c00999 | |||
4dab0f250a |
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
node_modules/
|
||||||
|
pages/
|
||||||
|
public/
|
||||||
|
coverage/
|
71
.gitlab-ci.yml
Normal file
71
.gitlab-ci.yml
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
# gitzone standard
|
||||||
|
image: hosttoday/ht-docker-node:npmci
|
||||||
|
|
||||||
|
cache:
|
||||||
|
paths:
|
||||||
|
- .yarn/
|
||||||
|
key: "$CI_BUILD_STAGE"
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- test
|
||||||
|
- release
|
||||||
|
- trigger
|
||||||
|
- pages
|
||||||
|
|
||||||
|
testLEGACY:
|
||||||
|
stage: test
|
||||||
|
script:
|
||||||
|
- npmci test legacy
|
||||||
|
coverage: /\d+.?\d+?\%\s*coverage/
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
|
testLTS:
|
||||||
|
stage: test
|
||||||
|
script:
|
||||||
|
- npmci test lts
|
||||||
|
coverage: /\d+.?\d+?\%\s*coverage/
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
|
||||||
|
testSTABLE:
|
||||||
|
stage: test
|
||||||
|
script:
|
||||||
|
- npmci test stable
|
||||||
|
coverage: /\d+.?\d+?\%\s*coverage/
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
|
||||||
|
release:
|
||||||
|
stage: release
|
||||||
|
script:
|
||||||
|
- npmci publish
|
||||||
|
only:
|
||||||
|
- tags
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
stage: trigger
|
||||||
|
script:
|
||||||
|
- npmci trigger
|
||||||
|
only:
|
||||||
|
- tags
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
|
||||||
|
pages:
|
||||||
|
image: hosttoday/ht-docker-node:npmci
|
||||||
|
stage: pages
|
||||||
|
script:
|
||||||
|
- npmci command yarn global add npmpage
|
||||||
|
- npmci command npmpage --publish gitlab
|
||||||
|
tags:
|
||||||
|
- docker
|
||||||
|
only:
|
||||||
|
- tags
|
||||||
|
artifacts:
|
||||||
|
expire_in: 1 week
|
||||||
|
paths:
|
||||||
|
- public
|
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
|||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2016 Push.Rocks
|
Copyright (c) 2016 Lossless GmbH
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
40
README.md
40
README.md
@ -1,12 +1,40 @@
|
|||||||
# early
|
# early
|
||||||
nice module loading animation for modules that need a little starting time.
|
minimal and fast loading plugin for startup time measuring
|
||||||
|
|
||||||
> **note: this package is NOT READY YET**
|
## Availabililty
|
||||||
|
[](https://www.npmjs.com/package/early)
|
||||||
|
[](https://GitLab.com/pushrocks/early)
|
||||||
|
[](https://github.com/pushrocks/early)
|
||||||
|
[](https://pushrocks.gitlab.io/early/)
|
||||||
|
|
||||||
```typscript
|
## Status for master
|
||||||
|
[](https://GitLab.com/pushrocks/early/commits/master)
|
||||||
|
[](https://GitLab.com/pushrocks/early/commits/master)
|
||||||
|
[](https://www.npmjs.com/package/early)
|
||||||
|
[](https://david-dm.org/pushrocks/early)
|
||||||
|
[](https://www.bithound.io/github/pushrocks/early/master/dependencies/npm)
|
||||||
|
[](https://www.bithound.io/github/pushrocks/early)
|
||||||
|
[](https://nodejs.org/dist/latest-v6.x/docs/api/)
|
||||||
|
[](https://nodejs.org/dist/latest-v6.x/docs/api/)
|
||||||
|
[](http://standardjs.com/)
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
Use TypeScript for best in class instellisense.
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// Put the following at the start of your module
|
||||||
import * as early from "early";
|
import * as early from "early";
|
||||||
early.start();
|
early.start("myModuleName");
|
||||||
// do your loading stuff
|
/*
|
||||||
early.stop();
|
do your loading stuff
|
||||||
|
*/
|
||||||
|
early.stop().then((loadingTime:number) => { // loadingTime in milliseconds
|
||||||
|
|
||||||
|
}); // stop "early" when your module is ready
|
||||||
```
|
```
|
||||||
|
|
||||||
|
For further information read the linked docs at the top of this README.
|
||||||
|
|
||||||
|
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
|
||||||
|
|
||||||
|
[](https://push.rocks)
|
||||||
|
6
dist/index.d.ts
vendored
Normal file
6
dist/index.d.ts
vendored
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
import 'typings-global';
|
||||||
|
/**
|
||||||
|
* start the loading
|
||||||
|
*/
|
||||||
|
export declare let start: (moduleNameArg?: string, loaderLengthArg?: string) => void;
|
||||||
|
export declare let stop: () => Promise<number>;
|
30
dist/index.js
vendored
Normal file
30
dist/index.js
vendored
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
require("typings-global");
|
||||||
|
const beautycolor = require("beautycolor");
|
||||||
|
const smartq = require("smartq");
|
||||||
|
let doText = false;
|
||||||
|
let moduleName = 'undefined module name';
|
||||||
|
let startTime = Date.now();
|
||||||
|
if (process.argv.indexOf('-v') === -1) {
|
||||||
|
doText = true;
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* start the loading
|
||||||
|
*/
|
||||||
|
exports.start = function (moduleNameArg = '', loaderLengthArg = '10') {
|
||||||
|
moduleName = moduleNameArg;
|
||||||
|
if (doText) {
|
||||||
|
console.log(`**** starting ${beautycolor.coloredString(moduleNameArg, 'green')} ****`);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
exports.stop = () => {
|
||||||
|
let done = smartq.defer();
|
||||||
|
let endTime = Date.now();
|
||||||
|
let earlyExecutionTime = (endTime - startTime);
|
||||||
|
let earlyExecutionTimeString = (earlyExecutionTime / 1000).toString();
|
||||||
|
console.log(`OK! -> finished loading within ${beautycolor.coloredString(earlyExecutionTimeString, 'blue')}`);
|
||||||
|
done.resolve(earlyExecutionTime);
|
||||||
|
return done.promise;
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBCQUF1QjtBQUN2QiwyQ0FBMEM7QUFDMUMsaUNBQWdDO0FBRWhDLElBQUksTUFBTSxHQUFZLEtBQUssQ0FBQTtBQUMzQixJQUFJLFVBQVUsR0FBVyx1QkFBdUIsQ0FBQTtBQUNoRCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUE7QUFFMUIsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sR0FBRyxJQUFJLENBQUE7QUFDZixDQUFDO0FBRUQ7O0dBRUc7QUFDUSxRQUFBLEtBQUssR0FBRyxVQUFVLGdCQUF3QixFQUFFLEVBQUUsa0JBQTBCLElBQUk7SUFDckYsVUFBVSxHQUFHLGFBQWEsQ0FBQTtJQUMxQixFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ1gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsV0FBVyxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3hGLENBQUM7QUFDSCxDQUFDLENBQUE7QUFFVSxRQUFBLElBQUksR0FBRztJQUNoQixJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFVLENBQUE7SUFDakMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQ3hCLElBQUksa0JBQWtCLEdBQVcsQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLENBQUE7SUFDdEQsSUFBSSx3QkFBd0IsR0FBVyxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFBO0lBQzdFLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLFdBQVcsQ0FBQyxhQUFhLENBQUMsd0JBQXdCLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQzVHLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtJQUNoQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtBQUNyQixDQUFDLENBQUEifQ==
|
5
npmextra.json
Normal file
5
npmextra.json
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"npmts":{
|
||||||
|
"coverageTreshold":50
|
||||||
|
}
|
||||||
|
}
|
20
package.json
20
package.json
@ -1,14 +1,15 @@
|
|||||||
{
|
{
|
||||||
"name": "early",
|
"name": "early",
|
||||||
"version": "1.0.1",
|
"version": "2.0.37",
|
||||||
"description": "nice module loading animation for modules that need a little starting time.",
|
"description": "minimal and fast loading plugin for startup time measuring",
|
||||||
"main": "dist/index.js",
|
"main": "dist/index.js",
|
||||||
|
"typings": "dist/index.d.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "(npmts)"
|
"test": "(npmts)"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "git+https://github.com/pushrocks/early.git"
|
"url": "git+https://gitlab.com/pushrocks/early.git"
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"preloader"
|
"preloader"
|
||||||
@ -16,7 +17,16 @@
|
|||||||
"author": "Lossless GmbH",
|
"author": "Lossless GmbH",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/pushrocks/early/issues"
|
"url": "https://gitlab.com/pushrocks/early/issues"
|
||||||
},
|
},
|
||||||
"homepage": "https://github.com/pushrocks/early#readme"
|
"homepage": "https://gitlab.com/pushrocks/early#readme",
|
||||||
|
"devDependencies": {
|
||||||
|
"smartdelay": "^1.0.1",
|
||||||
|
"tapbundle": "^1.0.5"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"beautycolor": "^1.0.7",
|
||||||
|
"smartq": "^1.1.1",
|
||||||
|
"typings-global": "^1.0.14"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
11
test/test.ts
Normal file
11
test/test.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { expect, tap } from 'tapbundle'
|
||||||
|
import * as smartdelay from 'smartdelay'
|
||||||
|
import early = require('../dist/index')
|
||||||
|
|
||||||
|
tap.test('.start()', async () => {
|
||||||
|
early.start('early')
|
||||||
|
await smartdelay.delayFor(2000)
|
||||||
|
})
|
||||||
|
tap.test('.stop()', async () => {
|
||||||
|
await early.stop()
|
||||||
|
})
|
31
ts/index.ts
Normal file
31
ts/index.ts
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
import 'typings-global'
|
||||||
|
import * as beautycolor from 'beautycolor'
|
||||||
|
import * as smartq from 'smartq'
|
||||||
|
|
||||||
|
let doText: boolean = false
|
||||||
|
let moduleName: string = 'undefined module name'
|
||||||
|
let startTime = Date.now()
|
||||||
|
|
||||||
|
if (process.argv.indexOf('-v') === -1) {
|
||||||
|
doText = true
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* start the loading
|
||||||
|
*/
|
||||||
|
export let start = function (moduleNameArg: string = '', loaderLengthArg: string = '10') {
|
||||||
|
moduleName = moduleNameArg
|
||||||
|
if (doText) {
|
||||||
|
console.log(`**** starting ${beautycolor.coloredString(moduleNameArg, 'green')} ****`)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export let stop = (): Promise<number> => {
|
||||||
|
let done = smartq.defer<number>()
|
||||||
|
let endTime = Date.now()
|
||||||
|
let earlyExecutionTime: number = (endTime - startTime)
|
||||||
|
let earlyExecutionTimeString: string = (earlyExecutionTime / 1000).toString()
|
||||||
|
console.log(`OK! -> finished loading within ${beautycolor.coloredString(earlyExecutionTimeString, 'blue')}`)
|
||||||
|
done.resolve(earlyExecutionTime)
|
||||||
|
return done.promise
|
||||||
|
}
|
3
tslint.json
Normal file
3
tslint.json
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"extends": "tslint-config-standard"
|
||||||
|
}
|
Reference in New Issue
Block a user