Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8ea2b560a5 | |||
| 60aef4cc01 | |||
| 692752fb30 | |||
| a5e940b003 | |||
| e9ccd5ffb0 | |||
| c57978c228 | |||
| f0aa4b92c6 | |||
| 503efc10fc |
20
.github/workflows/build.yaml
vendored
20
.github/workflows/build.yaml
vendored
@@ -16,15 +16,19 @@ jobs:
|
||||
- name: Install & Build
|
||||
run: npm i && npm run build
|
||||
|
||||
- name: Upload to Registry
|
||||
uses: ztimson/actions/npm/publish@develop
|
||||
- name: Publish Library
|
||||
run: |
|
||||
if [ "${{github.ref_name}}" = "master" ]; then
|
||||
REGISTRY="${{github.server_url}}/api/packages/${{github.repository_owner}}/npm/"
|
||||
npm set registry "$REGISTRY"
|
||||
npm set $(echo $REGISTRY | sed s%http:%% | sed s%https:%% ):_authToken "${{secrets.DEPLOY_TOKEN}}"
|
||||
npm publish || echo "Failed to publish"
|
||||
|
||||
- name: Upload to NPM
|
||||
uses: ztimson/actions/npm/publish@develop
|
||||
with:
|
||||
owner: ztimson
|
||||
registry: https://registry.npmjs.org/
|
||||
token: ${{secrets.NPM_TOKEN}}
|
||||
REGISTRY="https://registry.npmjs.org/"
|
||||
npm set registry "$REGISTRY"
|
||||
npm set $(echo $REGISTRY | sed s%http:%% | sed s%https:%% ):_authToken "${{secrets.NPM_TOKEN}}"
|
||||
npm publish || echo "Failed to publish"
|
||||
fi
|
||||
tag:
|
||||
name: Tag Version
|
||||
needs: build
|
||||
|
||||
2367
package-lock.json
generated
2367
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
17
package.json
17
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@ztimson/node-utils",
|
||||
"version": "1.0.3",
|
||||
"version": "1.0.5",
|
||||
"description": "CSS Utility Classes",
|
||||
"author": "ztimson",
|
||||
"license": "MIT",
|
||||
@@ -10,27 +10,24 @@
|
||||
"type": "git",
|
||||
"url": "git.zakscode.com:ztimson/node-utils"
|
||||
},
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.mjs",
|
||||
"type": "module",
|
||||
"main": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./dist/index.d.ts",
|
||||
"import": "./dist/index.mjs",
|
||||
"require": "./dist/index.cjs"
|
||||
"import": "./dist/index.js"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"build": "npx tsc && npx vite build",
|
||||
"build": "tsc",
|
||||
"docs": "typedoc --cleanOutputDir false --out ./docs --entryPoints src/**/*.ts --readme none",
|
||||
"watch": "npx vite build --watch"
|
||||
"watch": "tsc --watch"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/node": "^24.0.0",
|
||||
"typedoc": "^0.28.5",
|
||||
"typescript": "^5.8.3",
|
||||
"vite": "^6.3.5",
|
||||
"vite-plugin-dts": "^4.5.4"
|
||||
"typescript": "^5.8.3"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
|
||||
16
src/cli.ts
16
src/cli.ts
@@ -1,11 +1,17 @@
|
||||
import {exec, execSync} from 'child_process';
|
||||
import {execSync, spawn} from 'node:child_process';
|
||||
|
||||
export function $(str: TemplateStringsArray, ...args: string[]): Promise<string> {
|
||||
let cmd = str.reduce((acc, part, i) => acc + part + (args[i] || ''), '');
|
||||
return new Promise((res, rej) => exec(cmd, (err, stdout, stderr) => {
|
||||
if(err) return rej(stderr || err);
|
||||
return res(stdout);
|
||||
}))
|
||||
return new Promise((res, rej) => {
|
||||
const proc = spawn(cmd, {shell: true});
|
||||
let stdout = '', stderr = '';
|
||||
proc.stdout.on('data', (data) => stdout += data);
|
||||
proc.stderr.on('data', (data) => stderr += data);
|
||||
proc.on('close', (code) => {
|
||||
if(code !== 0) return rej(new Error(stderr || stdout));
|
||||
res(stdout.trim());
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
export function $Sync(str: TemplateStringsArray, ...args: string[]): string {
|
||||
|
||||
@@ -3,18 +3,15 @@
|
||||
"compilerOptions": {
|
||||
"target": "ESNext",
|
||||
"useDefineForClassFields": true,
|
||||
"module": "NodeNext",
|
||||
"module": "ESNext",
|
||||
"lib": ["ESNext"],
|
||||
"skipLibCheck": true,
|
||||
|
||||
/* Bundler mode */
|
||||
"moduleResolution": "NodeNext",
|
||||
"moduleResolution": "Bundler",
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true,
|
||||
"declaration": true,
|
||||
"noEmit": true,
|
||||
|
||||
/* Linting */
|
||||
"outDir": "./dist",
|
||||
"rootDir": "./src",
|
||||
"strict": true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
import {resolve} from 'path';
|
||||
import {defineConfig} from 'vite';
|
||||
import dts from 'vite-plugin-dts';
|
||||
|
||||
export default defineConfig({
|
||||
build: {
|
||||
lib: {
|
||||
entry: resolve(process.cwd(), 'src/index.ts'),
|
||||
name: 'node-utils',
|
||||
fileName: (format: string) => format === 'es' ? 'index.mjs' : 'index.cjs'
|
||||
},
|
||||
rollupOptions: {
|
||||
external: [
|
||||
'child_process',
|
||||
'readline'
|
||||
],
|
||||
},
|
||||
emptyOutDir: true,
|
||||
minify: false,
|
||||
sourcemap: true
|
||||
},
|
||||
plugins: [dts()],
|
||||
});
|
||||
Reference in New Issue
Block a user