<commit_before>exports.yargs = {
    command: 'install <modules...>',
    describe: 'Install modules',
    aliases: ['i'],

    handler: async(yargs) => {
        const { modules = [] } = yargs

        const util = require('util')
        const { writeFile } = require('fs')
        const { spawn } = require('child_process')
        const { ensurePreferencesFilename, getPreferencesFilename, getPreferencesDirectory } = require('@pown/preferences')

        const spawnAsync = util.promisify(spawn)
        const writeFileAsync = util.promisify(writeFile)

        await ensurePreferencesFilename('modules', 'package.json')

        await writeFileAsync(getPreferencesFilename('modules', '.npmrc'), 'package-lock=false\n')

        const dirname = getPreferencesDirectory('modules')

        await spawnAsync('npm', ['install', ...modules], { stdio: 'inherit', cwd: dirname })
    }<commit_msg>Ensure all modules are installed for production use.<commit_after>exports.yargs = {
    command: 'install <modules...>',
    describe: 'Install modules',
    aliases: ['i'],

    builder: (yargs) => {
        yargs.option('development', {
            type: 'boolean',
            describe: 'Install development.',
            alias: ['o'],
            default: false
        })
    },

    handler: async(yargs) => {
        const { modules = [], development } = yargs

        const util = require('util')
        const { writeFile } = require('fs')
        const { spawn } = require('child_process')
        const { ensurePreferencesFilename, getPreferencesFilename, getPreferencesDirectory } = require('@pown/preferences')

        const spawnAsync = util.promisify(spawn)
        const writeFileAsync = util.promisify(writeFile)

        await ensurePreferencesFilename('modules', 'package.json')

        await writeFileAsync(getPreferencesFilename('modules', '.npmrc'), 'package-lock=false\n')

        const dirname = getPreferencesDirectory('modules')

        await spawnAsync('npm', ['install', ...modules, ...(development ? [] : ['--production'])], { stdio: 'inherit', cwd: dirname })
    }
{'fraction_non_alphanumeric': 0.14401525989508823, 'fraction_numerical': 0.0, 'mean_word_length': 3.0191570881226055, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1858673', 'n_tokens_mistral': 565, 'n_tokens_neox': 551, 'n_words': 126}