Skip to content

Commit

Permalink
Publish
Browse files Browse the repository at this point in the history
  • Loading branch information
sinclairzx81 committed Jul 31, 2023
1 parent a9ea8dc commit 4502ba8
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 11 deletions.
40 changes: 30 additions & 10 deletions hammer.mjs
Original file line number Diff line number Diff line change
@@ -1,36 +1,56 @@
// -------------------------------------------------------------------------------
import { readFileSync } from 'node:fs'

// -------------------------------------------------------------
// Clean
// -------------------------------------------------------------------------------
// -------------------------------------------------------------
export async function clean() {
await folder('target').delete()
}
// -------------------------------------------------------------------------------
// -------------------------------------------------------------
// Format
// -------------------------------------------------------------------------------
// -------------------------------------------------------------
export async function format() {
await shell('prettier --write src test example')
}
// -------------------------------------------------------------------------------
// -------------------------------------------------------------
// Test
// -------------------------------------------------------------------------------
// -------------------------------------------------------------
export async function test(testReporter = 'spec', filter = '') {
const pattern = filter.length > 0 ? `"--test-name-pattern=${filter}.*"` : ''
await shell('hammer build test/index.ts --dist target/test --platform node')
await shell(`node --test-reporter ${testReporter} --test ${pattern} target/test/index.js`)
}
// -------------------------------------------------------------------------------
// -------------------------------------------------------------
// Start
// -------------------------------------------------------------------------------
// -------------------------------------------------------------
export async function start() {
await shell('hammer run example/index.ts --dist target/example')
}
// -------------------------------------------------------------------------------
// -------------------------------------------------------------
// Build
// -------------------------------------------------------------------------------
// -------------------------------------------------------------
export async function build(target = 'target/build') {
await shell(`tsc -p src/tsconfig.json --outDir ${target} --declaration`)
await folder(target).add('package.json')
await folder(target).add('license')
await folder(target).add('readme.md')
await shell(`cd ${target} && npm pack`)
}
// -------------------------------------------------------------
// Publish
// -------------------------------------------------------------
export async function publish(otp, target = 'target/build') {
const { version } = JSON.parse(readFileSync(`${target}/package.json`, 'utf8'))
if(version.includes('-dev')) throw Error(`package version should not include -dev specifier`)
// await shell(`cd ${target} && npm publish sinclair-typebox-codegen-${version}.tgz --access=public --otp ${otp}`)
// await shell(`git tag ${version}`)
// await shell(`git push origin ${version}`)
}
// -------------------------------------------------------------
// Publish-Dev
// -------------------------------------------------------------
export async function publish_dev(otp, target = 'target/build') {
const { version } = JSON.parse(readFileSync(`${target}/package.json`, 'utf8'))
if(!version.includes('-dev')) throw Error(`development package version should include -dev specifier`)
await shell(`cd ${target} && npm publish sinclair-typebox-codegen-${version}.tgz --access=public --otp ${otp} --tag dev`)
}
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
"build": "hammer task build",
"clean": "hammer task clean",
"format": "hammer task format",
"publish": "hammer task publish",
"publish:dev": "hammer task publish_dev",
"start": "hammer task start",
"test": "hammer task test"
},
"name": "typebox-codegen",
"name": "@sinclair/typebox-codegen",
"version": "0.8.0",
"description": "Code Generation Tools for TypeBox",
"main": "index.js",
Expand Down

0 comments on commit 4502ba8

Please sign in to comment.