fix(build): rename npmextra config to .smartconfig and update tooling dependencies
This commit is contained in:
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"json.schemas": [
|
||||
{
|
||||
"fileMatch": ["/npmextra.json"],
|
||||
"fileMatch": ["/.smartconfig.json"],
|
||||
"schema": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
||||
@@ -1,5 +1,12 @@
|
||||
# Changelog
|
||||
|
||||
## 2026-04-07 - 4.5.2 - fix(build)
|
||||
rename npmextra config to .smartconfig and update tooling dependencies
|
||||
|
||||
- replace npmextra.json with .smartconfig.json and update the published files list accordingly
|
||||
- pin @git.zone/tsbuild to ~4.3.0 to avoid the TypeScript 6 node type discovery regression
|
||||
- update test assertions to use @git.zone/tstest/tapbundle matchers after removing @push.rocks/tapbundle
|
||||
|
||||
## 2026-03-14 - 4.5.1 - fix(readme)
|
||||
refresh documentation wording and simplify README formatting
|
||||
|
||||
|
||||
17
package.json
17
package.json
@@ -12,15 +12,14 @@
|
||||
"build": "(tsbuild tsfolders --allowimplicitany)"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@git.zone/tsbuild": "^4.3.0",
|
||||
"@git.zone/tsrun": "^2.0.1",
|
||||
"@git.zone/tstest": "^3.3.2",
|
||||
"@git.zone/tsbuild": "~4.3.0",
|
||||
"@git.zone/tsrun": "^2.0.2",
|
||||
"@git.zone/tstest": "^3.6.3",
|
||||
"@push.rocks/qenv": "^6.1.3",
|
||||
"@push.rocks/tapbundle": "^6.0.3",
|
||||
"@types/node": "^22.15.29"
|
||||
"@types/node": "^25.5.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "^3.1009.0",
|
||||
"@aws-sdk/client-s3": "^3.1025.0",
|
||||
"@push.rocks/smartmime": "^2.0.4",
|
||||
"@push.rocks/smartpath": "^6.0.0",
|
||||
"@push.rocks/smartpromise": "^4.2.3",
|
||||
@@ -28,8 +27,8 @@
|
||||
"@push.rocks/smartstream": "^3.4.0",
|
||||
"@push.rocks/smartstring": "^4.1.0",
|
||||
"@push.rocks/smartunique": "^3.0.9",
|
||||
"@tsclass/tsclass": "^9.4.0",
|
||||
"minimatch": "^10.2.4"
|
||||
"@tsclass/tsclass": "^9.5.0",
|
||||
"minimatch": "^10.2.5"
|
||||
},
|
||||
"private": false,
|
||||
"files": [
|
||||
@@ -41,7 +40,7 @@
|
||||
"dist_ts_web/**/*",
|
||||
"assets/**/*",
|
||||
"cli.js",
|
||||
"npmextra.json",
|
||||
".smartconfig.json",
|
||||
"readme.md"
|
||||
],
|
||||
"browserslist": [
|
||||
|
||||
5435
pnpm-lock.yaml
generated
5435
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -4,3 +4,5 @@
|
||||
* **No *Strict methods**: All removed (fastPutStrict, getBucketByNameStrict, getFileStrict, getSubDirectoryByNameStrict)
|
||||
* metadata is handled though the MetaData class. Important!
|
||||
* **BucketWatcher** - Polling-based S3 change watcher (`bucket.createWatcher()`). Detects add/modify/delete via ETag/Size/LastModified comparison. Supports RxJS Observable pattern (`changeSubject`) and EventEmitter pattern (`on('change')`). Options: `prefix`, `pollIntervalMs`, `bufferTimeMs`, `includeInitial`, `pageSize`.
|
||||
* **@git.zone/tsbuild pin**: tsbuild is pinned to `~4.3.0` because tsbuild 4.4.0 brings TypeScript 6.0.2 which has a regression where `@types/node` is not auto-discovered when files are passed programmatically via `createProgram` (which tsbuild does internally). This causes "Cannot find name 'Buffer'", "Cannot find name 'node:path'", etc. errors throughout the codebase. Workarounds would require either modifying tsconfig to add `"types": ["node"]` or staying on tsbuild 4.3.x. We chose to pin tsbuild.
|
||||
* **Test assertions**: Use `@git.zone/tstest/tapbundle` for `tap` and `expect`. Note that smartexpect's `toEqual` does NOT support `expect.any()` matchers (only `toMatchObject` does, and only at the top level). For testing nested objects with type matchers, use `toHaveProperty` + `toBeTypeofNumber/String/Boolean` separately.
|
||||
|
||||
@@ -917,7 +917,7 @@ try {
|
||||
|
||||
## License and Legal Information
|
||||
|
||||
This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [LICENSE](./LICENSE) file.
|
||||
This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [license](./license) file.
|
||||
|
||||
**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import { expect, tap } from '@git.zone/tstest/tapbundle';
|
||||
import { jestExpect } from '@push.rocks/tapbundle/node';
|
||||
import { Qenv } from '@push.rocks/qenv';
|
||||
|
||||
import * as smartbucket from '../ts/index.js';
|
||||
@@ -68,12 +67,10 @@ tap.test('should put a file into the trash', async () => {
|
||||
expect(trashedMetaFile).toBeDefined();
|
||||
expect(trashedMetaFile).toBeInstanceOf(smartbucket.File);
|
||||
|
||||
jestExpect(await trashedMetaFile!.getJsonData()).toEqual({
|
||||
custom_recycle: {
|
||||
deletedAt: jestExpect.any(Number),
|
||||
originalPath: "trashtest/trashme.txt",
|
||||
},
|
||||
});
|
||||
const metaJsonData = await trashedMetaFile!.getJsonData() as any;
|
||||
expect(metaJsonData).toHaveProperty('custom_recycle');
|
||||
expect(metaJsonData.custom_recycle).toHaveProperty('originalPath', 'trashtest/trashme.txt');
|
||||
expect(metaJsonData.custom_recycle.deletedAt).toBeTypeofNumber();
|
||||
});
|
||||
|
||||
tap.test('should restore a file from trash', async () => {
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@push.rocks/smartbucket',
|
||||
version: '4.5.1',
|
||||
version: '4.5.2',
|
||||
description: 'A TypeScript library providing a cloud-agnostic interface for managing object storage with functionalities like bucket management, file and directory operations, and advanced features such as metadata handling and file locking.'
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user