@wolsok/thanos 16.0.0 → 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.
- package/CHANGELOG.md +59 -0
- package/README.md +54 -2
- package/eslint.config.mjs +64 -0
- package/jest.config.ts +23 -0
- package/ng-package.json +8 -0
- package/package.json +10 -23
- package/project.json +40 -0
- package/src/assets/how-to-be-funny.png.ts +4 -0
- package/{index.d.ts → src/index.ts} +4 -0
- package/src/lib/animation.state.ts +6 -0
- package/src/lib/create-ws-thanos-options.ts +12 -0
- package/src/lib/random-util.ts +24 -0
- package/src/lib/simplex-noise-options.ts +9 -0
- package/src/lib/simplex-noise.ts +240 -0
- package/src/lib/ws-thanos-options.token.spec.ts +19 -0
- package/src/lib/ws-thanos-options.token.ts +20 -0
- package/src/lib/ws-thanos.directive.spec.ts +175 -0
- package/src/lib/ws-thanos.directive.ts +70 -0
- package/src/lib/ws-thanos.options.ts +5 -0
- package/src/lib/ws-thanos.service.spec.ts +9 -0
- package/src/lib/ws-thanos.service.ts +387 -0
- package/src/test-setup.ts +9 -0
- package/tsconfig.json +32 -0
- package/tsconfig.lib.json +15 -0
- package/tsconfig.lib.prod.json +10 -0
- package/tsconfig.spec.json +10 -0
- package/esm2022/index.mjs +0 -10
- package/esm2022/lib/create-ws-thanos-options.mjs +0 -9
- package/esm2022/lib/simplex-noise-options.mjs +0 -2
- package/esm2022/lib/simplex-noise.mjs +0 -194
- package/esm2022/lib/ws-thanos-options.token.mjs +0 -13
- package/esm2022/lib/ws-thanos.directive.mjs +0 -62
- package/esm2022/lib/ws-thanos.options.mjs +0 -2
- package/esm2022/lib/ws-thanos.service.mjs +0 -257
- package/esm2022/wolsok-thanos.mjs +0 -5
- package/lib/create-ws-thanos-options.d.ts +0 -2
- package/lib/simplex-noise-options.d.ts +0 -9
- package/lib/simplex-noise.d.ts +0 -18
- package/lib/ws-thanos-options.token.d.ts +0 -4
- package/lib/ws-thanos.directive.d.ts +0 -18
- package/lib/ws-thanos.options.d.ts +0 -5
- package/lib/ws-thanos.service.d.ts +0 -32
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
|
@@ -67,12 +67,12 @@ directly in html via template ref:
|
|
|
67
67
|
(wsThanosComplete)=onComplete()>
|
|
68
68
|
This div will be vaporized on click
|
|
69
69
|
</div>
|
|
70
|
-
<button (click)="thanos.
|
|
70
|
+
<button (click)="thanos.vaporizeAndScrollIntoView(removeElement)">
|
|
71
71
|
```
|
|
72
72
|
|
|
73
73
|
### `WsThanosService` usage
|
|
74
74
|
|
|
75
|
-
Inject the 'WsThanosService' into your class. Call '
|
|
75
|
+
Inject the 'WsThanosService' into your class. Call 'vaporizeAndScrollIntoView(removeElement)' and subscribe to it.
|
|
76
76
|
|
|
77
77
|
## Collaboration
|
|
78
78
|
|
|
@@ -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;
|
package/ng-package.json
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wolsok/thanos",
|
|
3
|
-
"version": "
|
|
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/
|
|
28
|
-
"@angular/core": "^16.0.0",
|
|
30
|
+
"@angular/core": "20.3.7",
|
|
29
31
|
"html2canvas": "^1.4.1",
|
|
30
|
-
"
|
|
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
|
-
"
|
|
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
|
+
}
|