Changelog
Backlog
-
Add a ‘real’ command line parser for
lib/cli.js
like minimist - Deprecate Scrollex in favor of execa passing through to stdout/stderr
-
Go over all
process.env.*
and make sure they are only at the head ofconfig.js
- Hooks are ran with every build, but not when doing HMR. We might be able to hook into the asset manifest callback to work around this for assets, while lib/cli.js calls it for content (CAN DO, config.webpack.js contains a custom plugin example that shows this now)
-
Make it so that you can only build e.g. a homepage via
LANYON_EXCLUDE=* LANYON_INCLUDE=home.html,_layouts/default.html
. However, we first need this Jekyll issue resolved: https://github.com/jekyll/jekyll/issues/4791#issuecomment-289021488 -
Throw an error if we find legacy Jekyll residu such as
./vendors
or.bundle
-
Throw warning when not jekyll excluding:
- node_modules - .git
, like when you haveexclude: [vendor]
in your jekyll config -
Wait on https://github.com/imagemin/imagemin-cli/pull/11 and https://github.com/imagemin/imagemin/issues/226 and add image building from
assets/images
->assets/build/images
Next
Released: TBA. Diff.
- Consider solidifying some hacks like backendProxy or _assets rewrite from the content repo as lanyon options
-
Remove all occurances of docker/container, possibly bundle
_jekyll/jekyll.sh
with Lanyon - Deprecate LANYON_MINIMAL, and then delete many lines from .lanyonrc in c repo
- Remove example
v0.3.7
Released: 2021-05-31 Diff.
- Upgrade css dependencies
- [-] Do a
build:assets
beforewatch
in case_includes/_generated_assets/app-development-body.html
does not exist <– can be resolved vialanyon config
these days - Switch from Travis to GitHub Actions
v0.3.6
Released: 2021-04-29 Diff.
-
Do not build containers by default anymore. Docker is just too slow on macOS, so we’re going native Jekyll there via
LANYON_JEKYLL
. - Switch to Dart Sass
v0.3.4
Released: 2021-04-29 Diff.
- Do not build Docker containers anymore by default (as Transloadit doesn not use them anymore. Too slow on macOS.)
- Change to Transloadit linting
- Support nested node_modules — specifying absolute paths makes Webpack look only in root node_modules
-
Initialize cache directory without running a build via
lanyon configure
- Upgrade to Webpack 5
- Replace OptimizeCSSAssetsPlugin with CssMinimizerPlugin
-
Add support for customEnv, allowing you to replace any
process.env.THING
with a value you set in your.lanyonrc.js
- Pass browser targets to babel-present-env (by default it targets ES5), resulting in smaller builds
v0.2.28
Released: 2020-08-02 Diff.
- Upgrade to Jekyll 4.1.1
v0.2.27
Released: 2020-07-24 Diff.
-
Add
jekyll-include-cache:0.2.0
v0.2.26
Released: 2020-07-24 Diff.
-
Add
--profile
when using LANYON_DEBUG -
More consistent
--verbose
(also respect it when usingLANYON_JEKYLL_WATCH
) - Add liquid-c for faster building
v0.2.25
Released: 2020-06-12 Diff.
-
Allow to not use Nodemon to kickstart Jekyll builds, but use Jekyll file watching directly via
LANYON_JEKYLL_WATCH
. Example:LANYON_JEKYLL_WATCH=1 LANYON_JEKYLL=${HOME}/code/content/_jekyll/jekyll.sh npx lanyon start
v0.2.24
Released: 2020-06-11 Diff.
-
Allow to pass in your own Jekyll install via
LANYON_JEKYLL
. Example:LANYON_JEKYLL=${HOME}/code/content/_jekyll/jekyll.sh npx lanyon start
v0.2.23
Released: 2020-06-09 Diff.
- Upgrade from Jekyll 4.0.0 -> 4.1.0
- Temporarily switch from jekyll/jekyll-> kevinvz/jekyll as long as a new official container does not exist https://github.com/jekyll/jekyll/issues/8240
v0.2.22
Released: 2020-06-09 Diff.
- BREAKING Remove LESS support in favor of SASS/SCSS
- BREAKING Cleanup unused node modules
v0.2.21
Released: 2020-06-09 Diff.
- Upgrade all gems as part of the Lanyon docker image
v0.2.20
Released: 2020-06-09 Diff.
- Pin Jekyll version to 4.0.0 (vs 4.0), because 4.0 also matches 4.0.1, which introduced a speed regression https://github.com/jekyll/jekyll/issues/8233
v0.2.19
Released: 2020-06-09 Diff.
- Upgrade deps
- Fix typo: Productioin
v0.2.18
Released: 2020-06-09 Diff.
-
Set
cache:true
for HTML Plugin so asset references aren’t written each time, triggering Jekyll builds for all pages that use them, which can be all of them.
v0.2.17
Released: 2020-06-08 Diff.
- Combine jQuery & Bootstrap window import rules
- Combine file & url loaders where safely possible
v0.2.16
Released: 2020-06-08 Diff.
- Less verbose exit
- Cleanup whitespace and internal webpack config structure
v0.2.15
Released: 2020-06-08 Diff.
-
Allow user to transform the assets that are injected into
_includes/_generated_assets/
via the override functionsruntime.headAssetTemplate
andruntime.bodyAssetTemplate
that you can set in your.lanyonrc
like so:module.exports.overrideRuntime = ({ runtime, toolkit }) => { runtime.headAssetTemplate = ({ htmlWebpackPlugin }) => { return `${htmlWebpackPlugin.tags.headTags}`.replace(/"\/assets\//g, `"https://transloadit.edgly.net/assets/`) } runtime.bodyAssetTemplate = ({ htmlWebpackPlugin }) => { return `${htmlWebpackPlugin.tags.bodyTags}`.replace(/"\/assets\//g, `"https://transloadit.edgly.net/assets/`) } }
v0.2.14
Released: 2020-06-08 Diff.
-
Fix bug: no longer reference
jekyll.lanyon_assets.yml
v0.2.13
Released: 2020-06-08 Diff.
- Fix bug: No longer use cache-loader before MiniCssExtractPlugin, so that CSS assets exist in entrypoints, even when nothing changed
-
Switch from
AssetsPlugin
toStatsWriterPlugin
/thx @goto-bus-stop -
BREAKING Switch to
splitChunks
. This means entrypoints have multiple assets now -
BREAKING Switch from
jekyll.lanyon_assets.yml
toHtmlWebpackPlugin
which creates html snippets to easier load multiple assets per entrypoint. These files are written to_includes/_generated_assets/
. To include, replace any occurance oflanyon_assets
, with CSS:<link href="/assets/build/app.461b4b389e7e6902e6e9.css" rel="stylesheet">
, for JS:<script src="/assets/build/app.ae60b3625255bfb26dee.js"></script>
. You’ll first want to run abuild
before doing astart
to prewarm the generated includes. It’s recommended to commit the development assets, but git ignore production ones by adding_includes/_generated_assets/*-production-*.html
to.gitignore
v0.2.12
Released: 2020-06-08 Diff.
-
Add BundleAnalyzerPlugin behind
LANYON_ANALYZE=1
flag. To use try e.g.LANYON_ANALYZE=1 LANYON_ENV=production npx lanyon build:assets
v0.2.11
Released: 2020-06-08 Diff.
-
Add BundleAnalyzerPlugin. To use try e.g.
make build-assets-production && open _assets/build/report.html
inside your project (or:LANYON_ENV=production npx lanyon build:assets && open _assets/build/report.html
)
v0.2.10
Released: 2020-06-05 Diff.
- Accumulate lanyon_assets rather than overwriting, because with caching, we sometimes only get passed JS assets, which effectively removes CSS asset references
v0.2.9
Released: 2020-06-05 Diff.
-
Move back from
noParse: (content) => /jquery|lodash/.test(content),
because it results inReferenceError: require is not defined
for_.get
v0.2.8
Released: 2020-06-05 Diff.
-
Move back from
eval-cheap-module-source-map
tosource-map
for production as it increased js builds by 15MB
v0.2.7
Released: 2020-06-05 Diff.
- [-] Add DllPlugin https://webpack.js.org/plugins/dll-plugin/ <– this requires several webpack calls and entry points using eachother, high hanging fruit
- [-] Use SplitChunksPlugin https://webpack.js.org/guides/build-performance/#smaller--faster <– increases build time (as indicated in https://webpack.js.org/guides/build-performance/#avoid-extra-optimization-steps) and generates many more assets to include it seems, high hanging fruit
-
Add cache-loader https://github.com/webpack-contrib/cache-loader/ in front of expensive non-babel loaders <– as it has its own caching. Clear cache directory on
"postinstall"
inpackage.json
. -
Add cache-loader:babel
cacheDirectory: .lanyon
,cacheCompression:false
on babel-loader https://github.com/babel/babel-loader#options -
Limit fileset by making
include
as discrimating as can be -
Make sure we set a
recordsPath
https://webpack.js.org/configuration/other-options/#recordspath -
Minimize the number of items in
resolve.modules
,resolve.extensions
,resolve.mainFiles
,resolve.descriptionFiles
, as they increase the number of filesystem calls. -
No
Uglify
,Terser
,ExtractText
,[hash]
,[chunkhash]
,AggressiveSplittingPlugin
,AggressiveMergingPlugin
,ModuleConcatenationPlugin
for dev mode. SetuglifyOptions.compress: false
for prod. -
Only use
ProgressPlugin
briefly, then remove -
Set
module.noParse: (content) => /jquery|lodash/.test(content)
https://webpack.js.org/configuration/module/#module-noparse -
Set
optimization: { removeAvailableModules: false, removeEmptyChunks: false, splitChunks: false, },
https://webpack.js.org/guides/build-performance/#avoid-extra-optimization-steps -
Switch sourcemaps to
eval-cheap-module-source-map
https://webpack.js.org/guides/build-performance/#devtool -
Use ThreadLoader https://github.com/webpack-contrib/thread-loader. For node-sass, set
workerParallelJobs: 2
. <– gives errors for css but seems to work for js
v0.2.6
Released: 2020-06-04 Diff.
- Less verbose Lanyon unless you turn on LANYON_DEBUG
- Remove font-awesome
- Remove SvgStoreWebpackPlugin
- Simplify postcss
- Remove cssnano
-
Remove ProvidePlugin (of
lodash
as_
without importing it) - Remove LoaderOptionsPlugin
- Remove CommonsChunkPlugin and friends
- Remove Visualizer statistics
v0.2.5
Released: 2020-06-04 Diff.
-
Add
.lanyon
to.gitignore
only once
v0.2.4
Released: 2020-06-04 Diff.
- Fix bug in asset writing
v0.2.3
Released: 2020-06-04 Diff.
-
Bail out if
assets
was empty - Always show deprecation traces for Node
v0.2.2
Released: 2020-06-04 Diff.
-
Store
orphaned
assets under said key
v0.2.1
Released: 2020-06-04 Diff.
- Fix JSX parsing
v0.2.0
Released: 2020-06-04 Diff.
-
Show Node.js deprecation traces when
LANYON_DEBUG=1
, as well as Webpack profile and progress - Add worker-loader
- Drop Node.js 8 support
- Make travis tests pass again
- Migrate from extract-text-webpack-plugin + style-loader -> mini-css-extract-plugin
- Migrate from UglifyJS -> terser-webpack-plugin@3.0.3,
- Upgrade autoprefixer@8.6.5 -> autoprefixer@9.8.0
- Upgrade css-loader@0.28.11 -> css-loader@3.5.3
- Upgrade file-loader@1.1.11 -> file-loader@6.0.0
- Upgrade less-loader@4.1.0 -> less-loader@6.1.0
- Upgrade less@2.7.3 -> less@3.11.2
- Upgrade nodemon@1.19.2 -> nodemon@2
- Upgrade optimize-css-assets-webpack-plugin@3.2.1 -> optimize-css-assets-webpack-plugin@5.0.3
- Upgrade postcss-loader@2.1.6 -> postcss-loader@3.0.0
- Upgrade resolve-url-loader@2.3.2 -> resolve-url-loader@3.1.1
- Upgrade sass-loader@7.3.1 -> sass-loader@8.0.2
- Upgrade style-loader@0.23.1 -> style-loader@1.2.1
- Upgrade webpack@3.12.0 -> webpack@4.43.0
v0.1.17
Released: 2020-04-22 Diff.
- Upgrade node-sass 4.12.0 -> 4.13.1
v0.1.16
Released: 2019-12-30 Diff.
-
Add
ignoreOrder
forExtractTextPlugin
to avoid: “Order in extracted chunk undefined” ¯_(ツ)_/¯
v0.1.15
Released: 2019-12-09 Diff.
-
Add
@babel/plugin-proposal-decorators
v0.1.13
Released: 2019-11-22 Diff.
-
Make uglification optional via
runtime.uglify = false
v0.1.12
Released: 2019-11-22 Diff.
- Make Lanyon look at browser config as passing in by project via runtime.browsers
- Upgrade to standard14
v0.1.11
Released: 2019-11-22 Diff.
- Revert from jekyll-paginate v2 to v1 because v2 isn’t Jekyll v4 compatible it turns out (https://github.com/sverrirs/jekyll-paginate-v2/issues/165)
v0.1.10
Released: 2019-11-22 Diff.
- Switch from jekyll-paginate v1 to v2
v0.1.9
Released: 2019-11-20 Diff.
-
Fix:
BrowserslistError: Unknown version 3 of safari
v0.1.8
Released: 2019-10-23. Diff.
-
Add
jekyll-last-modified-at:1.1.0
v0.1.7
Released: 2019-10-23. Diff.
- Add redirect_from
v0.1.6
Released: 2019-10-23. Diff.
- Add paginate tagsgenerator
v0.1.5
Released: 2019-10-23. Diff.
- Add jekyll seo-tag, sitemap, mentions, tagging
- Remove minimal-mistakes-jekyll
v0.1.4
Released: 2019-10-22. Diff.
- yarn add @babel/core@7.6.4 @babel/preset-react@7.6.3
v0.1.3
Released: 2019-10-22. Diff.
-
Add support for
extraAssetsSourceDirs
v0.1.2
Released: 2019-10-22. Diff.
-
Allow
process.env.ENDPOINT
to be used in JS
v0.1.1
Released: 2019-10-22. Diff.
-
Also allow
process.env.NODE_ENV
to be used in JS whenLANYON_ENV
is'development'
-
Allow
process.env.LANYON_ENV
to be used in JS
v0.1.0
Released: 2019-10-22. Diff.
-
(BREAKING) Upgrade to Babel 7 and the babel-env preset. Among things, you’ll need to change
Object.assign()
s to Object Spreads
v0.0.143
Released: 2019-09-25. Diff.
-
Switch to
eval-source-map
in dev which provides better sourcemaps (#20, thanks @lakesare)
v0.0.142
Released: 2019-09-04. Diff.
- Update dependencies (within major)
-
Make all processes less verbose, unless
LANYON_DEBUG=1
-
Remove
reloadThrottle
andreloadDelay
so that hopefullyreloadDebounce
in browsersync can persevere -
Crash lanyon if it catches a
SIGUSR2
(which could be thrown by Nodemon) - Crash nodemon (and hence lanyon) if its child-process-to-be-started-on-filechange (docker->jekyll) crash
-
Fix
git ignore
error
v0.0.141
Released: 2019-09-04. Diff.
-
Allow to pass in webpack resolve alias via
runtime.alias
v0.0.140
Released: 2019-09-03. Diff.
-
Don’t run in verbose mode by default (but allow passing in
LANYON_EXTRA_JEKYLL_FLAGS="--trace --verbose"
if more detail is needed)
v0.0.139
Released: 2019-09-03. Diff.
- Bring back stringex
v0.0.137
Released: 2019-09-03. Diff.
- Upgrade to Jekyll 4
- Upgrade to jekyll-feed 0.12.1 and minimal-mistakes-jekyll 4.16.6
- Deprecate jekyll-algolia, github-pages
v0.0.136
Released: 2019-08-09. Diff.
- Also add gem lockfile
v0.0.135
Released: 2019-08-09. Diff.
-
Install algolia via Gemfile & bundle update so that
jekyll algolia
becomes available
v0.0.134
Released: 2019-08-09. Diff.
- Replace lunrjs with algolia
v0.0.133
Released: 2019-08-09. Diff.
- Upgrade dependencies in docker image
v0.0.132
Released: 2018-09-04. Diff.
- Fix Travis & Babel issues
v0.0.131
Released: 2018-09-04. Diff.
- Fix Travis tests
-
revert: Allow to
setupContainer()
(but don’t use it yet)
v0.0.130
Released: 2018-09-04. Diff.
- Easier debugging of travis deploy failures
v0.0.129
Released: 2018-09-04. Diff.
-
Allow to
setupContainer()
(but don’t use it yet) - Write files as current $USER to avoid manual chowning
- Make failing hooks fatal
v0.0.128
Released: 2018-09-04. Diff.
- Upgrade SASS
v0.0.127
Released: 2018-08-22. Diff.
- Remove react as being bundled by lanyon /thx @Acconut
v0.0.126
Released: 2018-08-22. Diff.
- Remove coffeescript support /thx @Acconut
v0.0.125
Released: 2018-07-16. Diff.
- Upgrade gems and Jekyll from 3.7 -> 3.8 (which includes “Two massive performance improvements for large sites” - https://github.com/jekyll/jekyll/blob/master/History.markdown#380–2018-04-19)
v0.0.124
Released: 2018-07-13. Diff.
- Drop support for: Modernizr, Svgeezy, Bower
v0.0.123
Released: 2018-07-06. Diff.
- More consistent override methods
v0.0.122
Released: 2018-07-06. Diff.
- Add support for PostCSS
v0.0.121
Released: 2018-04-18. Diff.
- Pass a toolkit to lanyonrc with functions like dockerString
v0.0.120
Released: 2018-04-12. Diff.
- Fix initProject issues
v0.0.117
Released: 2018-04-12. Diff.
- Improved child process juggling
v0.0.116
Released: 2018-04-12. Diff.
-
Remove
shelljs
completely - Deprecate magic themeDir handling for now
- Use pkill instead of killall so it works on both Linux & OSX (thanks @Acconut)
- Restart lanyon container if it crashes
- Cleaner kills for cleanup
v0.0.115
Released: 2018-04-11. Diff.
- Figure out if incremental build is maybe actually working (is non-inc even slower?) investigate docker jekyll disk speedup
- Optionally offer docker-sync for faster build times on osx https://github.com/EugenMayer/docker-sync/wiki/2.-Configuration
- Simplify how hooks work
v0.0.114
Released: 2018-04-10. Diff.
- Fix JEKYLL_ENV in Docker
v0.0.113
Released: 2018-04-10. Diff.
-
Move
--display-optimization-bailout
cli arg to webpack config instead - Make sure webpack does not immediately return
- Simplify docker volumes (and avoid nesting)
v0.0.112
Released: 2018-04-10. Diff.
- Allow to disable incremental
v0.0.109
Released: 2018-04-09. Diff.
- Move postbuild hook into nodemon
-
Make nodemon respect jekyll exclude, deprecating
contentIgnore
- Don’t let Lanyon call lanyon
- Split up config over individual files per tool
-
Allow
.lanyonrc.js
in projectDir to temper with config (deprecating many env vars) - Require Node 8+ (and ditch babel)
- Require Docker (and ditch rbenv, rvm, system support)
v0.0.108
Released: 2018-03-26. Diff.
- Remove jQuery from Lanyon
v0.0.107
Released: 2018-02-26. Diff.
-
Fix
LANYON_DISABLE_JEKYLL_PLUGINS
v0.0.106
Released: 2017-10-24. Diff.
- Introduce a browsersync reloadDelay reloadDebounce reloadThrottle
- Introduce a nodemon delay of 600ms
v0.0.105
Released: 2017-10-24. Diff.
-
Fix the disabling of setting no plugins via e.g.
env LANYON_DISABLE_GEMS=jemoji,jekyll-redirect-from,jekyll-feed,jekyll-sitemap LANYON_EXCLUDE=** LANYON_INCLUDE=home.html,_layouts/default.html lanyon start
v0.0.104
Released: 2017-10-18. Diff.
- Advocate LANYON_DISABLE_JEKYLL_PLUGINS
-
Switch from
babel-preset-2015
tobabel-preset-env
- Deprecate Node 0.12 and v4 support (now v6+)
v0.0.103
Released: 2017-10-18. Diff.
- Downgrade uglify-js
v0.0.102
Released: 2017-10-18. Diff.
- Add minimal-mistakes-jekyll
- Downgrade less
v0.0.101
Released: 2017-10-18. Diff.
-
Make Jest run on
./src
-
Rename
gems
->plugins
to avoid deprecation notice:Deprecation: The 'gems' configuration option has been renamed to 'plugins'. Please update your config file accordingly.
-
Upgrade
github-pages
to164
(and therebyjekyll
to3.6
) - Add Scope Hoisting
- Upgrade to Webpack v3
v0.0.100
Released: 2017-09-05. Diff.
- Fix bug in: Rebuild docker gems only if there are custom gems in the project
v0.0.99
Released: 2017-09-05. Diff.
- Yarn & npm fixes
v0.0.97
Released: 2017-09-05. Diff.
- Rebuild docker gems only if there are custom gems in the project
v0.0.96
Released: 2017-09-03. Diff.
- Back to rootless docker runs, should fix Travis CI failure where shims written by container are inaccessible: https://travis-ci.org/kvz/lanyon/jobs/271361343#L765
-
Upgrade github-pages to
157
v0.0.95
Released: 2017-09-03. Diff.
- Allow docker variant to install custom gems
- Avoid promise warnings by catching async/await in install
- Upgrade parallelshell
v0.0.94
Released: 2017-07-10. Diff.
- Fix dependency pathfinding of local lanyon
v0.0.93
Released: 2017-07-10. Diff.
- Upgrade github-pages, nokogiri, and minimum required ruby to 2.1.0
- Reset shims while rebuilding container
- Respect docker while verifying Ruby
- Ship “jekyll-lunr-js-search@3.3.0”
v0.0.92
Released: 2017-06-29. Diff.
-
Fix js sourcemaps when UglifyJsPlugin was enabled (now adding
//# sourceMappingURL=app.6fce32551585c35c4b80.js.map
again)
v0.0.91
Released: 2017-06-29. Diff.
- Upgrade npm deps
v0.0.90
Released: 2017-06-23. Diff.
-
Respect local
.babelrc
, allowing for e.g. transform-object-assign to work in content and thus fix issues with IE 11
v0.0.88
Released: 2017-06-02. Diff.
-
Add support for
_config.develop.yml
. If it exists, it will be merged over_config.yml
but “under” magic keys:gems
,exclude
,include
that can be influenced viaLANYON_DISABLE_GEMS
LANYON_EXCLUDE
LANYON_INCLUDE
env vars
v0.0.87
Released: 2017-05-29. Diff.
- Make common bundles use a hash in their filenames as it might resolve behavior reported in https://github.com/webpack/webpack/issues/959
v0.0.86
Released: 2017-04-29. Diff.
- Upgrade github-pages 129->134 and jekyll 3.3.0->3.4.3
v0.0.85
Released: 2017-04-27. Diff.
-
Avoid:
Warning: It looks like you're using a minified copy of the development build of React.
v0.0.84
Released: 2017-04-25. Diff.
- Improved React support
v0.0.83
Released: 2017-04-21. Diff.
- Fix bundling npm modules that have a browser entry point and a node entry point (thx @goto-bus-stop)
-
Fix bundling modules that happen to have the same name as a Webpack loader that’s also installed. (BREAKING: all modules now exlicitly need to be suffixed with
-loader
) (thx @goto-bus-stop)
v0.0.82
Released: 2017-04-20. Diff.
-
Use
source-map
in production vs the inline variant :o
v0.0.81
Released: 2017-04-05. Diff.
-
Also scan
npmRoot
for modules, so that consumers that havewebsite
as aprojectDir
can still have Lanyon locatebabel-loader
,style-loader
, etc. Removed resolvingbabel-loader
due to this. Previously was done for asset loading.
v0.0.80
Released: 2017-04-05. Diff.
-
Also scan
npmRoot
for modules, so that consumers that havewebsite
as aprojectDir
can still have Lanyon locatebabel-loader
,style-loader
, etc. Removed resolvingbabel-loader
due to this.
v0.0.79
Released: 2017-04-05. Diff.
-
Resolve
babel-loader
so the projectDir does not need it
v0.0.78
Released: 2017-04-05. Diff.
- Allow any kind of hook
v0.0.77
Released: 2017-04-05. Diff.
-
Allow hooks to only run on e.g.
build:content
vs also onbuild:assets
. - Run dependency version checks in parallel to speed up boottimes
v0.0.75
Released: 2017-04-05. Diff.
-
Fix less error by moving resolve-url-loader after less parsing (loaders are used from right to left)
( WARNING in /Users/kvz/code/lanyon/~/css-loader?{}!/Users/kvz/code/lanyon/~/less-loader/dist?{}!/Users/kvz/code/lanyon/~/resolve-url-loader!../assets/stylesheets/app.css.less (Emitted value instead of an instance of Error) resolve-url-loader cannot operate: CSS error /Users/kvz/code/tus.io/assets/stylesheets/app.css.less:21:1: missing '{')
-
Enable Bower via https://github.com/lpiepiora/bower-webpack-plugin/issues/39#issuecomment-291114301 vs
BowerWebpackPlugin
v0.0.74
Released: 2017-04-05. Diff.
- More safe version checking
v0.0.73
Released: 2017-04-05. Diff.
-
Ship a
deploy
executable for Travis instead of generating one, which relies onlanyon install
, which is not a file, resulting in more complicated.travis.yml
files:./node_modules/lanyon/scripts/ci-deploy.sh
v0.0.71
Released: 2017-04-05. Diff.
-
Install an install-shim because travis needs full paths to execute vs scripts in the
before_deploy
step - Display versions of dependencies for easier debugging
v0.0.70
Released: 2017-04-05. Diff.
-
Upgrade from webpack
1.14.0
->2.3.1
(BowerWebpackPlugin don’t work yet)
v0.0.69
Released: 2017-03-28. Diff.
-
Add support for
extraWebroots
so that you can serve e.g. dummy dynamic content in development
v0.0.68
Released: 2017-03-24. Diff.
- Always profile Jekyll on one-off builds
- Better error handling for YAML exceptions
-
Fix:
YAMLException: unacceptable kind of an object to dump [object Undefined]
v0.0.67
Released: 2017-03-24. Diff.
- Fix issue where production builds reported bad sourcemaps
-
Fix issue where empty
LANYON_DISABLE_GEMS
list results in no gems being enabled
v0.0.66
Released: 2017-03-24. Diff.
- Fix issue where multiple webpack instances where running
v0.0.65
Released: 2017-03-23. Diff.
-
Support for
LANYON_DISABLE_GEMS=jekyll-feed,jekyll-sitemap
allowing you to temporarily disable time consuming plugins
v0.0.64
Released: 2017-03-23. Diff.
-
Teach Lanyon about zero leading version numbers such as
Docker version 17.03.0-ce
-
Now that jemoji relies on
gemoji
3.0+ (vs ~2.0), add cli command to generate emoji intoassets/images/emoji
(build:emoji
callingbundle exec gemoji extract assets/images/emoji
) -
Switch from
eval-cheap-source-map
toinline-eval-cheap-source-map
for presumably faster builds https://github.com/erikras/react-redux-universal-hot-example/issues/616 - Upgrade GitHub pages from 112 to 129
-
Remove
jekyll-crosspost-to-medium
as built in gem -
Downgrade
css-loader
to 0.14.5 to address superslow HMR builds https://github.com/webpack-contrib/css-loader/issues/124 -
Pass down
DEBUG
env var -
Upgrade
scrolex@0.0.27
v0.0.63
The release that wasn’t
v0.0.62
Released: 2017-02-18. Diff.
- Upgrade node-sass to address peerInvalid: https://travis-ci.org/kvz/lanyon/jobs/202922768#L455
v0.0.61
Released: 2017-02-18. Diff.
-
Fix bug: Do not add empty items to
exclude
(or everything gets excluded)
v0.0.60
Released: 2017-02-17. Diff.
-
Add support for e.g.
LANYON_EXCLUDE=_posts,_demos
env var, allowing you to temporarily not build content -
Instead of overwriting a project’s
exclude
, add to it. - Upgrade to resolve-url >2.0, fixing a bug where leading to broken font-awesome icons in chrome in dev mode
- Upgrade minor & patch level dependencies
v0.0.59
Released: 2017-02-15. Diff.
-
Upgrade to
scrolex@0.0.26
which will default topassthru
mode
on Travis CI and non-TTY environments
v0.0.58
Released: 2017-02-15. Diff.
- Fix bug that prevented resetting of shims
v0.0.57
Released: 2017-02-15. Diff.
- Fix rvm homebrew lock on Travis
-
Add support for
postbuild
hooks
v0.0.56
Released: 2017-02-15. Diff.
-
Only use singlescroll on
start
-
In boot, treat
lanyon
like any othernpmBin
-
Switch to using rvm
--binary
to avoid compile issues (https://travis-ci.org/kvz/lanyon/jobs/201786728#L1679)
v0.0.55
Released: 2017-02-15. Diff.
-
Find
node_modules/.bin/lanyon
innpmRoot
vsprojectDir
v0.0.54
Released: 2017-02-14. Diff.
- Make gem-paths absolute
-
Use npm
files
v0.0.53
Released: 2017-02-14. Diff.
-
Remove
lib
from Git again now that we can build on older nodes now that the es2015-loose problem is solved -
Also run
lanyon install
in the Travis deploy shim, so that we can opt to not install lanyon in unrelated branches -
Switch from
es2015-loose
toes2015
babel preset to resolve build issues on Travis - Add Dockerfile for testing building on node 0.12 locally
- Remove imagemin so long as we’re not using it and it’s causing build problems (gifsicle: Assertion failed: 0 (../deps/uv/src/uv-common.c: uv_err_name: 143))
v0.0.52
Released: 2017-02-11. Diff.
-
Localize
GEM_HOME
andGEM_PATH
in container - Only run acceptance test on all platforms. Rest of the tests on Node 6 only
-
Distribute the
Gemfile.lock
as well, allow updates viaLANYON_UPDATE_GEM_LOCKFILE=1
- Switch from ava -> jest
-
Fix bug:
the input device is not a TTY
-
No longer auto install ruby things upon
install
, require an explicit call tocli.js install
instead - Introduce async/await for internal use (install)
-
Add scrolling output via
scrolex
-
Rename
postinstall
toinstall
v0.0.51
Released: 2017-01-31. Diff.
- Add webpack-svgstore-plugin (@arturi, #6)
-
Remove underscore version from libxml2 on brew osx prefix as
/usr/local/Cellar/libxml2/2.9.4
exists but advertised/usr/local/Cellar/libxml2/2.9.4_2
does not -
Add
container:rebuild
to rebuild a container from scratc (docker build --no-cache
)
v0.0.50
Released: 2017-01-06. Diff.
- Add pkg-config to resolve another Another Nokogiri error https://travis-ci.org/kvz/lanyon/jobs/193744753#L418
-
Skip installs if
LANYON_NOINSTALL==1
- Switch to ES6 (see https://github.com/transloadit/botty/blob/738f9d51417d84d429cd4b558898bc3a9826cd9d/decaf.sh), mostly to profit from template strings. Transpile down to ES5 for npm as Lanyon aims for portability.
v0.0.49
Released: 2017-01-06. Diff.
-
Add experimental support for optimizing images via
build:images
(fromassets/images
toassets/build/images
) -
Build docker container inside
.lanyon
dir. Write config fromutils
like any other config, vs copying over files (allows for intelligent cache invalidation later on also) - Do not use docker cache so we get a fresh Gemfile. Fixes https://travis-ci.org/kvz/lanyon/jobs/188882616#L1530
-
Add
container:connect
command to look inside docker container - Give Lanyon Jekyll theme awareness
v0.0.48
Released: 2017-01-04. Diff.
-
Upgrade to github pages gem version
v104
->v112
(https://github.com/github/pages-gem/compare/v104…v112) -
Provide access to gemlist of gh pages gem for internal use via
./lib/cli.js list:ghpgems
- Avoid new installs preferring nokogiri 1.7 over 1.6 so more systems can use Ruby 2.0 vs then nokogiri 1.7 required 2.1
-
Also initProject at
start
so that config can be written if users type start as a first run - Add a website http://lanyon.io
- First go into projectDir before running deploy, to support nested websites
v0.0.47
Diff.
-
Basic support for injecters via
contentIgnore
andcontentScandir
v0.0.46
Diff.
-
Add support for
OptimizeCssAssetsPlugin
v0.0.45
Diff.
-
Support for a
js-untouched
directory, where js won’t pass through babel
v0.0.44
Diff.
- Fix babel source maps
- Only exit on error when in production mode`
v0.0.43
Diff.
-
Use Babel ES2015 as shipped by Lanyon, ignoring any project’s
.babelrc
(BREAKING) (We might support sth more intelligent in the future, but for now are favoring convention & near-zero-setup by the project) - “Don’t use JSX loader, use babel instead” - https://github.com/petehunt/jsx-loader
- Fix bug: test: could not interpret expression
v0.0.42
Diff.
- Ditch uglify loader in favor of plugin, as the loader cannot handle ES6 (even though the babel loader is ran first)
v0.0.41
Diff.
- Fix bug where only incremental builds receive asset indices
-
Only reset
jekyll.lanyon_assets.yml
if it does not exist
v0.0.40
Diff.
- Add globby as a dependency
v0.0.39
Diff.
- Fix deploy failsafe
v0.0.38
Diff.
-
No longer exclude
node_modules|bower_components|vendor
by default - Disable resolve-url-loader for less as less currently produces invalid css (in its eyes)
- Make errors fatal in production
- Include plain css with ExtractTextPlugin
v0.0.37
Diff.
- Make Deploy check aware of hashed cachebuster assets
- Fix less resolve-url-loader sourcemap issues
v0.0.36
Diff.
- Move uglify loader to deps (vs devDeps)
v0.0.35
Diff.
-
Build assets first, so that Jekyll can copy it into
_site
, and alsojekyll.lanyon_assets.yml
exists in time - Add debugging notes
- Add uglify as a dependency
v0.0.34
Diff.
- More optimization for production builds
-
Fix svgeezy (which works with a local
svgeezy
var, not one onwindow
) -
Enable vizualizer support by default, writing to
assets/build/stats.html
, unless you setlanyon.statistics
tofalse
in yourpackage.json
- Add support for long-term caching, and cache busting
-
Add vizualizer by definining
lanyon.statistics: "webpack-statistics.html"
in yourpackage.json
. Directory is fixed to build dir, and this does not work indevelopment
/HMR mode -
Add support for shared code-splitted bundles by defining
lanyon.common
in yourpackage.json
- Add jquery to bower components
- Fix coffee loader
-
Add resolve-url-loader so e.g. mediaplayer & select2 can find their relative assets such as
./select2.png
or./controls.png
-
Allow asset loaders to load from
bower_components
-
Allow bower installed bootstrap-sass to use
window
andjQuery
-
Offer a lodash
_
plugin -
Reset (a possibly corrupted)
records.json
-
Fix:
Module not found: Error: Cannot resolve module 'fs'
by addingnode: { fs: 'empty' }, target: 'node'
to webpack config -
Support
prebuild*
hooks being arrays - Fix bad Git ignores
- Revert plain css files to extract text plugin
v0.0.33 (bad build)
Diff.
- Add plain css files to extract text plugin /thx @Acconut
v0.0.32
Diff.
- Allow relative projectDir
v0.0.31
Diff.
-
Allow scanning from
LANYON_PROJECT
v0.0.30
Diff.
-
Never settle for
lanyon
as a projectDir
v0.0.29
Diff.
-
Do
realpathSync
relative fromgitRoot
v0.0.28
Diff.
- Fix bad build
v0.0.27
Diff.
-
Added
utils.upwardDirContaining
for definitive pathfinding
v0.0.26
Diff.
-
Use
find-up
for findinggitRoot
andnpmRoot
, which might not beprojectDir
-
Also support
web:deploy
npm script name
v0.0.25
Diff.
-
Also traverse upwards from projectDir to find
node_modules
v0.0.24
Diff.
- Better module pathfinding
v0.0.23
Diff.
-
Use
gitRoot
instead ofprojectDir
for flat module finding, so it works when your project is in a subdir (likewebsite
ordocs
)
v0.0.22
Diff.
-
Support for flat module structure where modules live in
projectDir
v0.0.21
Diff.
-
Deploy now supports
web:build:production
v0.0.20
Diff.
- Prefix deps with node
v0.0.19
Diff.
- Fix bug leading to block install resets
v0.0.18
Diff.
- Make installs idempotent
- Detect rubyProvider of existing shims
-
Introduce a
LANYON_RESET
, that removes all shims
v0.0.17
Diff.
-
Don’t rely on
.bin
symlinks as they don’t appear to survive Travis CI cache
v0.0.16
Diff.
- Use spawn-sync for older nodes
v0.0.15
Diff.
-
Pathfinding fixes, added
gitRoot
-
Rename
vendor/bin
tobin
- Refactoring of deploy & encrypt
v0.0.14
Diff.
-
Offer
lanyon deploy
for deploying onto GitHub Pages -
Offer
lanyon encrypt
for encrypting GitHub Pages deploy secrets onto Travis CI - Fix broken shim quoting
v0.0.13
Diff.
- Avoid double installs by fixing binDir references for shims
v0.0.12
Diff.
-
Utilize Webpack
--production
flag -
Add Jekyll config writer (so we can ignore
node_modules
and.lanyon
) - By default prefer system ruby over docker, for performance reasons
v0.0.11
Diff.
-
Add support for
production
-or-development
-only hooks - Add coffeescript support
- Add less support
v0.0.10
Diff.
-
Add support for configurable projectDir (so you can have a
./website
or./docs
in your project) - Refactoring
v0.0.9
Diff.
- Switch to a local lanyon install if available
- Simplify/fix Browserify file watching
- Do docker connect via shim
-
Store everything in
cacheDir
(projectDir/.lanyon) instead of in node_modules dir
v0.0.8
Diff.
- Support for prebuild hook
v0.0.7
Diff.
- Use textextractor loader in production for scss, also check https://github.com/gowravshekar/font-awesome-webpack#extract-text-webpack-plugin
- checkout http://stackoverflow.com/questions/33649761/how-do-i-load-font-awesome-using-scss-sass-in-webpack-using-relative-paths
Website design based on
the wonderful apex.run
with the author's consent.