Skip to content

Commit 0fd5e11

Browse files
authored
feat: symlink dist/package.json -> package.json when running serve (#41)
1 parent 6c1af45 commit 0fd5e11

File tree

1 file changed

+23
-1
lines changed

1 file changed

+23
-1
lines changed

src/cli.ts

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,8 @@ async function main(): Promise<void> {
185185
tslint: "tslint -p tsconfig.json './src/**/*.ts'",
186186
typecheck: 'tsc -p tsconfig.json',
187187
build: `parcel build --out-file dist/${name}.js src/${name}.ts`,
188-
serve: `parcel serve --no-hmr --out-file dist/${name}.js src/${name}.ts`,
188+
'symlink-package': 'node dev/symlinkPackage.js',
189+
serve: `npm run symlink-package && parcel serve --no-hmr --out-file dist/${name}.js src/${name}.ts`,
189190
'watch:typecheck': 'tsc -p tsconfig.json -w',
190191
'watch:build': 'tsc -p tsconfig.dist.json -w',
191192
'sourcegraph:prepublish': 'npm run build',
@@ -200,6 +201,25 @@ async function main(): Promise<void> {
200201
await writeFile('package.json', JSON.stringify(packageJson, null, 2))
201202
}
202203

204+
console.log('📂 Creating dev directory')
205+
await mkdir('dev')
206+
await writeFile('dev/symlinkPackage.js', [
207+
"const createSymlink = require('create-symlink')",
208+
"const { existsSync } = require('fs')",
209+
"const mkdirp = require('mkdirp-promise')",
210+
"const { resolve } = require('path')",
211+
'',
212+
"mkdirp('dist').then(async () => {",
213+
" if (!existsSync('./dist/package.json')) {",
214+
" await createSymlink(resolve('./package.json'), resolve('./dist/package.json'))",
215+
' }',
216+
' process.exit(0)',
217+
'}).catch(err => {',
218+
' console.error(err)',
219+
' process.exit(1)',
220+
'})',
221+
].join('\n'))
222+
203223
try {
204224
console.log('📂 Creating src directory')
205225
await mkdir('src')
@@ -243,6 +263,8 @@ async function main(): Promise<void> {
243263
'tslint',
244264
'@sourcegraph/tslint-config',
245265
'@sourcegraph/tsconfig',
266+
'create-symlink',
267+
'mkdirp-promise',
246268
],
247269
{ stdio: 'inherit' }
248270
)

0 commit comments

Comments
 (0)