fix(core): Improve code style and update dependencies

This commit is contained in:
Philipp Kunz 2024-11-06 17:02:29 +01:00
parent f86145f68b
commit ae015e433d
8 changed files with 42 additions and 50 deletions

View File

@ -1,5 +1,12 @@
# Changelog
## 2024-11-06 - 2.2.4 - fix(core)
Improve code style and update dependencies
- Updated @push.rocks/tapbundle to version ^5.4.3 in package.json.
- Fixed markdown formatting in readme.md.
- Improved code consistency in ts/00_commitinfo_data.ts, ts/plugins.ts, and test/test.ts.
## 2024-11-06 - 2.2.3 - fix(core)
Fix endpoint address from 'localhost' to '127.0.0.1' for better compatibility in Smarts3.getS3Descriptor

View File

@ -18,7 +18,7 @@
"@git.zone/tsbundle": "^2.1.0",
"@git.zone/tsrun": "^1.3.3",
"@git.zone/tstest": "^1.0.72",
"@push.rocks/tapbundle": "^5.4.1",
"@push.rocks/tapbundle": "^5.4.3",
"@types/node": "^22.9.0"
},
"browserslist": [

52
pnpm-lock.yaml generated
View File

@ -38,8 +38,8 @@ devDependencies:
specifier: ^1.0.72
version: 1.0.90(@aws-sdk/client-sso-oidc@3.682.0)
'@push.rocks/tapbundle':
specifier: ^5.4.1
version: 5.4.1(@aws-sdk/client-sso-oidc@3.682.0)
specifier: ^5.4.3
version: 5.4.3(@aws-sdk/client-sso-oidc@3.682.0)
'@types/node':
specifier: ^22.9.0
version: 22.9.0
@ -138,7 +138,6 @@ packages:
'@aws-crypto/util': 5.2.0
'@aws-sdk/types': 3.679.0
tslib: 2.8.1
dev: false
/@aws-crypto/crc32c@5.2.0:
resolution: {integrity: sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==}
@ -146,7 +145,6 @@ packages:
'@aws-crypto/util': 5.2.0
'@aws-sdk/types': 3.679.0
tslib: 2.8.1
dev: false
/@aws-crypto/sha1-browser@5.2.0:
resolution: {integrity: sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==}
@ -157,7 +155,6 @@ packages:
'@aws-sdk/util-locate-window': 3.679.0
'@smithy/util-utf8': 2.3.0
tslib: 2.8.1
dev: false
/@aws-crypto/sha256-browser@5.2.0:
resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==}
@ -305,7 +302,6 @@ packages:
tslib: 2.8.1
transitivePeerDependencies:
- aws-crt
dev: false
/@aws-sdk/client-sso-oidc@3.682.0(@aws-sdk/client-sts@3.682.0):
resolution: {integrity: sha512-ZPZ7Y/r/w3nx/xpPzGSqSQsB090Xk5aZZOH+WBhTDn/pBEuim09BYXCLzvvxb7R7NnuoQdrTJiwimdJAhHl7ZQ==}
@ -627,7 +623,6 @@ packages:
'@smithy/types': 3.6.0
'@smithy/util-config-provider': 3.0.0
tslib: 2.8.1
dev: false
/@aws-sdk/middleware-expect-continue@3.679.0:
resolution: {integrity: sha512-nYsh9PdWrF4EahTRdXHGlNud82RPc508CNGdh1lAGfPU3tNveGfMBX3PcGBtPOse3p9ebNKRWVmUc9eXSjGvHA==}
@ -637,7 +632,6 @@ packages:
'@smithy/protocol-http': 4.1.5
'@smithy/types': 3.6.0
tslib: 2.8.1
dev: false
/@aws-sdk/middleware-flexible-checksums@3.682.0:
resolution: {integrity: sha512-5u1STth6iZUtAvPDO0NJVYKUX2EYKU7v84MYYaZ3O27HphRjFqDos0keL2KTnHn/KmMD68rM3yiUareWR8hnAQ==}
@ -654,7 +648,6 @@ packages:
'@smithy/util-middleware': 3.0.8
'@smithy/util-utf8': 3.0.0
tslib: 2.8.1
dev: false
/@aws-sdk/middleware-host-header@3.679.0:
resolution: {integrity: sha512-y176HuQ8JRY3hGX8rQzHDSbCl9P5Ny9l16z4xmaiLo+Qfte7ee4Yr3yaAKd7GFoJ3/Mhud2XZ37fR015MfYl2w==}
@ -672,7 +665,6 @@ packages:
'@aws-sdk/types': 3.679.0
'@smithy/types': 3.6.0
tslib: 2.8.1
dev: false
/@aws-sdk/middleware-logger@3.679.0:
resolution: {integrity: sha512-0vet8InEj7nvIvGKk+ch7bEF5SyZ7Us9U7YTEgXPrBNStKeRUsgwRm0ijPWWd0a3oz2okaEwXsFl7G/vI0XiEA==}
@ -709,7 +701,6 @@ packages:
'@smithy/util-stream': 3.2.1
'@smithy/util-utf8': 3.0.0
tslib: 2.8.1
dev: false
/@aws-sdk/middleware-ssec@3.679.0:
resolution: {integrity: sha512-4GNUxXbs1M71uFHRiCAZtN0/g23ogI9YjMe5isAuYMHXwDB3MhqF7usKf954mBP6tplvN44vYlbJ84faaLrTtg==}
@ -718,7 +709,6 @@ packages:
'@aws-sdk/types': 3.679.0
'@smithy/types': 3.6.0
tslib: 2.8.1
dev: false
/@aws-sdk/middleware-user-agent@3.682.0:
resolution: {integrity: sha512-7TyvYR9HdGH1/Nq0eeApUTM4izB6rExiw87khVYuJwZHr6FmvIL1FsOVFro/4WlXa0lg4LiYOm/8H8dHv+fXTg==}
@ -753,7 +743,6 @@ packages:
'@smithy/signature-v4': 4.2.1
'@smithy/types': 3.6.0
tslib: 2.8.1
dev: false
/@aws-sdk/token-providers@3.679.0(@aws-sdk/client-sso-oidc@3.682.0):
resolution: {integrity: sha512-1/+Zso/x2jqgutKixYFQEGli0FELTgah6bm7aB+m2FAWH4Hz7+iMUsazg6nSWm714sG9G3h5u42Dmpvi9X6/hA==}
@ -780,7 +769,6 @@ packages:
engines: {node: '>=16.0.0'}
dependencies:
tslib: 2.8.1
dev: false
/@aws-sdk/util-endpoints@3.679.0:
resolution: {integrity: sha512-YL6s4Y/1zC45OvddvgE139fjeWSKKPgLlnfrvhVL7alNyY9n7beR4uhoDpNrt5mI6sn9qiBF17790o+xLAXjjg==}
@ -826,7 +814,6 @@ packages:
dependencies:
'@smithy/types': 3.6.0
tslib: 2.8.1
dev: false
/@babel/code-frame@7.26.2:
resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
@ -1424,7 +1411,7 @@ packages:
'@push.rocks/smartlog': 3.0.7
'@push.rocks/smartpromise': 4.0.4
'@push.rocks/smartshell': 3.0.6
'@push.rocks/tapbundle': 5.4.1(@aws-sdk/client-sso-oidc@3.682.0)
'@push.rocks/tapbundle': 5.4.3(@aws-sdk/client-sso-oidc@3.682.0)
'@types/ws': 8.5.13
figures: 6.1.0
ws: 8.18.0
@ -1742,7 +1729,6 @@ packages:
'@tsclass/tsclass': 4.1.2
transitivePeerDependencies:
- aws-crt
dev: false
/@push.rocks/smartbuffer@3.0.4:
resolution: {integrity: sha512-TLfhx/JD61YC8XGO9TI6Ux6US38R14HaIM84QT8hZZod8axfXrg+h8xA8tMUBpSV8PXsQy9LzxmOq0Il1fmDXw==}
@ -2124,16 +2110,17 @@ packages:
'@push.rocks/smartpromise': 4.0.4
rxjs: 7.8.1
/@push.rocks/smarts3@2.2.1:
resolution: {integrity: sha512-4VkGXyFmX7tZzDt67ejyxX4GUEoq/eDNKby5ReK5yvRmeI2WW29Y/TmovBAuNnirrRM4fw437g76lMVrEqZf1g==}
/@push.rocks/smarts3@2.2.3:
resolution: {integrity: sha512-8OxbL6Fzcv+TTU9bcdU+s4rWdJtiXSzFXFI8ANptUYx2LbkA6AebmiLRDlGDnxBkeDp3TL113Ou+PJoTy5D7Hg==}
dependencies:
'@push.rocks/smartbucket': 2.0.4
'@push.rocks/smartfile': 10.0.41
'@push.rocks/smartbucket': 3.0.23
'@push.rocks/smartfile': 11.0.21
'@push.rocks/smartpath': 5.0.18
'@tsclass/tsclass': 4.1.2
'@types/s3rver': 3.7.4
s3rver: 3.7.1
transitivePeerDependencies:
- aws-crt
- supports-color
dev: true
@ -2277,8 +2264,8 @@ packages:
js-yaml: 3.14.1
dev: true
/@push.rocks/tapbundle@5.4.1(@aws-sdk/client-sso-oidc@3.682.0):
resolution: {integrity: sha512-1Jw5cGUqaIG5jAZuq4OxOJ64WrUlA882NwfoXwI0YNMXVvIHTWgGsjUJw7I0YN4Qvh5shnFlDEPKhU2zV020Ww==}
/@push.rocks/tapbundle@5.4.3(@aws-sdk/client-sso-oidc@3.682.0):
resolution: {integrity: sha512-8s8UMHW6gmhVGp4wucnPOiPEegaVZBcKQb+dQ8rclRm2qxipsshfKvsYw48R6ZxAFllwSicMm+xaPlpP31/mJg==}
dependencies:
'@open-wc/testing': 4.0.0
'@push.rocks/consolecolor': 2.0.2
@ -2290,7 +2277,7 @@ packages:
'@push.rocks/smartjson': 5.0.20
'@push.rocks/smartmongo': 2.0.10(@aws-sdk/client-sso-oidc@3.682.0)
'@push.rocks/smartpromise': 4.0.4
'@push.rocks/smarts3': 2.2.1
'@push.rocks/smarts3': 2.2.3
'@push.rocks/smartshell': 3.0.6
'@push.rocks/smarttime': 4.0.8
transitivePeerDependencies:
@ -2662,13 +2649,11 @@ packages:
dependencies:
'@smithy/util-base64': 3.0.0
tslib: 2.8.1
dev: false
/@smithy/chunked-blob-reader@4.0.0:
resolution: {integrity: sha512-jSqRnZvkT4egkq/7b6/QRCNXmmYVcHwnJldqJ3IhVpQE2atObVJ137xmGeuGFhjFUr8gCEVAOKwSY79OvpbDaQ==}
dependencies:
tslib: 2.8.1
dev: false
/@smithy/config-resolver@3.0.10:
resolution: {integrity: sha512-Uh0Sz9gdUuz538nvkPiyv1DZRX9+D15EKDtnQP5rYVAzM/dnYk3P8cg73jcxyOitPgT3mE3OVj7ky7sibzHWkw==}
@ -2710,7 +2695,6 @@ packages:
'@smithy/types': 3.6.0
'@smithy/util-hex-encoding': 3.0.0
tslib: 2.8.1
dev: false
/@smithy/eventstream-serde-browser@3.0.11:
resolution: {integrity: sha512-Pd1Wnq3CQ/v2SxRifDUihvpXzirJYbbtXfEnnLV/z0OGCTx/btVX74P86IgrZkjOydOASBGXdPpupYQI+iO/6A==}
@ -2719,7 +2703,6 @@ packages:
'@smithy/eventstream-serde-universal': 3.0.10
'@smithy/types': 3.6.0
tslib: 2.8.1
dev: false
/@smithy/eventstream-serde-config-resolver@3.0.8:
resolution: {integrity: sha512-zkFIG2i1BLbfoGQnf1qEeMqX0h5qAznzaZmMVNnvPZz9J5AWBPkOMckZWPedGUPcVITacwIdQXoPcdIQq5FRcg==}
@ -2727,7 +2710,6 @@ packages:
dependencies:
'@smithy/types': 3.6.0
tslib: 2.8.1
dev: false
/@smithy/eventstream-serde-node@3.0.10:
resolution: {integrity: sha512-hjpU1tIsJ9qpcoZq9zGHBJPBOeBGYt+n8vfhDwnITPhEre6APrvqq/y3XMDEGUT2cWQ4ramNqBPRbx3qn55rhw==}
@ -2736,7 +2718,6 @@ packages:
'@smithy/eventstream-serde-universal': 3.0.10
'@smithy/types': 3.6.0
tslib: 2.8.1
dev: false
/@smithy/eventstream-serde-universal@3.0.10:
resolution: {integrity: sha512-ewG1GHbbqsFZ4asaq40KmxCmXO+AFSM1b+DcO2C03dyJj/ZH71CiTg853FSE/3SHK9q3jiYQIFjlGSwfxQ9kww==}
@ -2745,7 +2726,6 @@ packages:
'@smithy/eventstream-codec': 3.1.7
'@smithy/types': 3.6.0
tslib: 2.8.1
dev: false
/@smithy/fetch-http-handler@3.2.9:
resolution: {integrity: sha512-hYNVQOqhFQ6vOpenifFME546f0GfJn2OiQ3M0FDmuUu8V/Uiwy2wej7ZXxFBNqdx0R5DZAqWM1l6VRhGz8oE6A==}
@ -2772,7 +2752,6 @@ packages:
'@smithy/chunked-blob-reader-native': 3.0.1
'@smithy/types': 3.6.0
tslib: 2.8.1
dev: false
/@smithy/hash-node@3.0.8:
resolution: {integrity: sha512-tlNQYbfpWXHimHqrvgo14DrMAgUBua/cNoz9fMYcDmYej7MAmUcjav/QKQbFc3NrcPxeJ7QClER4tWZmfwoPng==}
@ -2790,7 +2769,6 @@ packages:
'@smithy/types': 3.6.0
'@smithy/util-utf8': 3.0.0
tslib: 2.8.1
dev: false
/@smithy/invalid-dependency@3.0.8:
resolution: {integrity: sha512-7Qynk6NWtTQhnGTTZwks++nJhQ1O54Mzi7fz4PqZOiYXb4Z1Flpb2yRvdALoggTS8xjtohWUM+RygOtB30YL3Q==}
@ -2816,7 +2794,6 @@ packages:
'@smithy/types': 3.6.0
'@smithy/util-utf8': 3.0.0
tslib: 2.8.1
dev: false
/@smithy/middleware-content-length@3.0.10:
resolution: {integrity: sha512-T4dIdCs1d/+/qMpwhJ1DzOhxCZjZHbHazEPJWdB4GDi2HjIZllVzeBEcdJUN0fomV8DURsgOyrbEUzg3vzTaOg==}
@ -3096,7 +3073,6 @@ packages:
'@smithy/abort-controller': 3.1.6
'@smithy/types': 3.6.0
tslib: 2.8.1
dev: false
/@socket.io/component-emitter@3.1.2:
resolution: {integrity: sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==}
@ -3592,8 +3568,8 @@ packages:
errorstacks: 2.4.1
dev: true
/@web/dev-server-core@0.7.3:
resolution: {integrity: sha512-GS+Ok6HiqNZOsw2oEv5V2OISZ2s/6icJodyGjUuD3RChr0G5HiESbKf2K8mZV4shTz9sRC9KSQf8qvno2gPKrQ==}
/@web/dev-server-core@0.7.4:
resolution: {integrity: sha512-nHSNrJ1J9GjmSceKNHpWRMjvpfE2NTV9EYUffPIr7j0sIV59gK7NI/4+9slotJ/ODXw0+e1gSeJshTOhjjVNxQ==}
engines: {node: '>=18.0.0'}
dependencies:
'@types/koa': 2.15.0
@ -3652,7 +3628,7 @@ packages:
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
'@web/browser-logs': 0.4.0
'@web/dev-server-core': 0.7.3
'@web/dev-server-core': 0.7.4
chokidar: 4.0.1
cli-cursor: 3.1.0
co-body: 6.2.0

