neozip-cli 0.75.2-beta โ 0.90.0
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 +78 -0
- package/DOCUMENTATION.md +20 -9
- package/README.md +55 -31
- package/dist/src/commands/mintTimestampProof.js +335 -0
- package/dist/src/commands/verifyEmail.js +146 -0
- package/dist/src/config/ConfigSetup.js +50 -20
- package/dist/src/config/ConfigStore.js +36 -3
- package/dist/src/index.js +1 -1
- package/dist/src/neolist.js +25 -11
- package/dist/src/neounzip.js +324 -66
- package/dist/src/neozip/blockchain.js +5 -5
- package/dist/src/neozip/createZip.js +211 -44
- package/dist/src/neozip/upgradeZip.js +182 -0
- package/dist/src/neozip.js +160 -24
- package/env.example +10 -0
- package/package.json +97 -82
- package/dist/neozipkit-bundles/blockchain.js +0 -13725
- package/dist/neozipkit-bundles/browser.js +0 -6186
- package/dist/neozipkit-bundles/core.js +0 -3839
- package/dist/neozipkit-bundles/node.js +0 -17730
- package/dist/neozipkit-wrappers/blockchain/core/contracts.js +0 -16
- package/dist/neozipkit-wrappers/blockchain/index.js +0 -2
- package/dist/neozipkit-wrappers/core/ZipDecompress.js +0 -2
- package/dist/neozipkit-wrappers/core/components/HashCalculator.js +0 -2
- package/dist/neozipkit-wrappers/core/components/Logger.js +0 -2
- package/dist/neozipkit-wrappers/core/constants/Errors.js +0 -2
- package/dist/neozipkit-wrappers/core/constants/Headers.js +0 -2
- package/dist/neozipkit-wrappers/core/encryption/ZipCrypto.js +0 -7
- package/dist/neozipkit-wrappers/core/index.js +0 -3
- package/dist/neozipkit-wrappers/index.js +0 -13
- package/dist/neozipkit-wrappers/node/index.js +0 -2
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "neozip-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.90.0",
|
|
4
|
+
"release_date": "2026-03-18",
|
|
4
5
|
"description": "A full-featured command-line ZIP application with NeoZipKit integration",
|
|
5
6
|
"main": "dist/src/index.js",
|
|
6
7
|
"bin": {
|
|
@@ -10,8 +11,6 @@
|
|
|
10
11
|
},
|
|
11
12
|
"files": [
|
|
12
13
|
"dist/src/**/*.js",
|
|
13
|
-
"dist/neozipkit-bundles/*.js",
|
|
14
|
-
"dist/neozipkit-wrappers/**/*.js",
|
|
15
14
|
"bin/",
|
|
16
15
|
"env.example",
|
|
17
16
|
"README.md",
|
|
@@ -25,94 +24,108 @@
|
|
|
25
24
|
"access": "public"
|
|
26
25
|
},
|
|
27
26
|
"scripts": {
|
|
28
|
-
"start": "npx ts-node src/neozip.ts output/calgary.nzip
|
|
29
|
-
"dev": "npx ts-node --inspect src/neozip.ts output/calgary.nzip
|
|
30
|
-
"build": "echo '๐จ Building TypeScript...' && tsc --pretty && echo '๐งน Removing neozipkit from dist (
|
|
27
|
+
"start": "npx ts-node src/neozip.ts tests/output/calgary.nzip tests/fixtures/calgary/*",
|
|
28
|
+
"dev": "npx ts-node --inspect src/neozip.ts tests/output/calgary.nzip tests/fixtures/calgary/*",
|
|
29
|
+
"build": "echo '๐จ Building TypeScript...' && tsc --pretty && echo '๐งน Removing neozipkit from dist (if present)...' && rm -rf dist/neozipkit && echo 'โ
Build completed successfully!'",
|
|
31
30
|
"build:clean": "echo '๐งน Cleaning dist directory...' && rm -rf dist && echo '๐จ Building TypeScript...' && tsc --pretty && echo 'โ
Clean build completed successfully!'",
|
|
32
|
-
"build:neozipkit": "echo '๐จ Building neozipkit...' && cd neozipkit && npm run build && cd .. && echo 'โ
neozipkit build completed successfully!'",
|
|
33
|
-
"bundle:neozipkit": "echo '๐ฆ Bundling neozipkit...' && node scripts/bundle-neozipkit.js",
|
|
34
|
-
"rebuild:neozipkit": "npm run build:neozipkit && npm run bundle:neozipkit && echo 'โ
neozipkit rebuild and bundle completed successfully!'",
|
|
35
|
-
"build:all": "npm run rebuild:neozipkit && npm run build",
|
|
36
|
-
"dev:neozipkit": "echo '๐ Watching neozipkit for changes...' && cd ../neozipkit && npm run watch",
|
|
37
31
|
"type-check": "tsc --noEmit",
|
|
38
|
-
"clean": "rm -rf
|
|
32
|
+
"clean": "rm -rf dist/* tests/output/*",
|
|
39
33
|
"pack": "npm run build && echo '๐ฆ Creating package tarball...' && npm pack && echo 'โ
Package created successfully!'",
|
|
40
34
|
"pack:dry-run": "npm run build && echo '๐ฆ Previewing package contents...' && npm pack --dry-run",
|
|
41
35
|
"pack:clean": "rm -f neozip-cli-*.tgz && echo '๐งน Cleaned up package tarballs'",
|
|
42
36
|
"package": "npm run build && npm run pack",
|
|
43
37
|
"prepublishOnly": "npm run build",
|
|
44
|
-
"neozip": "npx ts-node src/neozip.ts -b -T output/calgary.nzip
|
|
45
|
-
"neozip-sepolia": "npx ts-node src/neozip.ts -b -T --network sepolia-testnet output/calgary.nzip
|
|
46
|
-
"neozip-base-sepolia": "npx ts-node src/neozip.ts -b -T --network base-sepolia output/calgary.nzip
|
|
47
|
-
"neozip-base": "npx ts-node src/neozip.ts -b -T --network base-mainnet output/calgary.nzip
|
|
48
|
-
"neozip-arbitrum-sepolia": "npx ts-node src/neozip.ts -b -T --network arbitrum-sepolia output/calgary.nzip
|
|
49
|
-
"neozip-arbitrum": "npx ts-node src/neozip.ts -b -T --network arbitrum-one output/calgary.nzip
|
|
50
|
-
"neozip-deflate": "npx ts-node src/neozip.ts --deflate -T output/calgary.nzip
|
|
51
|
-
"neozip-inmem": "npx ts-node src/neozip.ts -b --in-memory -T output/calgary.nzip
|
|
52
|
-
"neozip-store": "npx ts-node src/neozip.ts --level 0 -T output/calgary-stored.nzip
|
|
53
|
-
"neozip-ots": "npx ts-node src/neozip.ts -ots -T output/calgary-ots.nzip
|
|
54
|
-
"neozip-
|
|
55
|
-
"neozip-
|
|
56
|
-
"neozip-
|
|
57
|
-
"neozip-sm": "npx ts-node src/neozip.ts -T output/
|
|
38
|
+
"neozip": "npx ts-node src/neozip.ts -b -T tests/output/calgary.nzip tests/fixtures/calgary/*",
|
|
39
|
+
"neozip-sepolia": "npx ts-node src/neozip.ts -b -T --network sepolia-testnet tests/output/calgary.nzip tests/fixtures/calgary/*",
|
|
40
|
+
"neozip-base-sepolia": "npx ts-node src/neozip.ts -b -T --network base-sepolia tests/output/calgary.nzip tests/fixtures/calgary/*",
|
|
41
|
+
"neozip-base": "npx ts-node src/neozip.ts -b -T --network base-mainnet tests/output/calgary.nzip tests/fixtures/calgary/*",
|
|
42
|
+
"neozip-arbitrum-sepolia": "npx ts-node src/neozip.ts -b -T --network arbitrum-sepolia tests/output/calgary.nzip tests/fixtures/calgary/*",
|
|
43
|
+
"neozip-arbitrum": "npx ts-node src/neozip.ts -b -T --network arbitrum-one tests/output/calgary.nzip tests/fixtures/calgary/*",
|
|
44
|
+
"neozip-deflate": "npx ts-node src/neozip.ts --deflate -T tests/output/calgary.nzip tests/fixtures/calgary/*",
|
|
45
|
+
"neozip-inmem": "npx ts-node src/neozip.ts -b --in-memory -T tests/output/calgary.nzip tests/fixtures/calgary/*",
|
|
46
|
+
"neozip-store": "npx ts-node src/neozip.ts --level 0 -T tests/output/calgary-stored.nzip tests/fixtures/calgary/*",
|
|
47
|
+
"neozip-ots": "npx ts-node src/neozip.ts -ots -T tests/output/calgary-ots.nzip tests/fixtures/calgary/*",
|
|
48
|
+
"neozip-stamp": "npx ts-node src/neozip.ts -ts -T tests/output/calgary-stamp.nzip tests/fixtures/calgary/*",
|
|
49
|
+
"neozip-mint": "node dist/src/neozip.js mint -o tests/output/calgary-stamp-upgrade.nzip tests/output/calgary-stamp-nft.nzip",
|
|
50
|
+
"neozip-encrypt": "npx ts-node src/neozip.ts --pkzip -P 'pass123' -T tests/output/calgary-encrypted.nzip tests/fixtures/calgary/*",
|
|
51
|
+
"neozip-encrypt-sm": "npx ts-node src/neozip.ts --pkzip -P 'pass123' -T tests/output/encrypted-sm.nzip tests/fixtures/test-sm/*",
|
|
52
|
+
"neozip-encrypt-aes": "npx ts-node src/neozip.ts -e -P 'pass123' tests/output/calgary-encrypted-aes.nzip tests/fixtures/calgary/*",
|
|
53
|
+
"neozip-encrypt-aes-sm": "npx ts-node src/neozip.ts -e -P 'pass123' tests/output/encrypted-aes-sm.nzip tests/fixtures/test-sm/*",
|
|
54
|
+
"neozip-encrypt-aes-explicit": "npx ts-node src/neozip.ts --aes256 -P 'pass123' tests/output/calgary-encrypted-aes-explicit.nzip tests/fixtures/calgary/*",
|
|
55
|
+
"neozip-update": "node tests/scripts/test-update-option.js",
|
|
56
|
+
"neozip-sm": "npx ts-node src/neozip.ts -T tests/output/test-sm.nzip tests/fixtures/test-sm/*",
|
|
58
57
|
"neozip-init": "npx ts-node src/neozip.ts init",
|
|
59
58
|
"neozip-config": "npx ts-node src/neozip.ts config",
|
|
59
|
+
"verify-email": "node dist/src/neozip.js verify-email",
|
|
60
60
|
"neozip-help": "npx ts-node src/neozip.ts --help",
|
|
61
|
-
"neounzip": "npx ts-node src/neounzip.ts output/calgary.nzip -t",
|
|
62
|
-
"neounzip-inmem": "npx ts-node src/neounzip.ts --in-memory -l output/calgary.nzip -t",
|
|
63
|
-
"neounzip-bad": "npx ts-node src/neounzip.ts output/calgary-bad.nzip -t",
|
|
64
|
-
"neounzip-bad-inmem": "npx ts-node src/neounzip.ts --in-memory output/calgary-bad.nzip -t",
|
|
65
|
-
"neounzip-sm": "npx ts-node src/neounzip.ts -o output/test-sm.nzip",
|
|
66
|
-
"neounzip-skip-blockchain": "npx ts-node src/neounzip.ts --skip-blockchain output/calgary.nzip -t",
|
|
67
|
-
"neounzip-lg": "npx ts-node src/neounzip.ts output/large.nzip -t",
|
|
68
|
-
"neounzip-
|
|
69
|
-
"neounzip-
|
|
70
|
-
"neounzip-
|
|
71
|
-
"neounzip-
|
|
72
|
-
"neounzip-
|
|
73
|
-
"neounzip-decrypt
|
|
74
|
-
"neounzip-decrypt-
|
|
75
|
-
"neounzip-decrypt-
|
|
76
|
-
"neounzip-decrypt-
|
|
61
|
+
"neounzip": "npx ts-node src/neounzip.ts tests/output/calgary.nzip -t",
|
|
62
|
+
"neounzip-inmem": "npx ts-node src/neounzip.ts --in-memory -l tests/output/calgary.nzip -t",
|
|
63
|
+
"neounzip-bad": "npx ts-node src/neounzip.ts tests/output/calgary-bad.nzip -t",
|
|
64
|
+
"neounzip-bad-inmem": "npx ts-node src/neounzip.ts --in-memory tests/output/calgary-bad.nzip -t",
|
|
65
|
+
"neounzip-sm": "npx ts-node src/neounzip.ts -o tests/output/test-sm.nzip",
|
|
66
|
+
"neounzip-skip-blockchain": "npx ts-node src/neounzip.ts --skip-blockchain tests/output/calgary.nzip -t",
|
|
67
|
+
"neounzip-lg": "npx ts-node src/neounzip.ts tests/output/large.nzip -t",
|
|
68
|
+
"neounzip-stamp": "npx ts-node src/neounzip.ts tests/output/calgary-stamp.nzip -t",
|
|
69
|
+
"neounzip-stamp-upgrade": "npx ts-node src/neounzip.ts tests/output/calgary-stamp-upgrade.nzip -t",
|
|
70
|
+
"neounzip-ots": "npx ts-node src/neounzip.ts tests/output/calgary-ots.nzip -t",
|
|
71
|
+
"neounzip-ots-skip-blockchain": "npx ts-node src/neounzip.ts --skip-blockchain tests/output/calgary-ots.nzip -t",
|
|
72
|
+
"neounzip-streaming": "npx ts-node src/neounzip.ts --buffer-size 16384 --verbose tests/output/merged-test.nzip -t",
|
|
73
|
+
"neounzip-decrypt": "npx ts-node src/neounzip.ts --password 'pass123' tests/output/calgary-encrypted.nzip -t",
|
|
74
|
+
"neounzip-decrypt-inmem": "npx ts-node src/neounzip.ts --in-memory --password 'pass123' tests/output/calgary-encrypted.nzip -t",
|
|
75
|
+
"neounzip-decrypt-stored": "npx ts-node src/neounzip.ts --in-memory --password 'pass123' tests/output/calgary-encrypted-stored.nzip -t",
|
|
76
|
+
"neounzip-decrypt-sm": "npx ts-node src/neounzip.ts --password 'pass123' tests/output/encrypted-sm.nzip -t",
|
|
77
|
+
"neounzip-decrypt-sm-inmem": "npx ts-node src/neounzip.ts --in-memory --password 'pass123' tests/output/encrypted-sm.nzip -t",
|
|
78
|
+
"neounzip-decrypt-pkzip": "npx ts-node src/neounzip.ts --pkzip-decrypt --password 'legacy-test-123' tests/output/calgary-pkzip.nzip -t",
|
|
79
|
+
"neounzip-decrypt-aes": "npx ts-node src/neounzip.ts --password 'pass123' tests/output/calgary-encrypted-aes.nzip -t",
|
|
80
|
+
"neounzip-decrypt-aes-inmem": "npx ts-node src/neounzip.ts --in-memory --password 'pass123' tests/output/calgary-encrypted-aes.nzip -t",
|
|
81
|
+
"neounzip-decrypt-aes-sm": "npx ts-node src/neounzip.ts --password 'pass123' tests/output/encrypted-aes-sm.nzip -t",
|
|
77
82
|
"neounzip-help": "npx ts-node src/neounzip.ts --help",
|
|
78
|
-
"neolist": "npx ts-node src/neolist.ts output/calgary.nzip",
|
|
79
|
-
"neolist-inmem": "npx ts-node src/neolist.ts --in-memory output/calgary.nzip",
|
|
80
|
-
"neolist-basic": "npx ts-node src/neolist.ts -b output/calgary.nzip",
|
|
81
|
-
"neolist-verbose": "npx ts-node src/neolist.ts -v output/calgary.nzip",
|
|
82
|
-
"neolist-demo": "npx ts-node src/neolist.ts output/calgary.nzip",
|
|
83
|
-
"neolist-short": "npx ts-node src/neolist.ts -s output/calgary.nzip",
|
|
84
|
-
"neolist-unix": "npx ts-node src/neolist.ts -u output/calgary.nzip",
|
|
85
|
-
"neolist-json": "npx ts-node src/neolist.ts -j output/calgary.nzip",
|
|
86
|
-
"neolist-zip64": "npx ts-node src/neolist.ts
|
|
83
|
+
"neolist": "npx ts-node src/neolist.ts tests/output/calgary.nzip",
|
|
84
|
+
"neolist-inmem": "npx ts-node src/neolist.ts --in-memory tests/output/calgary.nzip",
|
|
85
|
+
"neolist-basic": "npx ts-node src/neolist.ts -b tests/output/calgary.nzip",
|
|
86
|
+
"neolist-verbose": "npx ts-node src/neolist.ts -v tests/output/calgary.nzip",
|
|
87
|
+
"neolist-demo": "npx ts-node src/neolist.ts tests/output/calgary.nzip",
|
|
88
|
+
"neolist-short": "npx ts-node src/neolist.ts -s tests/output/calgary.nzip",
|
|
89
|
+
"neolist-unix": "npx ts-node src/neolist.ts -u tests/output/calgary.nzip",
|
|
90
|
+
"neolist-json": "npx ts-node src/neolist.ts -j tests/output/calgary.nzip",
|
|
91
|
+
"neolist-zip64": "npx ts-node src/neolist.ts tests/fixtures/calgary-zip64.zip",
|
|
92
|
+
"neolist-stamp": "npx ts-node src/neolist.ts tests/output/calgary-stamp.nzip",
|
|
93
|
+
"neolist-stamp-upgrade": "npx ts-node src/neolist.ts tests/output/calgary-stamp-upgrade.nzip",
|
|
94
|
+
"neolist-encrypted-aes": "npx ts-node src/neolist.ts -v tests/output/calgary-encrypted-aes.nzip",
|
|
87
95
|
"neolist-help": "npx ts-node src/neolist.ts --help",
|
|
88
|
-
"infozip-encrypt-zip": "zip -e -P 'pass123' -r
|
|
89
|
-
"infozip-encrypt-sm": "zip -e -P 'pass123' -0
|
|
90
|
-
"infozip-encrypt-stored": "zip -e -P 'pass123' -0
|
|
91
|
-
"infozip-decrypt-zip": "unzip -P 'pass123' -t
|
|
92
|
-
"infozip-decrypt-sm": "unzip -P 'pass123' -t
|
|
93
|
-
"test": "node
|
|
94
|
-
"test:verbose": "node
|
|
95
|
-
"test:help": "node
|
|
96
|
-
"test:comprehensive": "node
|
|
97
|
-
"test:neozip": "node
|
|
98
|
-
"test:neounzip": "node
|
|
99
|
-
"test:neolist": "node
|
|
100
|
-
"test:encryption": "npm run neozip-encrypt && npm run neounzip-decrypt && echo 'โ
All encryption tests completed successfully!'",
|
|
101
|
-
"test:
|
|
102
|
-
"test:
|
|
103
|
-
"test:
|
|
104
|
-
"test:
|
|
105
|
-
"test:
|
|
106
|
-
"test:
|
|
107
|
-
"test:
|
|
108
|
-
"test:
|
|
109
|
-
"test:
|
|
110
|
-
"test:
|
|
111
|
-
"test:
|
|
112
|
-
"test:
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"switch:neozipkit:
|
|
96
|
+
"infozip-encrypt-zip": "zip -e -P 'pass123' -r tests/fixtures/infozip/calgary-encrypted.zip tests/fixtures/calgary/*",
|
|
97
|
+
"infozip-encrypt-sm": "zip -e -P 'pass123' -0 tests/fixtures/infozip/encrypted-sm.zip tests/fixtures/test-sm/*",
|
|
98
|
+
"infozip-encrypt-stored": "zip -e -P 'pass123' -0 tests/fixtures/infozip/calgary-encrypted-stored.zip tests/fixtures/calgary/bib",
|
|
99
|
+
"infozip-decrypt-zip": "unzip -P 'pass123' -t tests/fixtures/infozip/calgary-encrypted.zip",
|
|
100
|
+
"infozip-decrypt-sm": "unzip -P 'pass123' -t tests/fixtures/infozip/encrypted-sm.zip",
|
|
101
|
+
"test": "node tests/scripts/test-runner.js",
|
|
102
|
+
"test:verbose": "node tests/scripts/test-runner.js --verbose",
|
|
103
|
+
"test:help": "node tests/scripts/test-runner.js --help",
|
|
104
|
+
"test:comprehensive": "node tests/scripts/comprehensive/run-all-tests.js",
|
|
105
|
+
"test:neozip": "node tests/scripts/comprehensive/test-neozip-options.js",
|
|
106
|
+
"test:neounzip": "node tests/scripts/comprehensive/test-neounzip-options.js",
|
|
107
|
+
"test:neolist": "node tests/scripts/comprehensive/test-neolist-options.js",
|
|
108
|
+
"test:encryption": "npm run neozip-encrypt-aes && npm run neounzip-decrypt-aes && npm run neozip-encrypt && npm run neounzip-decrypt && echo 'โ
All encryption tests (AES-256 + PKZIP) completed successfully!'",
|
|
109
|
+
"test:encryption-aes": "npm run neozip-encrypt-aes && npm run neounzip-decrypt-aes && npm run neounzip-decrypt-aes-inmem && echo 'โ
AES-256 encryption tests completed successfully!'",
|
|
110
|
+
"test:stamp": "echo '=== Testing Timestamp Support ===' && npm run neozip-ots && npm run neounzip-ots && echo '' && echo '--- Zipstamp (may fail if server unreachable) ---' && (npm run neozip-zipstamp && npm run neounzip-zipstamp && echo 'โ
Zipstamp tests completed') || echo 'โ ๏ธ Zipstamp skipped (server may be unreachable)' && echo '' && echo 'โ
Timestamp tests completed successfully!'",
|
|
111
|
+
"test:infozip-decrypt": "npx ts-node tests/scripts/test-infozip-decrypt.ts",
|
|
112
|
+
"test:comments": "node tests/scripts/comprehensive/test-comments-options.js",
|
|
113
|
+
"test:update": "node tests/scripts/test-update-option.js",
|
|
114
|
+
"test:symlinks": "echo '=== Testing Symbolic Links ===' && rm -rf tests/output/symlinks-temp && rm -rf tests/output/symlinks* 2>/dev/null; rm -rf tests/output/symlinks*.nzip 2>/dev/null; mkdir -p tests/output/symlinks-temp && echo 'This is the target file content' > tests/output/symlinks-temp/target.txt && ln -sf target.txt tests/output/symlinks-temp/symlink.txt && echo -e '\\n--- Original files ---' && ls -la tests/output/symlinks-temp/ && echo -e '\\n--- Creating ZIP with -y (store symlinks) ---' && npx ts-node src/neozip.ts -y tests/output/symlinks-test.nzip tests/output/symlinks-temp/* && echo -e '\\n--- Extracting with -y (restore symlinks) ---' && mkdir -p tests/output/symlinks && npx ts-node src/neounzip.ts -y tests/output/symlinks-test.nzip tests/output/symlinks/ && echo -e '\\n--- Extracted files ---' && ls -la tests/output/symlinks/tests/output/symlinks-temp/ 2>/dev/null || ls -la tests/output/symlinks/ && echo -e '\\n--- Testing symlink functionality ---' && (test -L tests/output/symlinks/tests/output/symlinks-temp/symlink.txt 2>/dev/null && cat tests/output/symlinks/tests/output/symlinks-temp/symlink.txt > /dev/null 2>&1 && echo 'โ
PASS: Symlink test completed successfully') || (test -L tests/output/symlinks/symlink.txt 2>/dev/null && cat tests/output/symlinks/symlink.txt > /dev/null 2>&1 && echo 'โ
PASS: Symlink test completed successfully') || echo 'โ FAIL: Symlink was not created or does not work' && echo -e '\\n--- Creating ZIP without -y (follow symlinks) ---' && npx ts-node src/neozip.ts tests/output/symlinks-follow.nzip tests/output/symlinks-temp/* && echo -e '\\n--- Extracting without -y (regular files) ---' && mkdir -p tests/output/symlinks-follow && npx ts-node src/neounzip.ts tests/output/symlinks-follow.nzip tests/output/symlinks-follow/ && echo -e '\\n--- Extracted files (no symlinks) ---' && ls -la tests/output/symlinks-follow/tests/output/symlinks-temp/ 2>/dev/null || ls -la tests/output/symlinks-follow/ && rm -rf tests/output/symlinks-temp && rm -rf tests/output/symlinks* 2>/dev/null; rm -rf tests/output/symlinks*.nzip 2>/dev/null",
|
|
115
|
+
"test:hardlinks": "echo '=== Testing Hard Links ===' && rm -rf tests/output/hardlinks-temp && rm -rf tests/output/hardlinks* 2>/dev/null; rm -rf tests/output/hardlinks*.nzip 2>/dev/null; mkdir -p tests/output/hardlinks-temp && echo 'This is the original file content for hard link testing' > tests/output/hardlinks-temp/original.txt && ln tests/output/hardlinks-temp/original.txt tests/output/hardlinks-temp/hardlink1.txt && ln tests/output/hardlinks-temp/original.txt tests/output/hardlinks-temp/hardlink2.txt && echo -e '\\n--- Original files (note same inode numbers) ---' && ls -li tests/output/hardlinks-temp/ && echo -e '\\n--- Creating ZIP with -H (detect hard links) ---' && npx ts-node src/neozip.ts -H tests/output/hardlinks-test.nzip tests/output/hardlinks-temp/* && echo -e '\\n--- Extracting with -H (restore hard links) ---' && mkdir -p tests/output/hardlinks && npx ts-node src/neounzip.ts -H tests/output/hardlinks-test.nzip tests/output/hardlinks/ && echo -e '\\n--- Extracted files (note same inode numbers) ---' && ls -li tests/output/hardlinks/tests/output/hardlinks-temp/ 2>/dev/null || ls -li tests/output/hardlinks/ && echo -e '\\n--- Testing hard link functionality ---' && HARD_LINK1=\"tests/output/hardlinks/tests/output/hardlinks-temp/hardlink1.txt\"; HARD_LINK2=\"tests/output/hardlinks/tests/output/hardlinks-temp/hardlink2.txt\"; ORIGINAL=\"tests/output/hardlinks/tests/output/hardlinks-temp/original.txt\"; test -f \"$HARD_LINK1\" || HARD_LINK1=\"tests/output/hardlinks/hardlink1.txt\"; test -f \"$HARD_LINK2\" || HARD_LINK2=\"tests/output/hardlinks/hardlink2.txt\"; test -f \"$ORIGINAL\" || ORIGINAL=\"tests/output/hardlinks/original.txt\"; (test -f \"$HARD_LINK1\" && test -f \"$ORIGINAL\" && echo 'Modified content' >> \"$HARD_LINK1\" 2>/dev/null && cat \"$ORIGINAL\" > /dev/null 2>&1 && echo 'โ
PASS: Hard links test (with -H) completed') || echo 'โ ๏ธ WARN: Hard links extraction may have issues' && echo -e '\\n--- Creating ZIP without -H (store as copies) ---' && npx ts-node src/neozip.ts tests/output/hardlinks-copies.nzip tests/output/hardlinks-temp/* && echo -e '\\n--- Extracting without -H (separate files) ---' && mkdir -p tests/output/hardlinks-copies && npx ts-node src/neounzip.ts tests/output/hardlinks-copies.nzip tests/output/hardlinks-copies/ && echo -e '\\n--- Extracted files (different inodes) ---' && ls -li tests/output/hardlinks-copies/tests/output/hardlinks-temp/ 2>/dev/null || ls -li tests/output/hardlinks-copies/ && echo -e '\\n=== TEST SUMMARY ===' && (test -f tests/output/hardlinks-copies/tests/output/hardlinks-temp/original.txt 2>/dev/null || test -f tests/output/hardlinks-copies/original.txt 2>/dev/null) && echo 'โ
PASS: Hard links test completed successfully' || echo 'โ FAIL: Some hard link tests failed' && rm -rf tests/output/hardlinks-temp && rm -rf tests/output/hardlinks* 2>/dev/null; rm -rf tests/output/hardlinks*.nzip 2>/dev/null",
|
|
116
|
+
"test:stdin": "echo '=== Testing Stdin Filenames ===' && mkdir -p tests/output/stdin-temp && echo 'Test file 1' > tests/output/stdin-temp/file1.txt && echo 'Test file 2' > tests/output/stdin-temp/file2.txt && echo 'Test file 3' > tests/output/stdin-temp/file3.txt && echo '' && echo '--- Testing stdin filenames with -@ ---' && printf 'tests/output/stdin-temp/file1.txt\\ntests/output/stdin-temp/file2.txt\\ntests/output/stdin-temp/file3.txt\\n' | npx ts-node src/neozip.ts -@ tests/output/test-stdin.zip && echo '' && echo '--- Verifying archive contents ---' && npx ts-node src/neolist.ts tests/output/test-stdin.zip && echo '' && echo '--- Testing with find command ---' && find tests/output/stdin-temp -name '*.txt' | npx ts-node src/neozip.ts -@ tests/output/test-stdin-find.zip && npx ts-node src/neolist.ts tests/output/test-stdin-find.zip && echo '' && echo '--- Cleanup ---' && rm -rf tests/output/stdin-temp tests/output/test-stdin.zip tests/output/test-stdin-find.zip && echo 'โ
Stdin filenames test completed successfully!'",
|
|
117
|
+
"test:eocd": "npx ts-node tests/scripts/test-eocd-loading.ts",
|
|
118
|
+
"test:copy-entry": "npx ts-node tests/scripts/test-copy-entry-streaming.ts",
|
|
119
|
+
"test:tampered-zip": "npx ts-node tests/scripts/test-tampered-verification.ts",
|
|
120
|
+
"test:upgrade-zip": "echo '=== Testing ZIP Upgrade ===' && mkdir -p tests/output && echo '' && echo '--- Creating initial ZIP with Calgary corpus files (deflate compression) ---' && npx ts-node src/neozip.ts --deflate tests/output/test-upgrade.nzip tests/fixtures/calgary/bib tests/fixtures/calgary/book1 tests/fixtures/calgary/book2 && echo '' && echo '--- Upgrading ZIP for tokenization ---' && npx ts-node src/neozip.ts --upgrade tests/output/test-upgrade.nzip && echo '' && echo '--- Listing upgraded ZIP contents ---' && npx ts-node src/neolist.ts tests/output/test-upgrade-tokenized.nzip && echo '' && echo '--- Verifying upgraded ZIP with neounzip -t ---' && npx ts-node src/neounzip.ts -t tests/output/test-upgrade-tokenized.nzip && echo '' && echo 'โ
ZIP upgrade test completed successfully!'",
|
|
121
|
+
"test:pre-verify": "echo '=== Testing Pre-Verify Option (-T) ===' && echo '' && echo '--- Testing pre-verify on tokenized ZIP ---' && npx ts-node src/neounzip.ts -T tests/output/test-upgrade-tokenized.nzip tests/output/preverify/ && echo '' && echo '--- Testing pre-verify on non-tokenized ZIP ---' && npx ts-node src/neozip.ts --deflate tests/output/test-preverify-nontoken.nzip tests/fixtures/calgary/bib tests/fixtures/calgary/book1 tests/fixtures/calgary/book2 && npx ts-node src/neounzip.ts -T tests/output/test-preverify-nontoken.nzip tests/output/preverify-nontoken/ && rm -rf tests/output/preverify* tests/output/test-preverify-nontoken.nzip 2>/dev/null && echo '' && echo 'โ
Pre-verify test completed successfully!'",
|
|
122
|
+
"test:package": "node tests/scripts/test-package.js",
|
|
123
|
+
"switch:neozipkit:dev": "node scripts/switch-neozip-blockchain.js dev neozipkit",
|
|
124
|
+
"switch:neozipkit:prod": "node scripts/switch-neozip-blockchain.js prod neozipkit",
|
|
125
|
+
"switch:neozipkit:status": "node scripts/switch-neozip-blockchain.js status neozipkit",
|
|
126
|
+
"switch:neozip-blockchain:dev": "node scripts/switch-neozip-blockchain.js dev neozip-blockchain",
|
|
127
|
+
"switch:neozip-blockchain:prod": "node scripts/switch-neozip-blockchain.js prod neozip-blockchain",
|
|
128
|
+
"switch:neozip-blockchain:status": "node scripts/switch-neozip-blockchain.js status neozip-blockchain"
|
|
116
129
|
},
|
|
117
130
|
"keywords": [
|
|
118
131
|
"zip",
|
|
@@ -141,14 +154,16 @@
|
|
|
141
154
|
"minimatch": "^10.0.3",
|
|
142
155
|
"moment": "^2.29.4",
|
|
143
156
|
"moment-timezone": "^0.5.43",
|
|
157
|
+
"neozip-blockchain": "npm:neozip-blockchain@latest",
|
|
158
|
+
"neozip-cli": "^0.80.0",
|
|
159
|
+
"neozipkit": "npm:neozipkit@latest",
|
|
144
160
|
"opentimestamps": "^0.4.9",
|
|
145
161
|
"ora": "^5.4.1",
|
|
146
162
|
"pako": "^2.1.0",
|
|
147
163
|
"ts-node": "^10.9.1",
|
|
148
164
|
"typescript": "^5.0.0",
|
|
149
165
|
"uuid": "^9.0.0",
|
|
150
|
-
"web3": "^4.0.0"
|
|
151
|
-
"neozipkit": "^0.3.1"
|
|
166
|
+
"web3": "^4.0.0"
|
|
152
167
|
},
|
|
153
168
|
"devDependencies": {
|
|
154
169
|
"@types/chalk": "^2.2.4",
|
|
@@ -170,5 +185,5 @@
|
|
|
170
185
|
"url": "https://github.com/NeoWareInc/neozip-support/issues"
|
|
171
186
|
},
|
|
172
187
|
"homepage": "https://github.com/NeoWareInc/neozip-cli#readme",
|
|
173
|
-
"packageManager": "yarn@
|
|
188
|
+
"packageManager": "yarn@4.12.0"
|
|
174
189
|
}
|