- Add
gitattributes
file to prevent tests failing on Windows due to git changing line endings without these defaults - Windows and macOS tests are no longer optional, for packages that fail I'll introduce a question to make them optional, or you can do it within your tests
- Renamed
githubOrganisation
togithubUsername
- For Bevry projects, add all historical github and patreon donors
- For Bevry projects, disable patreon (not actually used) and flattr (defunct) badges
- Fix JavaScript packages having an invalid types
- Regression from v1.86.0
- Closes bevry/taskgroup#241
- Support latest babel ecosystem
- Replaced deprecated
@babel/proposal-object-rest-spread
with@babel/plugin-transform-object-rest-spread
- Use explicit names instead of implied names
- Replaced deprecated
- Removed unimplemented filters in question answer handling
- Have
our:meta:projectz
use--offline
- Fix documentation output for
es5
projects - Now use
trim-empty-keys
,github-api
, andfellow
for relevant utility functions- This improves handling and conversion of repository URIs
- Fix some linting issues
- Prettier and ESLint configuration is now set appropriately, rather than being tangled
- Updated dependencies, base files, and editions using boundation
- Thank you to the sponsors: Andrew Nesbitt, Balsa, Codecov, Frontend Masters, Mr. Henry, Poonacha Medappa, Rob Morris, Sentry, Syntax
- Updated dependencies, base files, and editions using boundation
- Thank you to the sponsors: Andrew Nesbitt, Balsa, Codecov, Poonacha Medappa, Rob Morris, Sentry, Syntax
- Fixed v1.89.0 writing an empty author field when multiple authors were present
- Updated for
projectz
v4.0.0 - Fixed hidden configuration property
githubActionTestEnv
not being accepted (regression since v1.88.1) - Updated
bevry-actions/npm
- Improved custom bin handling, by leaving it up to
package.json
configuration rather than complex CSV answer handling as before- Closes issue #24
- For Bevry projects, transfer the defunct
Bevry Pty Ltd
copyrights to @balupton- Closes issue #161
- No need for copyright years if there is only one author
- For Bevry projects, add @skunkteam as a historical donor
- Remove deprecated
@bevry/github-*
dependencies (not all are deprecated, only some) - Thank you to the sponsors: Andrew Nesbitt, Balsa, Codecov, Poonacha Medappa, Rob Morris, Sentry, Syntax
- fix descriptions of editions not including the full engines
- Updated dependencies, base files, and [editions](https://editions.bevry. me) using boundation
- fix non-typescript projects that target Node.js v4 and v6 from failing due to bad prettier configuration
- regression from https://github.com/bevry/boundation/commit/b54830456812d9bd591141d8af162eb8638fcae6#diff-f4c695cccbf0d3ce1b79765091f9b57956c45cb9dd1b8f5661116a7b93c4e5ceL510 which removed
nodeVersionTargetedMinimum
and relied solely on edition keywords, which until now did not exist on all node.js editions that we generate (was missing on coffeescript, babel, json)
- regression from https://github.com/bevry/boundation/commit/b54830456812d9bd591141d8af162eb8638fcae6#diff-f4c695cccbf0d3ce1b79765091f9b57956c45cb9dd1b8f5661116a7b93c4e5ceL510 which removed
- Updated dependencies, base files, and editions using boundation
- configure prettier to use lf line endings, to prevent complications on Windows
- error on unknown configuration properties
- tsconfig properties are now persisted and sorted
- cleaning now always happens initially guaranteeing clean compilation
- Updated dependencies, base files, and editions using boundation
Dramatically improve performance of Boundation, eliminates unnecessary compilation and testing.
- ci/runtime:
bevry-actions/surge
updated to1.1.0
andsurge
dev dependency removed to avoid "insecure" surge dev dependency alerts, close #156- Renable Windows and MacOS CI tests, now that Dependabot is under control, close #162
- editions/versions/questions:
- Added
nodeVersionsTargetedImportRange
andnodeVersionsTargetedRequireRange
questions, and removed automatednodeVersionTargetedMinimum
,nodeVersionTargetedMaximum
,targets
questions- Targets are their compilation are now part of the Editions auto-generation rather than consumed by Editions, as such they are only compiled as necessary
- If a prior Edition passes for everything except a particular target, we can now jump ahead to the Editions that do support that particular target, close #159
- Added
editionsAutoloader
question to allow for the Editions autoloader to be disabled, for when you want only a single Require edition that passes for all intended targets as such making the Editions Autoloader unnecessary (such as for theversion-range
package that theeditions
package depends upon), close #160 - Improved coloration of Editions changes
- Added
- runtime:
- Fixed dependencies that are dependent on certain keywords, such as
@types/node
, close #163 - Enable TypeScript 5.3 now that TypeDoc supports it
- Changed Prettier handling of
trailingComma
from Node.js <8 to ES5 - Compilation and cleaning now skipped, as it is handled more appropriately by the Editions testing and by the
our:release:prepare
finale
- Fixed dependencies that are dependent on certain keywords, such as
- Updated dependencies, base files, and editions using boundation
- CLI arguments should never take preference over
package.json:boundation
entries, as the latter is intended solely for that package, whereas CLI arguments are generally generic defaults
- Fix bad pre-release refactoring of targetting changes that caused minimum/maximum deprecation check to fail
- ci:
- Update
bevry-actions/npm
version - Auto-merge dependabot should squash, rather than making an additional merge commit
- Update
- editions:
- Types is now it's own edition
- Types point to an entry now, instead of the directory (as that is what typescript now wants)
- Provide
types
field in eachexports
entry
- questions:
- Add
nodeVersionsRange
,nodeVersionsSupportedRange
,nodeVersionsTestedRange
,nodeVersionsTargetedRange
and remove the complexity that was needed without them - Overriding
*Minimum
and*Maximum
versions is now disabled, use the `*Range`` properties instead
- Add
- runtime:
- Fix incompatible version upgrades breaking before compatible versions can be installed
- Fix
npm-check-updates
having to be installed, usingnpx
to invokenpm-check-updates
instead - Compatible versions are now corrected for latest ecosystem improvements
- tsconfig's
skipLibCheck
is now persisted - if targetting ES5, tsconfig's
downlevelIteration
will be enabled
- versions:
- Update for latest
@bevry/testen
version
- Update for latest
- Updated dependencies, base files, and editions using boundation
- Rename
organisation
togithubOrganisation
and make it automatic - If Bevry organisation, inject discord and twitch badges
- Remove CSON downgrade, as the new release supports everything again
- Updated dependencies, base files, and editions using boundation
- Use the new
@bevry/fs-*
dependencies - Rename
browsers
question tobrowsersTargeted
to not conflate it with thebrowser
option
- use
node:
prefix on builtins as our min supported node version supports it - consistently order imports
- base:
- for fetching, instead of
master
useHEAD
(evolutes to the default branch) - if a bevry organisation:
- output
SECURITY.md
- add tidelift to
FUNDING.yml
if publishing to npm
- output
- for fetching, instead of
- ci:
- remove macos and windows ci tests for now, was causing too much overload with dependabot
- update
bevry-actions/npm
version - include automerge into
bevry.yml
as per github recommendation, rather than as its own third party workflow - have dependabot also update github action packages
- have dependabot only update on sunday on midnight in perth time (so it doesn't overload @balupton's work schedule)
- only allow security dependabot requests, as boundation handles the dep updates, and the dep updates overwhelm github
- fs:
- instead of exec'ing
rm -rf
, use builtin recursive remove now that our min supported node supports it - better handling of poor internet connection and invalid caching
- instead of exec'ing
- git:
- correctly name
getGitActiveDefaultBranch
togetGitActiveBranch
- correctly name
- questions/runtime:
- introduced target versions, instead of using supported/test versions, to ensure that `expandNodeVersions`` works correctly
- runtime:
- update legacy version compat table (needs to be adjusted for semver as coerce isn't available on older semver versions, or rather needs to be dep and node version specific rather than clumped together)
- have npm scripts use
rm -rf
instead ofrm -Rf
for greater compat - if targeting old node versions, have prettier enforce es5 comma mode, otherwise native javascript editions and the editions autoload will break compat
- Better error message when all ESM editions fail
- Support empty directories (fixed missing engines error)
- Fix engines not being updated for websites and
desiredNodeOnly
projects - Repeat spawns that failed due to connection errors
- Skip
organisation
property if it could be defaulted (it is inferred from github slug, which is inferred from git url)
- Boundation now uses the default branch where appropriate instead of always using
master
, if could not be determined, fallbacks to the git config, then the global git config, thenmain
- Improved core:
- No longer uses
node-fetch
, instead uses the Node.js fetch builtin
- No longer uses
- Improved questions:
- New
maintainedNodeVersions
,expandNodeVersions
,shrinkNodeVersions
questions- These replace the oldschool
lts
question, that was removed ages ago.
- These replace the oldschool
- TypeScript no longer has targets it doesn't support
- Ensure that
nodeVersionsSupported
andnodeVersionsTested
are constrained to their minimum and maximum - Corrected the description of
nodeVersionsTested
as it is not (by default) an automated property
- New
- Improved CI:
- Don't test Node.js versions before 16 on GitHub Actions, as they will be ignored as they are no longer supported on GitHub Actions
- Verify the Node.js and NPM versions on GitHub Actions
- Update the versions of the GitHub Actions
- Resolved
make-deno-edition
failing on GitHub ACtions- Deno is setup on GitHub Actions if the project uses Deno (determined by
deno
keyword)
- Deno is setup on GitHub Actions if the project uses Deno (determined by
- Improved runtime:
- Resolved an issue with aggressive Node.js engine changes:
- The
package.json:engines:node
is no longer always updated to the supported or desired version beforehand, now it is only updated once we know what Node.js versions we target
- The
package.json:scripts:our:compile:deno
is only added if the project uses Deno (determined bydeno
keyword)
- Resolved an issue with aggressive Node.js engine changes:
- Improved versions:
- Boundation is much more intelligent and helpful when it comes to expanding or shrinking the editions and Node.js engine support as necessary.
- Made the generated npm scripts compatible with Windows by use
printf
instead ofecho
- Updated dependencies, base files, and editions using boundation
- Ecosystem upgrades around typescript types
- Add
@types/node
if typescript+node - Update typescript to v5 now that typedoc supports it
- Improve deprecated package upgrades, add cloudflare worker types
- Add
- Add ThanksDev badge
- Removed DavidDM badges (it is now defunct)
- Use
.prettierignore
base file - Updated license from
MIT
toArtistic-2.0
- Updated dependencies, base files, and editions using boundation
- Can now specify
package.json:boundation.githubActionTestEnv
to setenv
configuration for the test steps in the GitHub Actions runner
- Maintain
tsconfig.json:compilerOptions:outDir
between boundation runs- Works around TypeStrong/typedoc#1639
- If there is a
tsconfig.json
parsing error, it is now reported - Updated dependencies, base files, and editions using boundation
- Maintain
tsconfig.json:exclude
between boundation runs - Don't use
npx
anymore, it keeps diverging from what we actually want.
- Fix TypeScript documentation link
- Updated dependencies, base files, and editions using boundation
- ECMAScript versions and Node.js versions are now accurately determined
- ECMAScript compatibility targets are now accurately determined for the requirements before we even start testing on them
- This solves the issue where ECMAScript 2015 was ratified by Node.js v4's release date, but Node.js v4 only supports ES5
- TypeDoc and TypeScript integration updates
- Updated dependencies, base files, and editions using boundation
- Updated dependencies, base files, and editions using boundation
- Moved from TravisCI to GitHub Actions, as TravisCI nuked our ability to use their free tier which is the only one we can afford
- Changed
cdnDeploymentStrategy
question to bedeploymentStrategy
, introducingcustom
option - Updated
nodeVersions
question to default to only release node versions - Removed questions pertaining to secrets/tokens, as they are now handled via the GitHub Actions secret engine
- Updated
targets
question to correct sort order otherwise edition trimming will not work - YAML log messages are now always human readable, instead of using references sometimes
- Extracted out some utilities into @bevry/node-versions, version-compare, and @bevry/github-orgs
- This work was done in November 2021, however life circumstances mean it is only released now
- Updated dependencies
- Fix where errors are written (regression since v1.69.2)
- Use @bevry/ansi for colors and styles
- Extracted out some utilities into @bevry/list, arrange-package-json, and @bevry/github-orgs
- Node version handling improvements have continued even further
- Historical versions are only kept if they were LTS versions (no more v11, v13)
- TypeScript Targets are now determined accurately, with only the necessary ones automatically determined
- You can now specify a
nodeVersionTestedRange
to limit the testing versions - The failed and tolerated versions are now correctly determined
- Node v0.8 is now recognised again
- Node versions are intelligently upgraded if everything is streamlined, but if the engines are custom, then they are kept and expanded if more are indeed available
desiredNodeOnly
works with the upgrade flow once more
- Updated dependencies, base files, and editions using boundation
- Node version handling improvements have continued, now rather than presenting ranges, it will present versions
- The versions are filtered accordingly to the requirements of your environment and your preferences
- Initially supported versions are limited to the specified node engine
- If testing results in additionally supported versions, they will be added as supported
- The issue from v1.67.0 of dev versions being kept is now resolved
- Updated dependencies, base files, and editions using boundation
- Fixed compatibility with latest nvm versions
- Improved forward compatibility with latest node versions
- Improved compatibility with zeit/now to vercel rename
- Updated dependencies, base files, and editions using boundation
- Fix regression from v1.66.0 where compilers other than
babel
andtypescript
would fail on targets question
- Fix regression from v1.66.0 where for javascript projects that compile for web browsers, both the source edition and browser edition would target web browsers
- Instead, if one is electing to compile for web browsers, then don't mark the source edition as well as compatible for browsers
- Source editions now have the
source
tag added, and compiled editions now have thecompiled
tag added
- When boundation fails, it will now fail with a failure exit code
- Boundation now treats ESM seriously when ESM is desired
- Before boundation would just generate an ESNext edition for ESM targets, and hope for compatibility, which often would not actually be the case during consumer runtime
- Now boundation will generate multiple appropriate ESM editions, test each one against the targeted environments, then keep the edition that is most supported, and will error if ESM support could not be provided for an intended target environment
- When targetting modern environments, only the TypeScript targets necessary will be generated, with superflous ones skipped
- You can now select whether or not you want to generate only CJS, only ESM, or both
- For DocPad Plugins, ensure that
peerDependencies.docpad
is set correctly - Updated dependencies
- For TypeScript projects, specify the
tsconfig.json:targets
as the ECMAScript version specified in the targets Q&A - Dependabot now runs on Sunday
- Add Mergify configuration to auto-merge dependabot pull requests
- Updated dependencies
- For DocPad Plugins, add
our:setup:dpt
script to install test dependencies - For
docpad-plugintester
ensureeditions
dependency remains installed - For TypeScript projects, specify the
tsconfig.json:targets
as what was specified in the Q&A - Updated dependencies
- Fix support of
--lts
argument - Revised compatibility with DocPad ecosystem
- src -> source
- prettier should ignore test folder as makes comparisons harder if prettier is running on expected output
- docpad should install docpad-baseplugin
- docpad plugins should install baseplugin and plugintester and set their test script to the plugin tester
- docpad plugin tester uses kava and assert helpers
- docpad-plugin-babel uses some babel packages
- use npx when testing docpad plugins, otherwise plugin tester is not found
- run docpad ecosystem projects in serial mode when testing edition compatibility
- Fix
SyntaxError: The requested module 'typechecker' does not provide an export named 'default'
- Thanks to Thomas Reggi and Sumit Rai for issue #72
- Updated dependencies, base files, and editions using boundation
- fixed fetching the default entry filename (regression since v1.62.0)
- Updated dependencies, base files, and editions using boundation
- fixed automated dependencies being saved as dev dependencies, and automated dev dependencies not being updated (regression since v1.64.0)
- Updated dependencies, base files, and editions using boundation
- delete the
package.json:type
when we cannot determine what it should be - correct handling of mjs, cjs, and js files
- fix application of
bin
permissions - Updated dependencies, base files, and editions using boundation
- move from
.cjs
and.mjs
index files, topackage.json:exports
- if compiled-types exists, use that for the type information in the auto-loader
- package manager default changed from
yarn
back tonpm
- npm was swapped to yarn in v1.63.0
- boundation is now coded in ESM instead of CJS
- exact dependencies are now changed to the
^
range- this can overidden by specifying any exact versions inside
package.json:boundation.versions
- this can overidden by specifying any exact versions inside
- now we generate ESM editions for node.js, and do the
cjs
andmjs
magic- this is because esm modules compiled to cjs do not do
export default
butexport { default }
so a compatibility layer is necessary, such as precompiler magic, or generating an esm edition- See typescript and babel for their lack of support for
export default
- See typescript and babel for their lack of support for
- this is because esm modules compiled to cjs do not do
- actually set correct bin permissions for bin objects too
- set correct bin permissions for bin objects too
- prepare and use global install of
npm-check-updates
as it is much faster than going via npx - ensure that the bin path has executable permissions, which is required for yarn environments
- dev change: ensure all local imports have file extension to make lookups quicker
- yarn still needs ncu to update
package.json
- don't do
prefer-offline
as it causes inconsistent dependency versions (at least with yarn) - move removing old files from runtime to base, to increase performance
- remove yarn configuration files if we use npm
- if using yarn, run
yarn upgrade
- run
our:setup
after all deps are sorted
- purge package manager files at start
- better support for yarn and npm switching
- auto default to yarn, as it is more stable
- this can be overwritten using boundation config
- remove
upgradeAllDependencies
- you can enforce particular dependency verisons using boundation config
- check for dependencies that exist in both deps and devDeps, and trigger repair for this corrupted state
- repair will restore deps from a previous version
- remove minami on jsdoc projects, no longer preferred
- for yarn and npm, only uninstall installed deps to save time
- before this was done only for npm
- prefer quick installs (prfer-offline, no-fund, no-audit)
- remove support for yarn pnp, as support has changed
- add support for preventing use of busted package versions
- currently required code updates, maybe one day this can be configurable
- Don't use
package.json[entry]
fields to prefill entries, as it doesn't allow auto-detection when entries change - if you wish for a fixed entry, usepackage.json:boundation[whateverEntry]
- If a file exists within the source edition of the name
node
,deno
, orbrowser
it will be selected as the entry for the appropriate edition - If there is only one valid node edition, then
package.json:main
will point to the node entry - Renamed
mainEntry
toindexEntry
to serve more like a default in case there is conflicts - This allows greater support for cross-runtime packages, as custom entries can be provided for the different runtimes
- Updated dependencies, base files, and editions using boundation
- Add support for Dependabot v2
- Updated dependencies, base files, and editions using boundation
- Updated dependencies, base files, and editions using boundation
- Updated dependencies, base files, and editions using boundation
- For compatible TypeScript npm packages, automatically attempt to generate a deno edition
- Fixed a bug when applying numeric travis CI env vars
- Updated dependencies, base files, and editions using boundation
- Updated dependencies, base files, and editions using boundation
- fixed
types
property sometimes not being included, at times it should be, insidepackage.json
- fixed json projects being compiled with babel
- fixed travis
DELETE
requests - Updated dependencies, base files, and editions using boundation
- Updated dependencies, base files, and editions using boundation
- Fix compiled-types being generated for things other than the source directory, which causes compiled types to fail to be included
- Fix typescript compilation always passing, due to previous lack of wrapping the tsc fix in parenthesis
- Fix balupton entries in maintainers and contributors
- Don't output tsconfig
lib
property if it would be empty - Updated dependencies, base files, and editions using boundation
- Fix the editions autoloader being used for CommonJS projects that also targetted browsers
- Fix travis email encoding on some repositories
- Updated dependencies, base files, and editions using boundation
- Use the Travis HTTP API instead of the buggy travis CLI
- To automate it:
- Set
TRAVIS_COM_TOKEN
to the token from https://travis-ci.com/account/preferences - Set
TRAVIS_ORG_TOKEN
to the token from https://travis-ci.org/account/preferences
- Set
- To automate it:
- Updated dependencies, base files, and editions using boundation
- Updated dependencies, base files, and editions using boundation
- if typescript, compile types to
compiled:types
directory and use that - revert using npx, as npx always wants to install the package and this is not able to be disabled
If a full specifier is included, or if --package is used, npx will always use a freshly-installed, temporary version of the package. This can also be forced with the --ignore-existing flag.
- use npx for all the applicable npm script binaries
- Updated dependencies, base files, and editions using boundation
- fix
packageModule
- was failing on bevry/caterpillar-examples - browser != dom usage, so now ask about dom specifically
- fix
desiredNodeOnly
defaulting to unexpected values - fix
desiredNodeOnly
being ignored if already an LTS
- add support for the bevry cdn as an alternative to cdn deployments to surge
- travis may still have used travis-ci.org despite travis-ci.com being active, now it is explicit which to use for all calls
- Updated dependencies, base files, and editions using boundation
- Updated dependencies, base files, and editions using boundation
- npx all the things for greater environment compatibility and reduction of conflicts
- use dynamic source dir for jsdoc
- Web worker support now requires the
webworker
keyword instead of theworker
keywords - Added keywords for appropriate result targets and languages
- Added tsconfig lib entries for appropriate keywords
- Fixed github commit fetching (for some reason
fetch-h2
was timing out, swapping tonode-fetch
resolved the problem) - Only add deps for the active editions, rather than also the disabled editions
- Added missing dev deps
- Updated dependencies, base files, and editions using boundation
- Add support for web workers, determined by presence of the
worker
keyword - Add
desiredNodeOnly
question - If
my:deploy
exists:- Use
deploy-custom
travis script - Use
deploy
script to do the whole shebang
- Use
- Fix Node 14 being desired but not applied
- Update with TypeScript ES targets with the latest
- TypeScript browser target should be what is currently implemented
- API documentation link should not include package scope
- Add update-contributors when scaffolded against packages
- Latest Next.js and TypeScript conventions
- Ensure desired Node.js version is not beyond supported Node.js version
- Replace
githubauthquerystring
withgithubauthreq
- Updated dependencies, base files, and editions using boundation
- correct readme format
- fix missing fullstop
- update tutes and guides link
- improve web browser demonstration link
- Updated dependencies, base files, and editions using boundation
- correct readme format
- docs link will now be after the usage header
- typescript docs link will go to the
globals
page to show the actual documentation and not a hosted readme
- added browser entry
- allows
browser
andmodule
fields to point to a file that doesn't have anything to do with node
- allows
- correct readme format
- install will now be before history
- docs link will now after usage
- docs link text changed
- toggle language keywords
- enables projects to display the correct details for
export-default
- enables projects to display the correct details for
- Updated dependencies, base files, and editions using boundation
- fix zero targets
- update boundation config for latest
- support multiple bin executables
- fix coffeescript compile target
- trim editions that fail rather than error
- move travis to after runtime
- fix website edition
- fix edition tags being output as an object
- don’t do babel workaround for default exports
- fix non-automated prior answers to choices
- fix babel after recent typescript compiler support
- edition description improvements
- support typescript compiler
- question function context is now the question
- skip subsequent editions if prior one passed all targets
- Updated dependencies, base files, and editions using boundation
- correctly make dependanbot only submit PRs for security yet merge all
- do not proceed if get commit failed
- re-add
next.config.js
creation for serverless setting - fixes for typescript next.js websites
- support module outputs, add github sponsors badge
- fixes for typescript websites
- spawn fixes, dep updates, fix false priate trim
- yarn detect, fix lts defaulting for website/json
- fix npm private
- Updated dependencies, base files, and editions using boundation
- fix dependabot security value
- Updated dependencies, base files, and editions using boundation
- sort
package.json:jspm
field - ensure latest is not installed as exact
- fix isES5 check
- change dependanbot
update_type
tosecurity
- Updated dependencies, base files, and editions using boundation
- Updated dependencies, base files, and editions using boundation
- fix
bin.js
beingindex.js
- fix bin being replaced accidentally
- Updated dependencies, base files, and editions using boundation
- fix
--lts
causing node version to reduce if higher - support
package.json:boundation
configuration - support ES5 and source browser editions
- fix dependabot, support ts ? chaining, fix versions compat, update deps
- fix a type error with node major version
- Updated dependencies, base files, and editions using boundation
- update node version list to the latest
- LTS question now clearer with correct default
- add new funding conventions, add depandabot
- fix travis org/com selection
- enable
--auto
for skipping all - fix docpad plugin being the default on new projects
- fix lts default
- set configuration via cli args
- make travis non-interactive, add
GITHUB_API
support - output the multiple browser editions if they exist
- better support for json only projects
- don’t fail by making two browser editions on json
- simpler
funding
field - more robust lts node version fetching
- change dependabot to daily instead of live
- workaround for
0.1
as0.10
values on arg setting - support downgrading certain deps if needed
- update deps
- Apply
module
field if desired if abrowser
edition exists - Place
module
field afterbrowser
field - Simplified LTS discovery
- Add
ltsNodeOnly
question - Run prettier on source if prettier exists
- Updated dependencies
- If react packages are peer dependencies, then install them as dev dependencies, instead of dependencies
- Have yarn ignore engines
- Add static directory to typescript includes
- If the project has react, then enable react in languages
- Add node 12 to support node versions
- Updated dependencies
- Scaffolded files now reflect CommonJS Modules vs ES Modules.
- No longer scaffold
tsconfig
file withresolveJsonModule
as it caused too many issues. - Updated the stylelint disable reference URL for the new location
- If there is no
test
script, then inject a noop one, to prevent tests from failing - No longer crashes if
.travis.yml
does not exist - Updated dependencies
- use latest react version, rather than next, as 16.8 is now released
- update deps
- complete zeit stack support for now 2 and next.js 8
- add support for yarn
- don’t use stylelint with now, due to it being too large
- boundation now handles stylelint support, to rather than bevry/base, such that we can add jsx support to it
- update typescript eslint support for new packages
- add support for mdx to next
- improved tsconfig handling, it is now more obvious
- update travis for latest cache rules, and to trim empty fields
- prevent test script from being trimmed if it existed
- ensure missing source edition doesn’t throw
- if for some reason
exists
throws, tell us why - make engines is
>
= on website projects too, in order to prevent yarn from whining - better website project detection
- support editions for website projects
- use
githubauthquerystring
- updated deps
- Add react eslint plugins, and types, for Next.js projects
- Use the canary version of
@zeit/next-typescript
- Updated TypeDoc to latest standard version, as the bugfix as been released
- Better
types
file detection, try forindex.d.ts
, thensource/index.d.ts
, thensource/index.ts
- Support multiple documentation tools at once. So if there is JavaScript and TypeScript,
jsdoc
docs will go indocs/jsdoc/
andtypedoc
docs will go insidedocs/typedoc/
- Fixed consumption of types on TypeScript projects. The
package.json
:types
will now point to the source edition main entry. The priorindex.d.ts
generation script from v1.23.0 was producingFile ‘index.d.ts' is not a module.ts(2306)
. - Ensure
our:verify:typescript
does not emit
- Fix
binEntry
being asked for even thoughbin
was false - Fixed
joe
not being uninstalled when replaced withkava
our:clean
now also clears the.next
directory- Ensure latest
react
,react-dom
,next
, andnow
dependencies are being used
- Allow changing project and website types
- Correctly generate now and next website configurations
- Streamlined the question and answer flow, surrounding project type, website type, and environment variables
- Questions regarding environment variables are now optional
- Support Now v2 deployments, and Next.js on Now types
- Internal changes
- Updated version handling to support pinned versions
- Travis configuration will only be updated if it is desired
- Revised the inquirer extensions, such that:
- The extensions operate reliably
- That
when
still functions as when - That dim now dims correctly
- That the reason for a bypass is not outputted
- If there are multiple
package.json:bin
entries, then exit with an explanation of our lack of support
- Only do the
joe
tokava
rename ifjoe
was installed
- Remove usage of the deprecation
package.json
fieldpreferGlobal
- Fix running when there are no editions
- Ask if we would like adaptive support for old versions, so that we can no opt out of it (say when we are writing source code that targets only our runtime node version)
- Test node versions now default to the supports node versions
- Update typedoc
- Documentation detection is more reliable
- Documentation will now be generated based on secondary language, instead of primary
- TypeDoc will now ignore
node_modules
and test files - ESLint will now ignore
vendor
andnode_modules
- If the source edition used
import
, then the browser edition will too- As expected, edition tags and descriptions are correctly adjusted
- For projects where TypeScript is a secondary language:
- TypeDoc documentation will be generated
tsconfig.json:isolatedModules
will be disabled to allow stopuse strict
from erroring
- For projects that are TypeScript:
- Adjusted
tsconfig.json:maxNodeModuleJsDepth
to support dependencies that have JSDoc comments package.json:types
will now point to a generated declaration file, instead of the source code
- Adjusted
- fix
joe
tokava
rename being ineffective (feature introduced in v1.20.0)
- better support for now.sh websites
-
question flow now skips questions which we already know the answer to, and ignores questions that are not applicable, while outputting their inferred result, this offers greater reliability and comprehension and speeds things up for the user
-
updated travis to support travis .com and .org, with appropriate detection of availability
-
added support for bin entries
-
tooling changes
- adaopted prettier
- move to eslint-config-bevry
- support the plugins it adapts to
- remove the old eslintrc file
- add babel-plugin-add-module-exports to ensure compatibility between import/require
- move from joe to kava, which simplifies test running, also do code renames accordingly
-
package changes
- fix scripts that utilise globs
- added documentation detection
- better basename detection
- trim empty objects in package.json writes
- add sorting for new keys
- support preferGlobal if bin entry was provided
- remove the installation of self altogether, rather than just for specific instances
- remove dependencies before adding dependencies
- fixes adding babel, then removing the old babel, which makes the babel cli unavailable
- fix scripts that utilise globs
-
editions changes
- support for
.
source directory - better desription support for node and browser targets
- better non-edition support for entry, browser, test, and bin
- edition detection is now more accurate, reliable, and less complicated
- fixes case where say edition-0.12 runs only for node 0.12, before its engines would be set to >=0.12, when now its engines are just what it supports
- also fixes issue where editions that support older versions, but not their target, were getting trimmed, despite their need
- support for
- Added support for editions v2.1
- Added support for TypeScript, with babel and eslint integration, and types field set for consumption
- Added edition testing for node v11
- Added support for custom babel configuration in
package.json
- More effecient edition support
- Automatic babel detection and removal if not needed
- Safer autoloader cleanup of
index.js
andtest.js
if they were not autoloader files - Updated dependencies, base files, and readme
- Fix crash when git remote is empty
- Fixed nowName being an object for a new now project
- Update badges for bevry
- Set nowToken and NowTeam for travis if desired
- Fixed stylelint install (for websites) and removals for non-websites
- Allow boundation to work without editions, which is the case for websites
- Fixed website types failing with
You must provide a "choices" parameter
- always output boundation location, version, and project location
- fix custom sections in ignore files not being kept
- update for latest docpad plugin conventions
- trims
.babelrc
file, as we do it viapackage.json
- help ensure contributors and badge defaults exist
- prefer git details over package details, as package could be a template
- ensure editions work on windows, and support unique compiled editions without autoloader
- fix npm uninstalls not working
- only write editions test loader if a test file exists
- remove
our:setup:docpad
as it is no longer unneeded - move
upgradeAllDependencies
questions to a better order position - update dependencies
- Fixed edition descriptions like
coffeescript compiled for node.js true with require for modules
- will now be
coffeescript compiled for node.js with require for modules
- will now be
- Fixed
TypeError: chalk.bold.underline.orange is not a function
Edition engines are now the range of unique supported versions for that edition, and are trimmed and passed accordingly.
For instance, say edition:esnext
supports node 6, 8, 10 and edition:node:0.8
only node 0.10, 0.12, 4.
You wouldn't want edition:node:0.8
to run against node 6, 8, 10 via an engine of >0.10
.
As such, targeted editions now have their engines set to the specific node versions they support.
So for this example, edition:node:0.8
would have the engines 0.10 || 0.12 || 4
instead of >0.10
.
This can be seen from the following log output:
determining engines for edition [edition:esnext]...
passed: 6.14.3, 8.11.3, 10.8.0
unique: 6.14.3, 8.11.3, 10.8.0
supported: 6.14.3, 8.11.3, 10.8.0
failed: 0.10.48, 0.12.18, 4.9.1
unique: 0.10.48, 0.12.18, 4.9.1
required:
...determined engines for edition [edition:esnext] as [>=6] against [0.10.48, 0.12.18, 4.9.1, 6.14.3, 8.11.3, 10.8.0]
determining engines for edition [edition:node:10]...
passed: 0.10.48, 0.12.18, 4.9.1
unique: 0.10.48, 0.12.18, 4.9.1
supported:
failed: 6.14.3, 8.11.3, 10.8.0
unique:
required:
The edition [edition:node:10] had no unique node versions that it supported, so will been trimmed
determining engines for edition [edition:node:8]...
passed: 0.10.48, 0.12.18, 4.9.1
unique: 0.10.48, 0.12.18, 4.9.1
supported:
failed: 6.14.3, 8.11.3, 10.8.0
unique:
required:
The edition [edition:node:8] had no unique node versions that it supported, so will been trimmed
determining engines for edition [edition:node:0.10]...
passed: 0.10.48, 0.12.18, 4.9.1
unique: 0.10.48, 0.12.18, 4.9.1
supported: 0.10.48, 0.12.18, 4.9.1
failed: 6.14.3, 8.11.3, 10.8.0
unique:
required:
...determined engines for edition [edition:node:0.10] as [0.10 || 0.12 || 4] against [0.10.48, 0.12.18, 4.9.1, 6.14.3, 8.11.3, 10.8.0]
removing useless editions edition:node:10, edition:node:8...
...removed useless editions
- All dependencies will now only be updated if you specify so
- Fixed coffeescript compilations
- Fixed only one edition being added to babel env, instead of all applicable ones
- Fixed
documentation
dependency not being added under circumstances when it was needed
- Don't write
babel
property if it is empty - Relocate root source files to their new locations rather than deleting them
- Correctly set extension in browser field
- Ran boundation on boundation
- Ensure
version
property exists - Support for multiple languages
- Support for now.sh deployments
- Updated for version 2 of the editions autoloader, enabling the following changes:
- Editions are now replaced with autogenerated ones, to ensure the latest conventions are applied
- Editions are now generated to target specific node and browser environments
- Editions now have their engines.node property set to the node versions that edition supports
- Editions are trimmed if their engines already supported by an earlier edition
- Package engine is now determined automatically based on the minimum node version which passed the tests against any edition
- Dozens of minor fixes, improvements, and additions
- Removed npm email, username, password support
- Fixed type and default for npm auth token
- Maximum support node version now defaults to the latest known node version
- Add
--version
flag
- Swap node 9 to node 10 now that node 10 is out and node 9 is deprecated
- Change node engine to >=10 instead of >=9
- Updated dependencies
- Added support for
website
andcoded-website
project types- Closes #6
- Awesome Travis scripts are changed flags from
-s
tofsSL
- Fixed editions being replaced on existing JavaScript projects
- Repackaged
- Repackaged
- Renamed from
bevry-base
toboundation
- You can now scaffold new projects by running inside an empty directory
- Closes #1
- Now uses
npm
andnpm-check-updates
instead ofyarn
- Remove Gratipay badge as it no longer exists
- DocPad Plugins are now better supported, no longer need the placeholder files introduced in v1.10.0
- Now asks about the author information and will try and fetch it from git
- Now asks about the test entry location
- Closes #2
- The CoffeeScript v2 upgrade (from v1.9.0) now works with DocPad CoffeeScript projects
- Support CoffeeScript v2
- Support Biscotto for CoffeeScript documentation
- Support Editions without any directory
- Support JSON project type
- Use
GITHUB_CLIENT_SECRET
andGITHUB_CLIENT_ID
to fetch latest commit if available to prevent hitting github's rate limits
- Install surge dev dep if needed
- Fixed the previous release
- Fetch supported and LTS node versions dynamically
- Updated base files
- Keep and merge package scripts that are prefixed with
my:
- Closes issue #7
- Unset surge env vars on travis if not needed
- Updated base files
- Ask for the desired node version instead of guessing it
- Updated base files
- Updated base files
- Use awesome-travis commit instead of master
- Closes issue #3
- Fix
coffee-script
dep (when needed) always being moved to devDeps- Closes issue #11
- Delete legacy
directories
field- Closes issue #9
- Don't fail when using a SSH git remote
- Support Auth Tokens for NPM instead of the Email, Username, and Password combination
- Updated supported node versions for travis
- Output travis environment variables
- Updated base files
- Convert edition v1.0 standard to edition v1.1+
- Closes issue #12
- Delete old
nakeConfiguration
property- Closes issue #8
- Fixed busted
docs
npm script due to typo
- Installing yuidoc now works
- Update history file standard
- Closes issue #4
- Fixed
mkdir: source: File exists
regression from v1.3.0
- Fixed some misplaced code
- No longer fails right away when scaffolding empty directories
- Still fails in the above case as the test file does not yet exist, will address in a future release
- Before we run the tests, run
our:setup
first
- Perform a
yarn upgrade
after theyarn
- Put travis customisation behind a flag
- Don't install testing deps if DocPad provides them
- Fixed travis yaml writing risking curruption
- Fixed travis env vars risking undoing the progress of others
- Fixed
test.js
andindex.js
still being downloaded under circumstances when they shouldn't - Update the DocPad dev dependency if it exists
- More extensive package.json object sorting
- CoffeeScript projects now properly supported
- DocPad plugins now properly supported
- Old dependencies are now removed
- Old files are now renamed or removed
- Initial working release