Skip to content

Commit

Permalink
feat(scully): Add logrocket render plugin.
Browse files Browse the repository at this point in the history
Fixes tests adds dummy app and id
  • Loading branch information
GuzmanPI committed Jul 2, 2020
1 parent 36e6c37 commit fe9a020
Show file tree
Hide file tree
Showing 14 changed files with 210 additions and 29 deletions.
1 change: 1 addition & 0 deletions libs/plugins/logrocket/.eslintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "extends": "../../../.eslintrc", "rules": {}, "ignorePatterns": ["!**/*"] }
7 changes: 7 additions & 0 deletions libs/plugins/logrocket/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# plugins-logrocket

This library was generated with [Nx](https://nx.dev).

## Running unit tests

Run `ng test plugins-logrocket` to execute the unit tests via [Jest](https://jestjs.io).
9 changes: 9 additions & 0 deletions libs/plugins/logrocket/jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
module.exports = {
name: 'plugins-logrocket',
preset: '../../../jest.config.js',
transform: {
'^.+\\.[tj]sx?$': 'ts-jest',
},
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'html'],
coverageDirectory: '../../../coverage/libs/plugins/logrocket',
};
10 changes: 10 additions & 0 deletions libs/plugins/logrocket/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"name": "@scullyio/plugins-logrocket",
"version": "0.0.1",
"author": "Israel Guzman",
"repository": {
"type": "GIT",
"url": "https://github.com/scullyio/scully/tree/main/libs/plugins/logrocket"
},
"license": "MIT"
}
1 change: 1 addition & 0 deletions libs/plugins/logrocket/src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from './lib/plugins-logrocket';
21 changes: 21 additions & 0 deletions libs/plugins/logrocket/src/lib/plugins-logrocket.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { registerPlugin, getMyConfig } from '@scullyio/scully';

export const LogRocket = 'logrocket';

export const logrocketPlugin = async (html: string): Promise<string> => {
const logrocketConfig = getMyConfig(logrocketPlugin);

if (!logrocketConfig) {
throw new Error('logrocket plugin missing configuration');
}

const logrocketScript = `
<script src="https://cdn.logrocket.io/LogRocket.min.js"></script>
<script>window.LogRocket && window.LogRocket.init('${logrocketConfig['app']}/${logrocketConfig['id']}');</script>`;

return html.replace(/<\/head/i, `${logrocketScript}</head`);
};

const validator = async () => [];

registerPlugin('render', LogRocket, logrocketPlugin, validator);
7 changes: 7 additions & 0 deletions libs/plugins/logrocket/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"extends": "../../../tsconfig.json",
"compilerOptions": {
"types": ["node", "jest"]
},
"include": ["**/*.ts"]
}
12 changes: 12 additions & 0 deletions libs/plugins/logrocket/tsconfig.lib.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"module": "commonjs",
"outDir": "../../../dist/out-tsc",
"declaration": true,
"rootDir": "./src",
"types": ["node"]
},
"exclude": ["**/*.spec.ts"],
"include": ["**/*.ts"]
}
15 changes: 15 additions & 0 deletions libs/plugins/logrocket/tsconfig.spec.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "../../../dist/out-tsc",
"module": "commonjs",
"types": ["jest", "node"]
},
"include": [
"**/*.spec.ts",
"**/*.spec.tsx",
"**/*.spec.js",
"**/*.spec.jsx",
"**/*.d.ts"
]
}
3 changes: 3 additions & 0 deletions nx.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,9 @@
},
"plugins-scully-plugin-flash-prevention": {
"tags": []
},
"plugins-logrocket": {
"tags": []
}
}
}
5 changes: 4 additions & 1 deletion scully.scully-docs.config.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
import { ScullyConfig, setPluginConfig } from '@scullyio/scully';
import { DisableAngular } from 'scully-plugin-disable-angular';
import './demos/plugins/docs-link-update';
import { LogRocket } from '@scullyio/plugins/logrocket';

setPluginConfig('md', { enableSyntaxHighlighting: true });
// Use environment variables here
setPluginConfig(LogRocket, { app: 'app', id: 'id' });

const defaultPostRenderers = [DisableAngular];
const defaultPostRenderers = [DisableAngular, LogRocket];

export const config: ScullyConfig = {
projectRoot: './apps/scully-docs/src',
Expand Down
108 changes: 81 additions & 27 deletions tests/jest/src/__tests__/__snapshots__/docsThere.spec.ts.snap

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@
"@scullyio/plugins/demo-lib": ["libs/plugins/demo-lib/src/index.ts"],
"@scullyio/plugins/scully-plugin-flash-prevention": [
"dist/libs/plugins/scully-plugin-flash-prevention"
]
],
"@scullyio/plugins/logrocket": ["libs/plugins/logrocket/src/index.ts"]
}
},
"angularCompilerOptions": {
Expand Down
37 changes: 37 additions & 0 deletions workspace.json
Original file line number Diff line number Diff line change
Expand Up @@ -450,6 +450,43 @@
}
}
}
},
"plugins-logrocket": {
"root": "libs/plugins/logrocket",
"sourceRoot": "libs/plugins/logrocket/src",
"projectType": "library",
"schematics": {},
"architect": {
"lint": {
"builder": "@nrwl/linter:lint",
"options": {
"linter": "eslint",
"tsConfig": [
"libs/plugins/logrocket/tsconfig.lib.json",
"libs/plugins/logrocket/tsconfig.spec.json"
],
"exclude": ["**/node_modules/**", "!libs/plugins/logrocket/**/*"]
}
},
"test": {
"builder": "@nrwl/jest:jest",
"options": {
"jestConfig": "libs/plugins/logrocket/jest.config.js",
"tsConfig": "libs/plugins/logrocket/tsconfig.spec.json",
"passWithNoTests": true
}
},
"build": {
"builder": "@nrwl/node:package",
"options": {
"outputPath": "dist/libs/plugins/logrocket",
"tsConfig": "libs/plugins/logrocket/tsconfig.lib.json",
"packageJson": "libs/plugins/logrocket/package.json",
"main": "libs/plugins/logrocket/src/index.ts",
"assets": ["libs/plugins/logrocket/*.md"]
}
}
}
}
},
"cli": {
Expand Down

0 comments on commit fe9a020

Please sign in to comment.