@wolsok/thanos 16.0.1 → 17.0.15

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.
Files changed (54) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/README.md +52 -0
  3. package/eslint.config.mjs +64 -0
  4. package/jest.config.ts +23 -0
  5. package/ng-package.json +8 -0
  6. package/package.json +10 -23
  7. package/project.json +40 -0
  8. package/src/assets/how-to-be-funny.png.ts +4 -0
  9. package/{index.d.ts → src/index.ts} +4 -2
  10. package/src/lib/animation.state.ts +6 -0
  11. package/src/lib/create-ws-thanos-options.ts +12 -0
  12. package/src/lib/random-util.ts +24 -0
  13. package/src/lib/simplex-noise-options.ts +9 -0
  14. package/src/lib/simplex-noise.ts +240 -0
  15. package/src/lib/ws-thanos-options.token.spec.ts +19 -0
  16. package/src/lib/ws-thanos-options.token.ts +20 -0
  17. package/src/lib/ws-thanos.directive.spec.ts +175 -0
  18. package/src/lib/ws-thanos.directive.ts +70 -0
  19. package/src/lib/ws-thanos.options.ts +5 -0
  20. package/src/lib/ws-thanos.service.spec.ts +9 -0
  21. package/src/lib/ws-thanos.service.ts +387 -0
  22. package/src/test-setup.ts +9 -0
  23. package/tsconfig.json +32 -0
  24. package/tsconfig.lib.json +15 -0
  25. package/tsconfig.lib.prod.json +10 -0
  26. package/tsconfig.spec.json +10 -0
  27. package/esm2022/index.mjs +0 -10
  28. package/esm2022/lib/animation.state.mjs +0 -2
  29. package/esm2022/lib/create-ws-thanos-options.mjs +0 -9
  30. package/esm2022/lib/simplex-noise-options.mjs +0 -2
  31. package/esm2022/lib/simplex-noise.mjs +0 -194
  32. package/esm2022/lib/ws-thanos-options.token.mjs +0 -13
  33. package/esm2022/lib/ws-thanos.directive.mjs +0 -76
  34. package/esm2022/lib/ws-thanos.options.mjs +0 -2
  35. package/esm2022/lib/ws-thanos.service.mjs +0 -253
  36. package/esm2022/wolsok-thanos.mjs +0 -5
  37. package/index.d.ts.map +0 -1
  38. package/lib/animation.state.d.ts +0 -7
  39. package/lib/animation.state.d.ts.map +0 -1
  40. package/lib/create-ws-thanos-options.d.ts +0 -3
  41. package/lib/create-ws-thanos-options.d.ts.map +0 -1
  42. package/lib/simplex-noise-options.d.ts +0 -10
  43. package/lib/simplex-noise-options.d.ts.map +0 -1
  44. package/lib/simplex-noise.d.ts +0 -19
  45. package/lib/simplex-noise.d.ts.map +0 -1
  46. package/lib/ws-thanos-options.token.d.ts +0 -5
  47. package/lib/ws-thanos-options.token.d.ts.map +0 -1
  48. package/lib/ws-thanos.directive.d.ts +0 -36
  49. package/lib/ws-thanos.directive.d.ts.map +0 -1
  50. package/lib/ws-thanos.options.d.ts +0 -6
  51. package/lib/ws-thanos.options.d.ts.map +0 -1
  52. package/lib/ws-thanos.service.d.ts +0 -27
  53. package/lib/ws-thanos.service.d.ts.map +0 -1
  54. package/wolsok-thanos.d.ts.map +0 -1
package/CHANGELOG.md ADDED
@@ -0,0 +1,59 @@
1
+ ## 16.1.0 (2024-02-27)
2
+
3
+ ### 🚀 Features
4
+
5
+ - nrwl/workspace migrate to 14.1.4
6
+
7
+ - add thanosDemo mode
8
+
9
+ - ✨ extract lib for cdk spa stack
10
+
11
+ - **\*:** rename sc-thanos ws-thanos
12
+
13
+ - **ws-thanos:** update version to 3.0.0
14
+
15
+ - **ws-thanos:** update version to 3.0.1
16
+
17
+ - **ws-thanos:** update version to 3.0.1
18
+
19
+ - **release:** use release please to CD ws-thanos
20
+
21
+ ### 🔥 Performance
22
+
23
+ - ⚡️ add willReadFrequently: true to canvases
24
+
25
+ ### 🩹 Fixes
26
+
27
+ - nrwl/cli migrate to 14.2.1 revert deletion of package.json
28
+
29
+ - 🐛 remove updateBuildableProjectDepsInPackageJson in project.jsons
30
+
31
+ - **ws-thanos:** remove windows backslashes
32
+
33
+ - **deps:** update dependency tslib to v2.4.1
34
+
35
+ - **deps:** :arrow_up: update nrwl workspace
36
+
37
+ - **deps:** :arrow_up: update nrwl workspace
38
+
39
+ - **deps:** :arrow_up: update nrwl workspace
40
+
41
+ - **info:** grammar for thanos
42
+
43
+ - **deps:** :arrow_up: update nrwl workspace to v15.1.4
44
+
45
+ - **deps:** :arrow_up: update nrwl workspace to v16
46
+
47
+ - **ws-thanos:** complete observable
48
+
49
+ - **ws-thanos:** complete observable
50
+
51
+ - **ws-thanos:** use better seed
52
+
53
+ - **deps:** :arrow_up: update nx monorepo to v17
54
+
55
+ ### ❤️ Thank You
56
+
57
+ - Renovate Bot GitHub
58
+ - Wolfram
59
+ - Wolfram Sokollek
package/README.md CHANGED
@@ -80,6 +80,58 @@ Send issues or PRs to https://github.com/wolsok/wol-sok-mono
80
80
 
