Compare commits

..

8 Commits

Author SHA1 Message Date
cb80b4df75 1.0.7 2019-03-27 14:46:42 +01:00
74ed988da0 fix(core): update 2019-03-27 14:46:41 +01:00
d1793f9084 1.0.6 2019-03-27 14:40:07 +01:00
4a45262124 fix(core): update 2019-03-27 14:40:06 +01:00
f5f51ac1a6 1.0.5 2019-03-27 14:38:25 +01:00
eb4a4288ed fix(core): update 2019-03-27 14:38:24 +01:00
56bcfcdae4 1.0.4 2019-03-25 16:07:05 +01:00
50b33a5f88 fix(core): update 2019-03-25 16:07:04 +01:00
11 changed files with 98 additions and 39 deletions

View File

@ -34,28 +34,6 @@ snyk:
- docker
- notpriv
sast:
stage: security
image: docker:stable
variables:
DOCKER_DRIVER: overlay2
allow_failure: true
services:
- docker:stable-dind
script:
- export SP_VERSION=$(echo "$CI_SERVER_VERSION" | sed 's/^\([0-9]*\)\.\([0-9]*\).*/\1-\2-stable/')
- docker run
--env SAST_CONFIDENCE_LEVEL="${SAST_CONFIDENCE_LEVEL:-3}"
--volume "$PWD:/code"
--volume /var/run/docker.sock:/var/run/docker.sock
"registry.gitlab.com/gitlab-org/security-products/sast:$SP_VERSION" /app/bin/run /code
artifacts:
reports:
sast: gl-sast-report.json
tags:
- docker
- priv
# ====================
# test stage
# ====================

View File

