From 0e0ad288b025450531d000ac9285388621fa847d Mon Sep 17 00:00:00 2001 From: Michael Smith Date: Tue, 22 Apr 2025 10:49:55 -0700 Subject: [PATCH] feat: adds init-private option to config --- lib/default-input.js | 5 +++++ test/private-defaults.js | 30 ++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 test/private-defaults.js diff --git a/lib/default-input.js b/lib/default-input.js index 3b38c77..46d594b 100644 --- a/lib/default-input.js +++ b/lib/default-input.js @@ -266,3 +266,8 @@ const type = package.type || getConfig('type') || 'commonjs' exports.type = yes ? type : prompt('type', type, (data) => { return data }) + +const initPrivate = getConfig('private') +if (initPrivate !== undefined) { + exports.private = initPrivate +} diff --git a/test/private-defaults.js b/test/private-defaults.js new file mode 100644 index 0000000..97ba049 --- /dev/null +++ b/test/private-defaults.js @@ -0,0 +1,30 @@ +const t = require('tap') +const { setup, child, isChild } = require('./fixtures/setup') + +if (isChild()) { + return child() +} + +t.test('private field with init-private true', async (t) => { + const { data } = await setup(t, __filename, { + config: { yes: 'yes', 'init-private': true }, + }) + + t.equal(data.private, true, 'private field set to true in yes mode') +}) + +t.test('private field with init-private false', async (t) => { + const { data } = await setup(t, __filename, { + config: { yes: 'yes', 'init-private': false }, + }) + + t.equal(data.private, false, 'private field set to false in yes mode') +}) + +t.test('private field without init-private', async (t) => { + const { data } = await setup(t, __filename, { + config: { yes: 'yes' }, + }) + + t.equal(data.private, undefined, 'private not set in by default') +})