81
81
  Run `nx test ws-thanos` to execute unit tests.
82
82
 
83
+ ## Publishing
84
+
85
+ This package is published to npm as `@wolsok/thanos` using Nx Release.
86
+
87
+ ### Local Testing (Dry Run)
88
+
89
+ ```bash
90
+ # Build the package
91
+ nx build ws-thanos
92
+
93
+ # Test publishing without actually publishing
94
+ nx release publish --dry-run
95
+ ```
96
+
97
+ ### Publishing via CI/CD
98
+
99
+ The package is automatically published when:
100
+
101
+ 1. A release tag is created (e.g., `v4.8.7`)
102
+ 2. The deploy workflow detects changes affecting ws-thanos
103
+ 3. `nx release publish` runs in the CI/CD pipeline
104
+
105
+ The workflow uses Nx's built-in release capabilities with:
106
+
107
+ - Automatic versioning based on conventional commits
108
+ - Changelog generation (see CHANGELOG.md in this directory)
109
+ - NPM provenance for enhanced security
110
+
111
+ ### Manual Publishing
112
+
113
+ To manually publish (requires npm authentication):
114
+
115
+ ```bash
116
+ # Login to npm
117
+ npm login
118
+
119
+ # Build the package
120
+ nx build ws-thanos --configuration=production
121
+
122
+ # Publish using Nx Release
123
+ nx release publish
124
+ ```
125
+
126
+ ### Versioning
127
+
128
+ This project uses Nx Release with independent versioning. Version bumps are determined by:
129
+
130
+ - Conventional commit messages (feat: = minor, fix: = patch, BREAKING CHANGE: = major)
131
+ - Manual version specification via `nx release version [version]`
132
+
133
+ See the [Nx Release documentation](https://nx.dev/features/manage-releases) for more details.
134
+
83
135
  ## Migration
84
136
 
85
137
  From `1.0.1` to `2.0.0`
@@ -0,0 +1,64 @@
1
+ import { FlatCompat } from '@eslint/eslintrc';
2
+ import baseConfig from '../../../eslint.config.mjs';
3
+ import js from '@eslint/js';
4
+
5
+ import { fileURLToPath } from 'node:url';
6
+ import { dirname } from 'node:path';
7
+
8
+ // Convert import.meta.url to a file path
9
+ const __filename = fileURLToPath(import.meta.url);
10
+ const __dirname = dirname(__filename);
11
+
12
+ const compat = new FlatCompat({
13
+ baseDirectory: __dirname,
14
+ recommendedConfig: js.configs.recommended,
15
+ });
16
+
17
+ export default [
18
+ ...baseConfig,
19
+ ...compat
20
+ .config({
21
+ extends: [
22
+ 'plugin:@nx/angular',
23
+ 'plugin:@angular-eslint/template/process-inline-templates',
24
+ ],
25
+ })
26
+ .map((config) => ({
27
+ ...config,
28
+ files: ['**/*.ts'],
29
+ rules: {
30
+ ...config.rules,
31
+ '@angular-eslint/directive-selector': [
32
+ 'error',
33
+ {
34
+ type: 'attribute',
35
+ prefix: 'wsThanos',
36
+ style: 'camelCase',
37
+ },
38
+ ],
39
+ '@angular-eslint/component-selector': [
40
+ 'error',
41
+ {
42
+ type: 'element',
43
+ prefix: 'ws-thanos',
44
+ style: 'kebab-case',
45
+ },
46
+ ],
47
+ },
48
+ })),
49
+ ...compat
50
+ .config({ extends: ['plugin:@nx/angular-template'] })
51
+ .map((config) => ({
52
+ ...config,
53
+ files: ['**/*.html'],
54
+ rules: {
55
+ ...config.rules,
56
+ },
57
+ })),
58
+ {
59
+ files: ['**/*.ts'],
60
+ rules: {
61
+ '@angular-eslint/prefer-standalone': 'off',
62
+ },
63
+ },
64
+ ];
package/jest.config.ts ADDED
@@ -0,0 +1,23 @@
1
+ import { JestConfigWithTsJest } from 'ts-jest';
2
+
3
+ export default {
4
+ displayName: 'libs/public-ws-thanos',
5
+ preset: '../../../jest.preset.cjs',
6
+ setupFilesAfterEnv: ['<rootDir>/src/test-setup.ts'],
7
+ coverageDirectory: '../../../coverage/libs/public/ws-thanos',
8
+ transform: {
9
+ '^.+\\.(ts|mjs|js|html)$': [
10
+ 'jest-preset-angular',
11
+ {
12
+ tsconfig: '<rootDir>/tsconfig.spec.json',
13
+ stringifyContentPathRegex: '\\.(html|svg)$',
14
+ },
15
+ ],
16
+ },
17
+ transformIgnorePatterns: ['node_modules/(?!.*\\.mjs$)'],
18
+ snapshotSerializers: [
19
+ 'jest-preset-angular/build/serializers/no-ng-attributes',
20
+ 'jest-preset-angular/build/serializers/ng-snapshot',
21
+ 'jest-preset-angular/build/serializers/html-comment',
22
+ ],
23
+ } as JestConfigWithTsJest;
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema": "../../../node_modules/ng-packagr/ng-package.schema.json",
3
+ "dest": "../../../dist/libs/public/ws-thanos",
4
+ "lib": {
5
+ "entryFile": "src/index.ts"
6
+ },
7
+ "assets": ["README.md"]
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wolsok/thanos",
3
- "version": "16.0.1",
3
+ "version": "17.0.15",
4
4
  "description": "Wolf Soko's implementation of a cool Thanos snapping vaporizing effect for destroying dom elements",
5
5
  "bugs": {
6
6
  "url": "https://github.com/WolfSoko/wol-sok-mono/issues"
@@ -23,29 +23,16 @@
23
23
  "Marvel",
24
24
  "npm"
25
25
  ],
26
+ "scripts": {
27
+ "build:thanos": "nx build ws-thanos"
28
+ },
26
29
  "peerDependencies": {
27
- "@angular/common": "^16.0.0",
28
- "@angular/core": "^16.0.0",
30
+ "@angular/core": "20.3.7",
29
31
  "html2canvas": "^1.4.1",
30
- "@angular/platform-browser": "16.0.0",
31
- "rxjs": "7.8.1",
32
- "zone.js": "0.13.0",
33
- "@angular/platform-browser-dynamic": "16.0.0"
34
- },
35
- "dependencies": {
36
- "tslib": "^2.5.0"
37
- },
38
- "module": "esm2022/wolsok-thanos.mjs",
39
- "typings": "index.d.ts",
40
- "exports": {
41
- "./package.json": {
42
- "default": "./package.json"
43
- },
44
- ".": {
45
- "esm2022": "./esm2022/wolsok-thanos.mjs",
46
- "esm": "./esm2022/wolsok-thanos.mjs",
47
- "default": "./esm2022/wolsok-thanos.mjs"
48
- }
32
+ "rxjs": "7.8.2"
49
33
  },
50
- "sideEffects": false
34
+ "dependencies": {},
35
+ "publishConfig": {
36
+ "access": "public"
37
+ }
51
38
  }