@ -2,5 +2,15 @@
"npmci": {
"npmGlobalTools": [],
"npmAccessLevel": "public"
},
"gitzone": {
"module": {
"githost": "gitlab.com",
"gitscope": "pushrocks",
"gitrepo": "websetup",
"shortDescription": "setup basic page properties",
"npmPackagename": "@pushrocks/websetup",
"license": "MIT"
}
}
}
}

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/websetup",
"version": "1.0.3",
"version": "1.0.7",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/websetup",
"version": "1.0.3",
"version": "1.0.7",
"private": false,
"description": "setup basic page properties",
"main": "dist/index.js",
@ -9,9 +9,13 @@
"license": "MIT",
"scripts": {
"test": "(tstest test/)",
"build": "(tsbuild)",
"build": "(tsbuild --web)",
"format": "(gitzone format)"
},
"keywords": [
"lossless",
"websafe"
],
"devDependencies": {
"@gitzone/tsbuild": "^2.0.22",
"@gitzone/tstest": "^1.0.15",

26
readme.md Normal file
View File

@ -0,0 +1,26 @@
# @pushrocks/websetup
setup basic page properties
## Availabililty and Links
* [npmjs.org (npm package)](https://www.npmjs.com/package/@pushrocks/websetup)
* [gitlab.com (source)](https://gitlab.com/pushrocks/websetup)
* [github.com (source mirror)](https://github.com/pushrocks/websetup)
* [docs (typedoc)](https://pushrocks.gitlab.io/websetup/)
## Status for master
[![build status](https://gitlab.com/pushrocks/websetup/badges/master/build.svg)](https://gitlab.com/pushrocks/websetup/commits/master)
[![coverage report](https://gitlab.com/pushrocks/websetup/badges/master/coverage.svg)](https://gitlab.com/pushrocks/websetup/commits/master)
[![npm downloads per month](https://img.shields.io/npm/dm/@pushrocks/websetup.svg)](https://www.npmjs.com/package/@pushrocks/websetup)
[![Known Vulnerabilities](https://snyk.io/test/npm/@pushrocks/websetup/badge.svg)](https://snyk.io/test/npm/@pushrocks/websetup)
[![TypeScript](https://img.shields.io/badge/TypeScript->=%203.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/)
[![node](https://img.shields.io/badge/node->=%2010.x.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/)
[![JavaScript Style Guide](https://img.shields.io/badge/code%20style-prettier-ff69b4.svg)](https://prettier.io/)
## Usage
For further information read the linked docs at the top of this readme.
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
[![repo-footer](https://pushrocks.gitlab.io/assets/repo-footer.svg)](https://maintainedby.lossless.com)

View File

@ -1,8 +1,8 @@
import { expect, tap } from '@pushrocks/tapbundle';
import * as websetup from '../ts/index'
import * as websetup from '../ts/index';
tap.test('first test', async () => {
console.log(websetup.standardExport)
})
console.log('Waiting for proper puppeteer support here');
});
tap.start()
tap.start();

View File

@ -1,10 +1,15 @@
import * as plugins from './websetup.plugins';
import { setupGoogleAnalytics } from './tools/ganalytics';
import { setupFullStory } from './tools/fullstory';
import { setupServiceWoker } from './serviceworker';
import { IMetaObject, setupMetaInformation } from './meta';
export interface IWebSetupConstructorOptions {
googleAnalyticsCode?: string;
fsCode?: string;
metaObject: IMetaObject;
serviceworker?: boolean;
}
/**
@ -12,12 +17,21 @@ export interface IWebSetupConstructorOptions {
*/
export class WebSetup {
constructor(optionsArg: IWebSetupConstructorOptions) {
if (optionsArg.googleAnalyticsCode) {
setupGoogleAnalytics(optionsArg.googleAnalyticsCode);
// most important, lets get the meta information in place
this.setup(optionsArg);
}
async setup(optionsArg: IWebSetupConstructorOptions) {
if (optionsArg.serviceworker) {
await setupServiceWoker();
}
if () {
if (optionsArg.googleAnalyticsCode) {
await setupGoogleAnalytics(optionsArg.googleAnalyticsCode);
}
if (optionsArg.fsCode) {
await setupFullStory(optionsArg.fsCode);
}
}
}
}

18
ts/meta/index.ts Normal file
View File

@ -0,0 +1,18 @@
export interface IMetaObject {
title: string;
description: string;
}
export const setupMetaInformation = async (metaObjectArg: IMetaObject) => {
document.title = metaObjectArg.title;
addMetaTag('description', metaObjectArg.description);
addMetaTag('google', 'notranslate');
addMetaTag('revisited-after', '1 days');
};
const addMetaTag = async (linkNameArg: string, contentArg: string) => {
const metaElement = document.createElement('meta');
metaElement.name = linkNameArg;
metaElement.content = contentArg;
document.getElementsByTagName('head')[0].appendChild(metaElement);
};

11
ts/serviceworker/index.ts Normal file
View File

@ -0,0 +1,11 @@
export const setupServiceWoker = async () => {
// serviceworker
const script = document.createElement('script');
script.onload = () => {
console.log(
'Loaded Serviceworker. The serviceworker helps us with notifications and offline capabilities, so you can also read this site when your device is offline.'
);
};
script.src = 'serviceworker/mainthread.js';
document.head.appendChild(script);
};

View File

@ -4,13 +4,13 @@ declare global {
_fs_host: any;
}
}
export const setupFullStory = async () => {
export const setupFullStory = async (fsCodeArg: string) => {
// tslint:disable-next-line: no-string-literal
window['_fs_debug'] = false;
// tslint:disable-next-line: no-string-literal
window['_fs_host'] = 'fullstory.com';
// tslint:disable-next-line: no-string-literal
window['_fs_org'] = 'G6FC5';
window['_fs_org'] = fsCodeArg;
// tslint:disable-next-line: no-string-literal
window['_fs_namespace'] = 'FS';
(function(m, n, e, t, l, o, g, y) {

View File

@ -1,4 +1,2 @@
const removeme = {};
export {
removeme
}
export { removeme };