View File

@ -1,4 +1,4 @@
```markdown
````markdown
# @push.rocks/smarts3
A Node.js TypeScript package to create a local S3 endpoint for development and testing using mapped local directories, simulating AWS S3.
@ -10,6 +10,7 @@ To integrate `@push.rocks/smarts3` with your project, you need to install it via
```sh
npm install @push.rocks/smarts3 --save
```
````
This command will add `@push.rocks/smarts3` as a dependency in your project's `package.json` file and download the package into the `node_modules` directory.
@ -70,6 +71,7 @@ startServer().catch(console.error);
```
**Parameters:**
- **Port**: Specify the port for the local S3 server. Defaults to `3000`.
- **CleanSlate**: If `true`, clears the storage directory each time the server starts, providing a fresh test state.
@ -95,7 +97,12 @@ Uploading files to a bucket uses the `SmartBucket` module, part of the `@push.ro
```typescript
import { SmartBucket } from '@push.rocks/smartbucket';
async function uploadFile(smarts3Instance: Smarts3, bucketName: string, filePath: string, fileContent: string) {
async function uploadFile(
smarts3Instance: Smarts3,
bucketName: string,
filePath: string,
fileContent: string,
) {
const s3Descriptor = await smarts3Instance.getS3Descriptor();
const smartbucketInstance = new SmartBucket(s3Descriptor);
const bucket = await smartbucketInstance.getBucket(bucketName);
@ -163,7 +170,6 @@ startServer()
#### Development and Testing
1. **Feature Development:** Use `@push.rocks/smarts3` to simulate file upload endpoints, ensuring your application handles file operations correctly before going live.
2. **Continuous Integration/Continuous Deployment (CI/CD):** Integrate with CI/CD pipelines to automatically test file interactions.
3. **Data Migration Testing:** Simulate data migrations between buckets to perfect processes before implementation on actual S3.
@ -189,6 +195,7 @@ startServer()
```
In this guide, we walked through setting up and fully utilizing the `@push.rocks/smarts3` package for local development and testing. The package simulates AWS S3 operations, reducing dependency on remote services and allowing efficient development iteration cycles. By implementing the practices and scripts shared here, you can ensure a seamless and productive development experience using the local S3 simulation capabilities of `@push.rocks/smarts3`.
```
## License and Legal Information
@ -209,3 +216,4 @@ Registered at District court Bremen HRB 35230 HB, Germany
For any legal inquiries or if you require further information, please contact us via email at hello@task.vc.
By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.
```

View File

@ -22,7 +22,7 @@ tap.test('should be able to access buckets', async () => {
const baseDirectory = await bucket.getBaseDirectory();
await baseDirectory.fastPut({
path: 'subdir/hello.txt',
contents: 'hi there!'
contents: 'hi there!',
});
});

View File

@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@push.rocks/smarts3',
version: '2.2.3',
version: '2.2.4',
description: 'A Node.js TypeScript package to create a local S3 endpoint for simulating AWS S3 operations using mapped local directories for development and testing purposes.'
}

View File

@ -15,7 +15,6 @@ import * as tsclass from '@tsclass/tsclass';
export { tsclass };
// thirdparty scope
import s3rver from 's3rver';

View File

@ -6,7 +6,9 @@
"module": "NodeNext",
"moduleResolution": "NodeNext",
"esModuleInterop": true,
"verbatimModuleSyntax": true
"verbatimModuleSyntax": true,
"baseUrl": ".",
"paths": {}
},
"exclude": [
"dist_*/**/*.d.ts"