as-soon 0.0.5 → 0.0.6

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/dist/cli.cjs CHANGED
@@ -85,7 +85,7 @@ if (!command) {
85
85
  error(`please specify a command`);
86
86
  }
87
87
  var commandToUse = command;
88
- console.log(`"${commandToUse}"`);
88
+ console.log(`"${commandToUse} ${(commandArgs == null ? void 0 : commandArgs.join(" ")) || ""}"`);
89
89
  (0, import_ldenv.loadEnv)({ mode: deploymentContext });
90
90
  function _execute() {
91
91
  return __async(this, null, function* () {
package/dist/cli.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport {execFileSync} from 'child_process';\nimport watcher, {AsyncSubscription} from '@parcel/watcher';\nimport path from 'node:path';\nimport fs from 'node:fs';\nimport {debounce} from 'lodash';\nimport {loadEnv} from 'ldenv';\n\nconst args = process.argv.slice(2);\n\nfunction error(msg: string) {\n\tconsole.error(msg);\n\tprocess.exit(1);\n}\n\nlet deploymentContext = 'localhost';\nlet argToConsume;\nlet command: string | undefined;\nlet commandArgs: string[] | undefined;\nconst options: {[key: string]: string[]} = {};\nfor (let i = 0; i < args.length; i++) {\n\tconst arg = args[i];\n\tif (arg.startsWith('--')) {\n\t\targToConsume = arg.substring(2);\n\t} else if (arg.startsWith('-')) {\n\t\targToConsume = arg.substring(1);\n\t} else {\n\t\tif (argToConsume) {\n\t\t\tif (options[argToConsume]) {\n\t\t\t\toptions[argToConsume].push(arg);\n\t\t\t} else {\n\t\t\t\toptions[argToConsume] = [arg];\n\t\t\t}\n\t\t\targToConsume = undefined;\n\t\t} else {\n\t\t\tcommand = arg;\n\t\t\tcommandArgs = args.slice(i + 1);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nif (!command) {\n\terror(`please specify a command`);\n}\nconst commandToUse = command!;\n\nconsole.log(`\"${commandToUse}\"`);\n\nloadEnv({mode: deploymentContext});\n\nasync function _execute() {\n\ttry {\n\t\texecFileSync(commandToUse, commandArgs, {stdio: ['inherit', 'inherit', 'inherit']});\n\t} catch {}\n}\n\n// let counter = 0;\nasync function subscribe_target(absolute_path: string, execute: () => void) {\n\t// const c = ++counter;\n\tconst p = path.relative(process.cwd(), absolute_path);\n\tconst subscription = await watcher.subscribe(absolute_path, (err, events) => {\n\t\t// console.log(`Files changed under ${p} (${c})`);\n\t\tconsole.log(`Files changed under ${p}`);\n\t\tfor (const event of events) {\n\t\t\tif (event.type === 'delete' && event.path === absolute_path) {\n\t\t\t\tsubscription.unsubscribe();\n\t\t\t\tlisten(absolute_path, execute);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\texecute();\n\t});\n}\n\nasync function listen(absolute_path: string, execute: () => void) {\n\tif (fs.existsSync(absolute_path)) {\n\t\tsubscribe_target(absolute_path, execute);\n\t} else {\n\t\t// console.log(`${absolute_path} do not exist yet, listening on parent`)\n\t\tlet tmp_subscription: AsyncSubscription | undefined = await watcher.subscribe(\n\t\t\tpath.dirname(absolute_path),\n\t\t\t(err, events) => {\n\t\t\t\tfor (const event of events) {\n\t\t\t\t\tif (event.type === 'create' && path.normalize(event.path) === absolute_path) {\n\t\t\t\t\t\t// console.log(`${absolute_path} just got created, listening for it...`);\n\t\t\t\t\t\ttmp_subscription?.unsubscribe();\n\t\t\t\t\t\ttmp_subscription = undefined;\n\t\t\t\t\t\t// wrap in a timeout to ensure @parcel/watcher hook on the correct inode?\n\t\t\t\t\t\tsetTimeout((v) => {\n\t\t\t\t\t\t\tsubscribe_target(absolute_path, execute);\n\t\t\t\t\t\t}, 500);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n}\n\nasync function main() {\n\tconst execute = debounce(_execute, 50);\n\tif (options['w']) {\n\t\tconsole.log(`listening on: ${options['w'].join(', ')}`);\n\t\tfor (const p of options['w']) {\n\t\t\tconst absolute_path = path.normalize(path.join(process.cwd(), p));\n\t\t\tlisten(absolute_path, execute);\n\t\t}\n\t} else {\n\t\tconsole.log(`listening on current folder`);\n\t\tconst absolute_path = path.normalize(process.cwd());\n\t\tlisten(absolute_path, execute);\n\t}\n\n\texecute();\n}\nmain();\n"],"mappings":"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","names":["path","watcher","fs"]}
1
+ {"version":3,"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport {execFileSync} from 'child_process';\nimport watcher, {AsyncSubscription} from '@parcel/watcher';\nimport path from 'node:path';\nimport fs from 'node:fs';\nimport {debounce} from 'lodash';\nimport {loadEnv} from 'ldenv';\n\nconst args = process.argv.slice(2);\n\nfunction error(msg: string) {\n\tconsole.error(msg);\n\tprocess.exit(1);\n}\n\nlet deploymentContext = 'localhost';\nlet argToConsume;\nlet command: string | undefined;\nlet commandArgs: string[] | undefined;\nconst options: {[key: string]: string[]} = {};\nfor (let i = 0; i < args.length; i++) {\n\tconst arg = args[i];\n\tif (arg.startsWith('--')) {\n\t\targToConsume = arg.substring(2);\n\t} else if (arg.startsWith('-')) {\n\t\targToConsume = arg.substring(1);\n\t} else {\n\t\tif (argToConsume) {\n\t\t\tif (options[argToConsume]) {\n\t\t\t\toptions[argToConsume].push(arg);\n\t\t\t} else {\n\t\t\t\toptions[argToConsume] = [arg];\n\t\t\t}\n\t\t\targToConsume = undefined;\n\t\t} else {\n\t\t\tcommand = arg;\n\t\t\tcommandArgs = args.slice(i + 1);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nif (!command) {\n\terror(`please specify a command`);\n}\nconst commandToUse = command!;\n\nconsole.log(`\"${commandToUse} ${commandArgs?.join(' ') || ''}\"`);\n\nloadEnv({mode: deploymentContext});\n\nasync function _execute() {\n\ttry {\n\t\texecFileSync(commandToUse, commandArgs, {stdio: ['inherit', 'inherit', 'inherit']});\n\t} catch {}\n}\n\n// let counter = 0;\nasync function subscribe_target(absolute_path: string, execute: () => void) {\n\t// const c = ++counter;\n\tconst p = path.relative(process.cwd(), absolute_path);\n\tconst subscription = await watcher.subscribe(absolute_path, (err, events) => {\n\t\t// console.log(`Files changed under ${p} (${c})`);\n\t\tconsole.log(`Files changed under ${p}`);\n\t\tfor (const event of events) {\n\t\t\tif (event.type === 'delete' && event.path === absolute_path) {\n\t\t\t\tsubscription.unsubscribe();\n\t\t\t\tlisten(absolute_path, execute);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\texecute();\n\t});\n}\n\nasync function listen(absolute_path: string, execute: () => void) {\n\tif (fs.existsSync(absolute_path)) {\n\t\tsubscribe_target(absolute_path, execute);\n\t} else {\n\t\t// console.log(`${absolute_path} do not exist yet, listening on parent`)\n\t\tlet tmp_subscription: AsyncSubscription | undefined = await watcher.subscribe(\n\t\t\tpath.dirname(absolute_path),\n\t\t\t(err, events) => {\n\t\t\t\tfor (const event of events) {\n\t\t\t\t\tif (event.type === 'create' && path.normalize(event.path) === absolute_path) {\n\t\t\t\t\t\t// console.log(`${absolute_path} just got created, listening for it...`);\n\t\t\t\t\t\ttmp_subscription?.unsubscribe();\n\t\t\t\t\t\ttmp_subscription = undefined;\n\t\t\t\t\t\t// wrap in a timeout to ensure @parcel/watcher hook on the correct inode?\n\t\t\t\t\t\tsetTimeout((v) => {\n\t\t\t\t\t\t\tsubscribe_target(absolute_path, execute);\n\t\t\t\t\t\t}, 500);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n}\n\nasync function main() {\n\tconst execute = debounce(_execute, 50);\n\tif (options['w']) {\n\t\tconsole.log(`listening on: ${options['w'].join(', ')}`);\n\t\tfor (const p of options['w']) {\n\t\t\tconst absolute_path = path.normalize(path.join(process.cwd(), p));\n\t\t\tlisten(absolute_path, execute);\n\t\t}\n\t} else {\n\t\tconsole.log(`listening on current folder`);\n\t\tconst absolute_path = path.normalize(process.cwd());\n\t\tlisten(absolute_path, execute);\n\t}\n\n\texecute();\n}\nmain();\n"],"mappings":"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","names":["path","watcher","fs"]}
package/dist/cli.js CHANGED
@@ -45,7 +45,7 @@ if (!command) {
45
45
  error(`please specify a command`);
46
46
  }
47
47
  var commandToUse = command;
48
- console.log(`"${commandToUse}"`);
48
+ console.log(`"${commandToUse} ${(commandArgs == null ? void 0 : commandArgs.join(" ")) || ""}"`);
49
49
  loadEnv({ mode: deploymentContext });
50
50
  function _execute() {
51
51
  return __async(this, null, function* () {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport {execFileSync} from 'child_process';\nimport watcher, {AsyncSubscription} from '@parcel/watcher';\nimport path from 'node:path';\nimport fs from 'node:fs';\nimport {debounce} from 'lodash';\nimport {loadEnv} from 'ldenv';\n\nconst args = process.argv.slice(2);\n\nfunction error(msg: string) {\n\tconsole.error(msg);\n\tprocess.exit(1);\n}\n\nlet deploymentContext = 'localhost';\nlet argToConsume;\nlet command: string | undefined;\nlet commandArgs: string[] | undefined;\nconst options: {[key: string]: string[]} = {};\nfor (let i = 0; i < args.length; i++) {\n\tconst arg = args[i];\n\tif (arg.startsWith('--')) {\n\t\targToConsume = arg.substring(2);\n\t} else if (arg.startsWith('-')) {\n\t\targToConsume = arg.substring(1);\n\t} else {\n\t\tif (argToConsume) {\n\t\t\tif (options[argToConsume]) {\n\t\t\t\toptions[argToConsume].push(arg);\n\t\t\t} else {\n\t\t\t\toptions[argToConsume] = [arg];\n\t\t\t}\n\t\t\targToConsume = undefined;\n\t\t} else {\n\t\t\tcommand = arg;\n\t\t\tcommandArgs = args.slice(i + 1);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nif (!command) {\n\terror(`please specify a command`);\n}\nconst commandToUse = command!;\n\nconsole.log(`\"${commandToUse}\"`);\n\nloadEnv({mode: deploymentContext});\n\nasync function _execute() {\n\ttry {\n\t\texecFileSync(commandToUse, commandArgs, {stdio: ['inherit', 'inherit', 'inherit']});\n\t} catch {}\n}\n\n// let counter = 0;\nasync function subscribe_target(absolute_path: string, execute: () => void) {\n\t// const c = ++counter;\n\tconst p = path.relative(process.cwd(), absolute_path);\n\tconst subscription = await watcher.subscribe(absolute_path, (err, events) => {\n\t\t// console.log(`Files changed under ${p} (${c})`);\n\t\tconsole.log(`Files changed under ${p}`);\n\t\tfor (const event of events) {\n\t\t\tif (event.type === 'delete' && event.path === absolute_path) {\n\t\t\t\tsubscription.unsubscribe();\n\t\t\t\tlisten(absolute_path, execute);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\texecute();\n\t});\n}\n\nasync function listen(absolute_path: string, execute: () => void) {\n\tif (fs.existsSync(absolute_path)) {\n\t\tsubscribe_target(absolute_path, execute);\n\t} else {\n\t\t// console.log(`${absolute_path} do not exist yet, listening on parent`)\n\t\tlet tmp_subscription: AsyncSubscription | undefined = await watcher.subscribe(\n\t\t\tpath.dirname(absolute_path),\n\t\t\t(err, events) => {\n\t\t\t\tfor (const event of events) {\n\t\t\t\t\tif (event.type === 'create' && path.normalize(event.path) === absolute_path) {\n\t\t\t\t\t\t// console.log(`${absolute_path} just got created, listening for it...`);\n\t\t\t\t\t\ttmp_subscription?.unsubscribe();\n\t\t\t\t\t\ttmp_subscription = undefined;\n\t\t\t\t\t\t// wrap in a timeout to ensure @parcel/watcher hook on the correct inode?\n\t\t\t\t\t\tsetTimeout((v) => {\n\t\t\t\t\t\t\tsubscribe_target(absolute_path, execute);\n\t\t\t\t\t\t}, 500);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n}\n\nasync function main() {\n\tconst execute = debounce(_execute, 50);\n\tif (options['w']) {\n\t\tconsole.log(`listening on: ${options['w'].join(', ')}`);\n\t\tfor (const p of options['w']) {\n\t\t\tconst absolute_path = path.normalize(path.join(process.cwd(), p));\n\t\t\tlisten(absolute_path, execute);\n\t\t}\n\t} else {\n\t\tconsole.log(`listening on current folder`);\n\t\tconst absolute_path = path.normalize(process.cwd());\n\t\tlisten(absolute_path, execute);\n\t}\n\n\texecute();\n}\nmain();\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport {execFileSync} from 'child_process';\nimport watcher, {AsyncSubscription} from '@parcel/watcher';\nimport path from 'node:path';\nimport fs from 'node:fs';\nimport {debounce} from 'lodash';\nimport {loadEnv} from 'ldenv';\n\nconst args = process.argv.slice(2);\n\nfunction error(msg: string) {\n\tconsole.error(msg);\n\tprocess.exit(1);\n}\n\nlet deploymentContext = 'localhost';\nlet argToConsume;\nlet command: string | undefined;\nlet commandArgs: string[] | undefined;\nconst options: {[key: string]: string[]} = {};\nfor (let i = 0; i < args.length; i++) {\n\tconst arg = args[i];\n\tif (arg.startsWith('--')) {\n\t\targToConsume = arg.substring(2);\n\t} else if (arg.startsWith('-')) {\n\t\targToConsume = arg.substring(1);\n\t} else {\n\t\tif (argToConsume) {\n\t\t\tif (options[argToConsume]) {\n\t\t\t\toptions[argToConsume].push(arg);\n\t\t\t} else {\n\t\t\t\toptions[argToConsume] = [arg];\n\t\t\t}\n\t\t\targToConsume = undefined;\n\t\t} else {\n\t\t\tcommand = arg;\n\t\t\tcommandArgs = args.slice(i + 1);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nif (!command) {\n\terror(`please specify a command`);\n}\nconst commandToUse = command!;\n\nconsole.log(`\"${commandToUse} ${commandArgs?.join(' ') || ''}\"`);\n\nloadEnv({mode: deploymentContext});\n\nasync function _execute() {\n\ttry {\n\t\texecFileSync(commandToUse, commandArgs, {stdio: ['inherit', 'inherit', 'inherit']});\n\t} catch {}\n}\n\n// let counter = 0;\nasync function subscribe_target(absolute_path: string, execute: () => void) {\n\t// const c = ++counter;\n\tconst p = path.relative(process.cwd(), absolute_path);\n\tconst subscription = await watcher.subscribe(absolute_path, (err, events) => {\n\t\t// console.log(`Files changed under ${p} (${c})`);\n\t\tconsole.log(`Files changed under ${p}`);\n\t\tfor (const event of events) {\n\t\t\tif (event.type === 'delete' && event.path === absolute_path) {\n\t\t\t\tsubscription.unsubscribe();\n\t\t\t\tlisten(absolute_path, execute);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\texecute();\n\t});\n}\n\nasync function listen(absolute_path: string, execute: () => void) {\n\tif (fs.existsSync(absolute_path)) {\n\t\tsubscribe_target(absolute_path, execute);\n\t} else {\n\t\t// console.log(`${absolute_path} do not exist yet, listening on parent`)\n\t\tlet tmp_subscription: AsyncSubscription | undefined = await watcher.subscribe(\n\t\t\tpath.dirname(absolute_path),\n\t\t\t(err, events) => {\n\t\t\t\tfor (const event of events) {\n\t\t\t\t\tif (event.type === 'create' && path.normalize(event.path) === absolute_path) {\n\t\t\t\t\t\t// console.log(`${absolute_path} just got created, listening for it...`);\n\t\t\t\t\t\ttmp_subscription?.unsubscribe();\n\t\t\t\t\t\ttmp_subscription = undefined;\n\t\t\t\t\t\t// wrap in a timeout to ensure @parcel/watcher hook on the correct inode?\n\t\t\t\t\t\tsetTimeout((v) => {\n\t\t\t\t\t\t\tsubscribe_target(absolute_path, execute);\n\t\t\t\t\t\t}, 500);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n}\n\nasync function main() {\n\tconst execute = debounce(_execute, 50);\n\tif (options['w']) {\n\t\tconsole.log(`listening on: ${options['w'].join(', ')}`);\n\t\tfor (const p of options['w']) {\n\t\t\tconst absolute_path = path.normalize(path.join(process.cwd(), p));\n\t\t\tlisten(absolute_path, execute);\n\t\t}\n\t} else {\n\t\tconsole.log(`listening on current folder`);\n\t\tconst absolute_path = path.normalize(process.cwd());\n\t\tlisten(absolute_path, execute);\n\t}\n\n\texecute();\n}\nmain();\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "as-soon",
3
- "version": "0.0.5",
3
+ "version": "0.0.6",
4
4
  "description": "watch and execute",
5
5
  "publishConfig": {
6
6
  "access": "public"
package/src/cli.ts CHANGED
@@ -45,7 +45,7 @@ if (!command) {
45
45
  }
46
46
  const commandToUse = command!;
47
47
 
48
- console.log(`"${commandToUse}"`);
48
+ console.log(`"${commandToUse} ${commandArgs?.join(' ') || ''}"`);
49
49
 
50
50
  loadEnv({mode: deploymentContext});
51
51