videomail-client 9.4.2 → 9.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,25 @@
1
+ import type { StorybookConfig } from "storybook-html-rsbuild";
2
+
3
+ const config: StorybookConfig = {
4
+ stories: ["../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
5
+ addons: [
6
+ "@storybook/addon-links",
7
+ "@storybook/addon-essentials",
8
+ "@storybook/addon-a11y",
9
+ "@chromatic-com/storybook",
10
+ "@storybook/addon-interactions",
11
+ ],
12
+ framework: {
13
+ name: "storybook-html-rsbuild",
14
+ options: {
15
+ builder: {
16
+ rsbuildConfigPath: "etc/rsbuild/config.ts",
17
+ },
18
+ },
19
+ },
20
+ core: {
21
+ disableTelemetry: true,
22
+ },
23
+ };
24
+
25
+ export default config;
@@ -0,0 +1,5 @@
1
+ import { addons } from "@storybook/manager-api";
2
+ import customTheme from "./theme";
3
+ addons.setConfig({
4
+ theme: customTheme,
5
+ });
@@ -0,0 +1,16 @@
1
+ import "@storybook/addon-console";
2
+
3
+ import type { Preview } from "@storybook/html";
4
+
5
+ const preview: Preview = {
6
+ parameters: {
7
+ options: {
8
+ storySort: {
9
+ // See https://storybook.js.org/docs/writing-stories/naming-components-and-hierarchy
10
+ order: ["Record", "*", "Error Handling"],
11
+ },
12
+ },
13
+ },
14
+ };
15
+
16
+ export default preview;
@@ -0,0 +1,8 @@
1
+ import { create } from "@storybook/theming";
2
+
3
+ export default create({
4
+ base: "light",
5
+ brandTitle: "Videomail-Client",
6
+ brandUrl: "https://videomail.io",
7
+ brandImage: "https://videomail.io/favicon.png",
8
+ });
@@ -13,7 +13,6 @@
13
13
  "cSpell.words": [
14
14
  "animitter",
15
15
  "autobuffer",
16
- "browserstack",
17
16
  "bytediff",
18
17
  "classlist",
19
18
  "crossorigin",
@@ -32,6 +31,7 @@
32
31
  "playsinline",
33
32
  "plusplus",
34
33
  "preend",
34
+ "rsbuild",
35
35
  "rubberband",
36
36
  "Seeflow's",
37
37
  "styl",
package/README.md CHANGED
@@ -4,15 +4,12 @@
4
4
 
5
5
  [![npm][npm-image]][npm-url]
6
6
  [![downloads][downloads-image]][downloads-url]
7
- [![browserstack][browserstack-image]][browserstack-url]
8
7
  [![Netlify Status](https://api.netlify.com/api/v1/badges/3c9df5b4-8b85-4081-950a-d5df2dbd9926/deploy-status)](https://app.netlify.com/sites/videomail-client/deploys)
9
8
 
10
9
  [npm-image]: https://img.shields.io/npm/v/videomail-client.svg?style=flat
11
10
  [npm-url]: https://npmjs.org/package/videomail-client
12
11
  [downloads-image]: https://img.shields.io/npm/dm/videomail-client.svg?style=flat
13
12
  [downloads-url]: https://npmjs.org/package/videomail-client
14
- [browserstack-url]: https://www.browserstack.com
15
- [browserstack-image]: https://raw.githubusercontent.com/binarykitchen/videomail-client/develop/browserstack.png
16
13
 
17
14
  Record videos in contact forms!
18
15
 
@@ -34,7 +31,7 @@ Finally you can encode any webcam recordings from modern browsers and mobiles in
34
31
 
35
32
  ## Prototype (examples)
36
33
 
37
- To run the prototype full of examples in your browser with Gulp, just do:
34
+ To run the prototype full of examples in your browser, just do:
38
35
 
39
36
  1. `npm install`
40
37
  2. `npm run watch` to ignite a static server and
@@ -417,8 +414,6 @@ These guys helped and/or inspired me for this mad project:
417
414
 
418
415
  They all deserve lots of beer and love. That order is irrelevant.
419
416
 
420
- And yes, one more thing: because it is very crucial to make videomail-client work on all browsers, I cannot emphasize enough how important it is to have [Browserstack](https://www.browserstack.com/) - for instant, live end-to-end tests on any browser or mobile device. Thanks guys!
421
-
422
417
  ### Code quality
423
418
 
424
419
  I admit, code isn't top notch and needs lots of rewrites. Believe me or not, I already rewrote about three times in the last four years. Good example that software hardly can be perfect. And since I am already honest here, I think stability and bug fixes come first before perfection otherwise you'll loose users. Reality you know.
@@ -0,0 +1,5 @@
1
+ {
2
+ "onlyChanged": true,
3
+ "projectId": "Project:66fdd7378c034161818e3c8c",
4
+ "zip": true
5
+ }
@@ -0,0 +1,31 @@
1
+ import { defineConfig } from "@rsbuild/core";
2
+ import { pluginNodePolyfill } from "@rsbuild/plugin-node-polyfill";
3
+ import { pluginStylus } from "@rsbuild/plugin-stylus";
4
+
5
+ import { tsEntry } from "./paths";
6
+ import { NodeEnvType } from "../../src/types/env";
7
+ import isProductionMode from "../../src/util/isProductionMode";
8
+
9
+ export default defineConfig({
10
+ mode: isProductionMode() ? NodeEnvType.PRODUCTION : NodeEnvType.DEVELOPMENT,
11
+ output: {
12
+ target: "web",
13
+ filenameHash: false,
14
+ injectStyles: true,
15
+ legalComments: "none",
16
+ },
17
+ source: {
18
+ entry: {
19
+ index: tsEntry,
20
+ },
21
+ },
22
+ plugins: [pluginStylus(), pluginNodePolyfill()],
23
+ tools: {
24
+ htmlPlugin: false,
25
+ },
26
+ performance: {
27
+ chunkSplit: {
28
+ strategy: "all-in-one",
29
+ },
30
+ },
31
+ });
@@ -0,0 +1,11 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+
4
+ const rootDir = fs.realpathSync(process.cwd());
5
+
6
+ const resolvePath = (relativePath: string) => path.resolve(rootDir, relativePath);
7
+
8
+ const srcDir = resolvePath("src");
9
+ const tsEntry = resolvePath(path.join(srcDir, "index.ts"));
10
+
11
+ export { tsEntry };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "videomail-client",
3
- "version": "9.4.2",
3
+ "version": "9.5.3",
4
4
  "description": "A wicked npm package to record videos directly in the browser, wohooo!",
5
5
  "keywords": [
6
6
  "webcam",