package/project.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "ws-thanos",
3
+ "$schema": "../../../node_modules/nx/schemas/project-schema.json",
4
+ "projectType": "library",
5
+ "sourceRoot": "libs/public/ws-thanos/src",
6
+ "prefix": "ws",
7
+ "tags": ["shared", "published", "ui"],
8
+ "targets": {
9
+ "build": {
10
+ "executor": "@nx/angular:ng-packagr-lite",
11
+ "outputs": ["{workspaceRoot}/dist/libs/public/ws-thanos"],
12
+ "options": {
13
+ "project": "libs/public/ws-thanos/ng-package.json",
14
+ "tsConfig": "libs/public/ws-thanos/tsconfig.lib.json"
15
+ },
16
+ "configurations": {
17
+ "production": {
18
+ "tsConfig": "libs/public/ws-thanos/tsconfig.lib.prod.json"
19
+ },
20
+ "development": {}
21
+ },
22
+ "defaultConfiguration": "production"
23
+ },
24
+ "lint": {
25
+ "options": {
26
+ "args": ["./**/*.ts"]
27
+ }
28
+ },
29
+ "test": {
30
+ "executor": "@nx/jest:jest",
31
+ "outputs": ["{workspaceRoot}/coverage/libs/public/ws-thanos"],
32
+ "options": {
33
+ "jestConfig": "libs/public/ws-thanos/jest.config.ts",
34
+ "passWithNoTests": false,
35
+ "codeCoverage": true,
36
+ "tsConfig": "libs/public/ws-thanos/tsconfig.spec.json"
37
+ }
38
+ }
39
+ }
40
+ }