How to ignore package.json and yarn.lock?

My site 6-dev-docs-plone-org.netlify.app is generated with Sphinx and MyST.

As developers we also use yarn.lock and package.json to install a local preview of our site.

It appears that by default Netlify will install node modules when either of those files are present. I could not find anything relevant in the documentation or forum.

How do we prevent the installation of anything that is not needed by Sphinx? Specifically we do not wan to run yarn install or any JavaScript stuff.

Here’s the build log.

8:24:23 PM: Build ready to start
8:24:25 PM: build-image version: 73def8bb10593b9b818f44989a75ea508018ccb7 (focal)
8:24:25 PM: build-image tag: v4.5.2
8:24:25 PM: buildbot version: 8258ffacd94158bc8a8cc9efea33d47497e80cbd
8:24:26 PM: Fetching cached dependencies
8:24:26 PM: Starting to download cache of 183.5MB
8:24:27 PM: Finished downloading cache in 887.90613ms
8:24:27 PM: Starting to extract cache
8:24:32 PM: Finished extracting cache in 5.0853339s
8:24:32 PM: Finished fetching cache in 6.00499327s
8:24:32 PM: Starting to prepare the repo for build
8:24:32 PM: Preparing Git Reference pull/1141/head
8:24:34 PM: Parsing package.json dependencies
8:24:35 PM: Starting build script
8:24:35 PM: Installing dependencies
8:24:35 PM: Python version set to 3.8
8:24:35 PM: Started restoring cached node version
8:24:37 PM: Finished restoring cached node version
8:24:38 PM: v16.13.2 is already installed.
8:24:38 PM: Now using node v16.13.2 (npm v8.1.2)
8:24:38 PM: Started restoring cached build plugins
8:24:38 PM: Finished restoring cached build plugins
8:24:38 PM: Attempting ruby version 2.7.2, read from environment
8:24:40 PM: Using ruby version 2.7.2
8:24:40 PM: Using PHP version 8.0
8:24:40 PM: Installing pip dependencies
8:24:40 PM: Started restoring cached pip cache
8:24:40 PM: Finished restoring cached pip cache
8:24:42 PM: Collecting Sphinx
8:24:42 PM:   Using cached Sphinx-4.4.0-py3-none-any.whl (3.1 MB)
8:24:42 PM: Collecting jsx-lexer
8:24:42 PM:   Using cached jsx_lexer-1.0.0-py2.py3-none-any.whl (3.9 kB)
8:24:42 PM: Collecting lesscpy
8:24:42 PM:   Using cached lesscpy-0.15.0-py2.py3-none-any.whl (46 kB)
8:24:42 PM: Collecting linkify-it-py
8:24:42 PM:   Using cached linkify_it_py-1.0.3-py3-none-any.whl (19 kB)
8:24:42 PM: Collecting myst-parser
8:24:42 PM:   Using cached myst_parser-0.16.1-py3-none-any.whl (48 kB)
8:24:42 PM: Collecting sphinx-book-theme
8:24:42 PM:   Using cached sphinx_book_theme-0.2.0-py3-none-any.whl (89 kB)
8:24:43 PM: Collecting sphinx-copybutton
8:24:43 PM:   Using cached sphinx_copybutton-0.4.0-py3-none-any.whl (12 kB)
8:24:43 PM: Collecting sphinx-togglebutton
8:24:43 PM:   Using cached sphinx_togglebutton-0.2.3-py3-none-any.whl (6.1 kB)
8:24:43 PM: Collecting sphinxcontrib-spelling
8:24:43 PM:   Using cached sphinxcontrib_spelling-7.3.2-py3-none-any.whl (14 kB)
8:24:43 PM: Collecting sphinxext-opengraph
8:24:43 PM:   Using cached sphinxext_opengraph-0.5.1-py3-none-any.whl (7.2 kB)
8:24:43 PM: Collecting sphinxcontrib-jsmath
8:24:43 PM:   Using cached sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl (5.1 kB)
8:24:43 PM: Collecting snowballstemmer>=1.1
8:24:43 PM:   Using cached snowballstemmer-2.2.0-py2.py3-none-any.whl (93 kB)
8:24:43 PM: Collecting docutils<0.18,>=0.14
8:24:43 PM:   Using cached docutils-0.17.1-py2.py3-none-any.whl (575 kB)
8:24:43 PM: Collecting alabaster<0.8,>=0.7
8:24:43 PM:   Using cached alabaster-0.7.12-py2.py3-none-any.whl (14 kB)
8:24:43 PM: Collecting imagesize
8:24:43 PM:   Using cached imagesize-1.3.0-py2.py3-none-any.whl (5.2 kB)
8:24:43 PM: Collecting importlib-metadata>=4.4; python_version < "3.10"
8:24:43 PM:   Using cached importlib_metadata-4.10.1-py3-none-any.whl (17 kB)
8:24:43 PM: Collecting packaging
8:24:43 PM:   Using cached packaging-21.3-py3-none-any.whl (40 kB)
8:24:43 PM: Collecting sphinxcontrib-htmlhelp>=2.0.0
8:24:43 PM:   Using cached sphinxcontrib_htmlhelp-2.0.0-py2.py3-none-any.whl (100 kB)
8:24:43 PM: Collecting sphinxcontrib-devhelp
8:24:43 PM:   Using cached sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl (84 kB)
8:24:44 PM: Collecting sphinxcontrib-applehelp
8:24:44 PM:   Using cached sphinxcontrib_applehelp-1.0.2-py2.py3-none-any.whl (121 kB)
8:24:44 PM: Collecting sphinxcontrib-qthelp
8:24:44 PM:   Using cached sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl (90 kB)
8:24:44 PM: Collecting babel>=1.3
8:24:44 PM:   Using cached Babel-2.9.1-py2.py3-none-any.whl (8.8 MB)
8:24:44 PM: Collecting sphinxcontrib-serializinghtml>=1.1.5
8:24:44 PM:   Using cached sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl (94 kB)
8:24:44 PM: Collecting Jinja2>=2.3
8:24:44 PM:   Using cached Jinja2-3.0.3-py3-none-any.whl (133 kB)
8:24:44 PM: Collecting Pygments>=2.0
8:24:44 PM:   Using cached Pygments-2.11.2-py3-none-any.whl (1.1 MB)
8:24:45 PM: Collecting requests>=2.5.0
8:24:45 PM:   Using cached requests-2.27.1-py2.py3-none-any.whl (63 kB)
8:24:45 PM: Collecting ply
8:24:45 PM:   Using cached ply-3.11-py2.py3-none-any.whl (49 kB)
8:24:45 PM: Requirement already satisfied: six in /opt/buildhome/python3.8/lib/python3.8/site-packages (from lesscpy->-r requirements.txt (line 3)) (1.16.0)
8:24:45 PM: Collecting uc-micro-py
8:24:45 PM:   Using cached uc_micro_py-1.0.1-py3-none-any.whl (6.2 kB)
8:24:45 PM: Collecting markdown-it-py<3.0.0,>=1.0.0
8:24:45 PM:   Using cached markdown_it_py-2.0.0-py3-none-any.whl (83 kB)
8:24:45 PM: Collecting mdit-py-plugins~=0.3.0
8:24:45 PM:   Using cached mdit_py_plugins-0.3.0-py3-none-any.whl (43 kB)
8:24:45 PM: Collecting pyyaml
8:24:45 PM:   Using cached PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (701 kB)
8:24:45 PM: Collecting pydata-sphinx-theme~=0.7.2
8:24:45 PM:   Using cached pydata_sphinx_theme-0.7.2-py3-none-any.whl (1.4 MB)
8:24:45 PM: Collecting beautifulsoup4<5,>=4.6.1
8:24:45 PM:   Using cached beautifulsoup4-4.10.0-py3-none-any.whl (97 kB)
8:24:45 PM: Requirement already satisfied: setuptools in /opt/buildhome/python3.8/lib/python3.8/site-packages (from sphinx-togglebutton->-r requirements.txt (line 8)) (44.0.0)
8:24:45 PM: Requirement already satisfied: wheel in /opt/buildhome/python3.8/lib/python3.8/site-packages (from sphinx-togglebutton->-r requirements.txt (line 8)) (0.34.2)
8:24:46 PM: Collecting PyEnchant>=3.1.1
8:24:46 PM:   Using cached pyenchant-3.2.2-py3-none-any.whl (55 kB)
8:24:46 PM: Collecting zipp>=0.5
8:24:46 PM:   Using cached zipp-3.7.0-py3-none-any.whl (5.3 kB)
8:24:46 PM: Collecting pyparsing!=3.0.5,>=2.0.2
8:24:46 PM:   Using cached pyparsing-3.0.6-py3-none-any.whl (97 kB)
8:24:46 PM: Collecting pytz>=2015.7
8:24:46 PM:   Using cached pytz-2021.3-py2.py3-none-any.whl (503 kB)
8:24:46 PM: Collecting MarkupSafe>=2.0
8:24:46 PM:   Using cached MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl (30 kB)
8:24:46 PM: Collecting charset-normalizer~=2.0.0; python_version >= "3"
8:24:46 PM:   Using cached charset_normalizer-2.0.10-py3-none-any.whl (39 kB)
8:24:46 PM: Collecting idna<4,>=2.5; python_version >= "3"
8:24:46 PM:   Using cached idna-3.3-py3-none-any.whl (61 kB)
8:24:46 PM: Requirement already satisfied: certifi>=2017.4.17 in /opt/buildhome/python3.8/lib/python3.8/site-packages (from requests>=2.5.0->Sphinx->-r requirements.txt (line 1)) (2021.10.8)
8:24:46 PM: Collecting urllib3<1.27,>=1.21.1
8:24:46 PM:   Using cached urllib3-1.26.8-py2.py3-none-any.whl (138 kB)
8:24:46 PM: Collecting attrs<22,>=19
8:24:46 PM:   Using cached attrs-21.4.0-py2.py3-none-any.whl (60 kB)
8:24:47 PM: Collecting mdurl~=0.1
8:24:47 PM:   Using cached mdurl-0.1.0-py3-none-any.whl (11 kB)
8:24:47 PM: Collecting soupsieve>1.2
8:24:47 PM:   Using cached soupsieve-2.3.1-py3-none-any.whl (37 kB)
8:24:47 PM: ERROR: sphinx-book-theme 0.2.0 has requirement docutils<0.17,>=0.15, but you'll have docutils 0.17.1 which is incompatible.Installing collected packages: sphinxcontrib-jsmath, snowballstemmer, docutils, alabaster, imagesize, zipp, importlib-metadata, pyparsing, packaging, sphinxcontrib-htmlhelp, sphinxcontrib-devhelp, sphinxcontrib-applehelp, sphinxcontrib-qthelp, pytz, babel, sphinxcontrib-serializinghtml, MarkupSafe, Jinja2, Pygments, charset-normalizer, idna, urllib3, requests, Sphinx, jsx-lexer, ply, lesscpy, uc-micro-py, linkify-it-py, attrs, mdurl, markdown-it-py, mdit-py-plugins, pyyaml, myst-parser, soupsieve, beautifulsoup4, pydata-sphinx-theme, sphinx-book-theme, sphinx-copybutton, sphinx-togglebutton, PyEnchant, sphinxcontrib-spelling, sphinxext-opengraph
8:24:52 PM: Successfully installed Jinja2-3.0.3 MarkupSafe-2.0.1 PyEnchant-3.2.2 Pygments-2.11.2 Sphinx-4.4.0 alabaster-0.7.12 attrs-21.4.0 babel-2.9.1 beautifulsoup4-4.10.0 charset-normalizer-2.0.10 docutils-0.17.1 idna-3.3 imagesize-1.3.0 importlib-metadata-4.10.1 jsx-lexer-1.0.0 lesscpy-0.15.0 linkify-it-py-1.0.3 markdown-it-py-2.0.0 mdit-py-plugins-0.3.0 mdurl-0.1.0 myst-parser-0.16.1 packaging-21.3 ply-3.11 pydata-sphinx-theme-0.7.2 pyparsing-3.0.6 pytz-2021.3 pyyaml-6.0 requests-2.27.1 snowballstemmer-2.2.0 soupsieve-2.3.1 sphinx-book-theme-0.2.0 sphinx-copybutton-0.4.0 sphinx-togglebutton-0.2.3 sphinxcontrib-applehelp-1.0.2 sphinxcontrib-devhelp-1.0.2 sphinxcontrib-htmlhelp-2.0.0 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-1.0.3 sphinxcontrib-serializinghtml-1.1.5 sphinxcontrib-spelling-7.3.2 sphinxext-opengraph-0.5.1 uc-micro-py-1.0.1 urllib3-1.26.8 zipp-3.7.0
8:24:53 PM: Pip dependencies installed
8:24:53 PM: Started restoring cached yarn cache
8:24:54 PM: Finished restoring cached yarn cache
8:24:55 PM: No yarn workspaces detected
8:24:55 PM: Started restoring cached node modules
8:24:55 PM: Finished restoring cached node modules
8:24:55 PM: Installing NPM modules using Yarn version 1.22.10
8:24:56 PM: yarn install v1.22.10
8:24:56 PM: [1/4] Resolving packages...
8:24:56 PM: success Already up-to-date.
8:24:56 PM: Done in 0.34s.
8:24:56 PM: NPM modules installed using Yarn
8:24:56 PM: Started restoring cached go cache
8:24:56 PM: Finished restoring cached go cache
8:24:57 PM: go version go1.16.5 linux/amd64
8:24:57 PM: go version go1.16.5 linux/amd64
8:24:57 PM: Installing missing commands
8:24:57 PM: Verify run directory
8:24:58 PM: ​
8:24:58 PM: ────────────────────────────────────────────────────────────────
8:24:58 PM:   Netlify Build                                                 
8:24:58 PM: ────────────────────────────────────────────────────────────────
8:24:58 PM: ​
8:24:58 PM: ❯ Version
8:24:58 PM:   @netlify/build 26.1.7
8:24:58 PM: ​
8:24:58 PM: ❯ Flags
8:24:58 PM:   baseRelDir: true
8:24:58 PM:   buildId: 61e8e3f73e58cc000890a585
8:24:58 PM:   deployId: 61e8e3f73e58cc000890a587
8:24:58 PM: ​
8:24:58 PM: ❯ Current directory
8:24:58 PM:   /opt/build/repo
8:24:58 PM: ​
8:24:58 PM: ❯ Config file
8:24:58 PM:   No config file was defined: using default values.
8:24:58 PM: ​
8:24:58 PM: ❯ Context
8:24:58 PM:   deploy-preview
8:24:58 PM: ​
8:24:58 PM: ────────────────────────────────────────────────────────────────
8:24:58 PM:   1. Build command from Netlify app                             
8:24:58 PM: ────────────────────────────────────────────────────────────────
8:24:58 PM: ​
8:24:58 PM: $ make html
8:24:58 PM: cd ./docs/ && sphinx-build -b html -d ../_build//doctrees   . ../_build//html
8:24:59 PM: Running Sphinx v4.4.0
8:24:59 PM: Initializing Spelling Checker 7.3.2
8:24:59 PM: making output directory... done
8:24:59 PM: myst v0.16.1: MdParserConfig(renderer='sphinx', commonmark_only=False, enable_extensions=['deflist', 'linkify', 'colon_fence'], linkify_fuzzy_links=True, dmath_allow_labels=True, dmath_allow_space=True, dmath_allow_digits=True, dmath_double_inline=False, update_mathjax=True, mathjax_classes='tex2jax_process|mathjax_process|math|output_area', disable_syntax=[], url_schemes=['http', 'https', 'mailto', 'ftp'], heading_anchors=None, heading_slug_func=None, html_meta=[], footnote_transition=True, substitutions=[], sub_delimiters=['{', '}'], words_per_minute=200)
8:24:59 PM: loading intersphinx inventory from https://training.plone.org/5/objects.inv...
8:24:59 PM: loading intersphinx inventory from https://docs.python.org/3/objects.inv...
8:25:01 PM: building [mo]: targets for 0 po files that are out of date
8:25:01 PM: building [html]: targets for 41 source files that are out of date
8:25:01 PM: updating environment: [new config] 41 added, 0 changed, 0 removed
8:25:01 PM: reading sources... [  2%] backend/annotations
8:25:01 PM: reading sources... [  4%] backend/behaviors
8:25:01 PM: reading sources... [  7%] backend/content-types
8:25:01 PM: reading sources... [  9%] backend/fields
8:25:01 PM: reading sources... [ 12%] backend/index
8:25:01 PM: reading sources... [ 14%] backend/plone-api
8:25:01 PM: reading sources... [ 17%] backend/plone-restapi
8:25:01 PM: reading sources... [ 19%] backend/plone-view-utils
8:25:01 PM: reading sources... [ 21%] backend/portal-actions
8:25:01 PM: reading sources... [ 24%] backend/search
8:25:01 PM: reading sources... [ 26%] backend/security
8:25:01 PM: reading sources... [ 29%] backend/sending-email
8:25:01 PM: reading sources... [ 31%] backend/upgrading/index
8:25:01 PM: reading sources... [ 34%] backend/upgrading/v60
8:25:01 PM: reading sources... [ 36%] backend/users-groups
8:25:01 PM: reading sources... [ 39%] backend/vocabularies
8:25:01 PM: reading sources... [ 41%] backend/widgets
8:25:01 PM: reading sources... [ 43%] backend/workflows
8:25:01 PM: reading sources... [ 46%] backend/zodb
8:25:01 PM: reading sources... [ 48%] classic-ui/csrf
8:25:01 PM: reading sources... [ 51%] classic-ui/forms
8:25:01 PM: reading sources... [ 53%] classic-ui/icons
8:25:01 PM: reading sources... [ 56%] classic-ui/index
8:25:01 PM: reading sources... [ 58%] classic-ui/portlets
8:25:01 PM: reading sources... [ 60%] classic-ui/recipes
8:25:01 PM: reading sources... [ 63%] classic-ui/static-resources
8:25:01 PM: reading sources... [ 65%] classic-ui/templates
8:25:01 PM: reading sources... [ 68%] classic-ui/theming/barceloneta
8:25:01 PM: reading sources... [ 70%] classic-ui/theming/diazo
8:25:01 PM: reading sources... [ 73%] classic-ui/theming/from-scratch
8:25:01 PM: reading sources... [ 75%] classic-ui/theming/index
8:25:01 PM: reading sources... [ 78%] classic-ui/theming/through-the-web
8:25:01 PM: reading sources... [ 80%] classic-ui/viewlets
8:25:01 PM: reading sources... [ 82%] classic-ui/views
8:25:01 PM: reading sources... [ 85%] classic-ui/whatsnew
8:25:01 PM: reading sources... [ 87%] contributing/authors
8:25:01 PM: reading sources... [ 90%] contributing/index
8:25:01 PM: reading sources... [ 92%] contributing/setup-build
8:25:01 PM: reading sources... [ 95%] contributing/writing-docs-guide
8:25:01 PM: reading sources... [ 97%] glossary
8:25:02 PM: reading sources... [100%] index
<snip>
8:25:02 PM: looking for now-outdated files... none found
8:25:02 PM: pickling environment... done
8:25:02 PM: checking consistency... done
8:25:02 PM: preparing documents... done
8:25:02 PM: writing output... [  2%] backend/annotations
8:25:02 PM: writing output... [  4%] backend/behaviors
8:25:02 PM: writing output... [  7%] backend/content-types
8:25:02 PM: writing output... [  9%] backend/fields
8:25:02 PM: writing output... [ 12%] backend/index
8:25:02 PM: writing output... [ 14%] backend/plone-api
8:25:02 PM: writing output... [ 17%] backend/plone-restapi
8:25:02 PM: writing output... [ 19%] backend/plone-view-utils
8:25:02 PM: writing output... [ 21%] backend/portal-actions
8:25:02 PM: writing output... [ 24%] backend/search
8:25:02 PM: writing output... [ 26%] backend/security
8:25:02 PM: writing output... [ 29%] backend/sending-email
8:25:03 PM: writing output... [ 31%] backend/upgrading/index
8:25:03 PM: writing output... [ 34%] backend/upgrading/v60
8:25:03 PM: writing output... [ 36%] backend/users-groups
8:25:03 PM: writing output... [ 39%] backend/vocabularies
8:25:03 PM: writing output... [ 41%] backend/widgets
8:25:03 PM: writing output... [ 43%] backend/workflows
8:25:03 PM: writing output... [ 46%] backend/zodb
8:25:03 PM: writing output... [ 48%] classic-ui/csrf
8:25:03 PM: writing output... [ 51%] classic-ui/forms
8:25:03 PM: writing output... [ 53%] classic-ui/icons
8:25:03 PM: writing output... [ 56%] classic-ui/index
8:25:03 PM: writing output... [ 58%] classic-ui/portlets
8:25:03 PM: writing output... [ 60%] classic-ui/recipes
8:25:04 PM: writing output... [ 63%] classic-ui/static-resources
8:25:04 PM: writing output... [ 65%] classic-ui/templates
8:25:04 PM: writing output... [ 68%] classic-ui/theming/barceloneta
8:25:04 PM: writing output... [ 70%] classic-ui/theming/diazo
8:25:04 PM: writing output... [ 73%] classic-ui/theming/from-scratch
8:25:04 PM: writing output... [ 75%] classic-ui/theming/index
8:25:04 PM: writing output... [ 78%] classic-ui/theming/through-the-web
8:25:04 PM: writing output... [ 80%] classic-ui/viewlets
8:25:04 PM: writing output... [ 82%] classic-ui/views
8:25:04 PM: writing output... [ 85%] classic-ui/whatsnew
8:25:04 PM: writing output... [ 87%] contributing/authors
8:25:04 PM: writing output... [ 90%] contributing/index
8:25:04 PM: writing output... [ 92%] contributing/setup-build
8:25:04 PM: writing output... [ 95%] contributing/writing-docs-guide
8:25:05 PM: writing output... [ 97%] glossary
8:25:05 PM: writing output... [100%] index
8:25:05 PM: generating indices... genindex done
8:25:05 PM: writing additional pages... search opensearch done
8:25:05 PM: copying images... [ 33%] _static/github-navigation.png
8:25:05 PM: copying images... [ 66%] _static/standards.png
8:25:05 PM: copying images... [100%] _static/voting_flowchart.png
8:25:05 PM: copying static files... done
8:25:05 PM: copying extra files... done
8:25:05 PM: dumping search index in English (code: en)... done
8:25:05 PM: dumping object inventory... done
8:25:05 PM: build succeeded, 144 warnings.
8:25:05 PM: The HTML pages are in ../_build/html.
8:25:05 PM: Build finished. The HTML pages are in ../_build//html.
8:25:05 PM: ​
8:25:05 PM: (build.command completed in 6.9s)
8:25:05 PM: ​
8:25:05 PM: ────────────────────────────────────────────────────────────────
8:25:05 PM:   2. Deploy site                                                
8:25:05 PM: ────────────────────────────────────────────────────────────────
8:25:05 PM: ​
8:25:05 PM: Starting to deploy site from '_build/html'
8:25:05 PM: Creating deploy tree 
8:25:05 PM: Creating deploy upload records
8:25:05 PM: 44 new files to upload
8:25:05 PM: 0 new functions to upload
8:25:08 PM: Site deploy was successfully initiated
8:25:08 PM: ​
8:25:08 PM: (Deploy site completed in 2.5s)
8:25:08 PM: ​
8:25:08 PM: ────────────────────────────────────────────────────────────────
8:25:08 PM:   Netlify Build Complete                                        
8:25:08 PM: ────────────────────────────────────────────────────────────────
8:25:08 PM: ​
8:25:08 PM: (Netlify Build completed in 9.4s)
8:25:08 PM: Starting post processing
8:25:08 PM: Post processing - HTML
8:25:08 PM: Caching artifacts
8:25:08 PM: Started saving node modules
8:25:08 PM: Finished saving node modules
8:25:08 PM: Started saving build plugins
8:25:08 PM: Finished saving build plugins
8:25:08 PM: Started saving yarn cache
8:25:10 PM: Finished saving yarn cache
8:25:10 PM: Started saving pip cache
8:25:10 PM: Finished saving pip cache
8:25:10 PM: Started saving emacs cask dependencies
8:25:10 PM: Finished saving emacs cask dependencies
8:25:10 PM: Started saving maven dependencies
8:25:10 PM: Finished saving maven dependencies
8:25:10 PM: Started saving boot dependencies
8:25:10 PM: Finished saving boot dependencies
8:25:10 PM: Started saving rust rustup cache
8:25:10 PM: Finished saving rust rustup cache
8:25:10 PM: Started saving go dependencies
8:25:10 PM: Finished saving go dependencies
8:25:10 PM: Build script success
8:25:11 PM: Post processing - header rules
8:25:12 PM: Post processing - redirect rules
8:25:12 PM: Post processing done
8:25:13 PM: Site is live ✨
8:25:35 PM: Finished processing build request in 1m9.109343835s

Thank you!

Hi @stevepiercy

Netlify will install those modules listed in the package.json so that it can build the site you are deploying. Netlify will only use yarn when a yarn.lock file is present or NETLIFY_USE_YARN environment variable is set to true.

Are you not wanting Netlify to build your site?

Netlify does build the Sphinx site just fine. That’s not the problem.

We don’t need Netlify to install developer tools from yarn.lock or package.json. How do I exclude them from the build?

There’s no way to skip that at present. You’d either have to change your base path to a different folder without those files, or let Netlify install the modules.

We can add this as a feature request, but we don’t know if/when it would be implemented.

Yes, please. I would like to make that a feature request.

Meanwhile for anyone else who uses Sphinx as an SSG, we switched from using a JavaScript live reload to using sphinx-autobuild for a pure Python solution. This removed the JavaScript tooling from our project, and improved build times by a few seconds.