2020-08-18 13:27:55 +00:00
|
|
|
defaults = {
|
|
|
|
'apt': {
|
2022-03-06 11:50:04 +00:00
|
|
|
'additional_update_commands': {
|
|
|
|
# update npm to latest version
|
2022-04-03 06:16:35 +00:00
|
|
|
'npm install -g yarn@latest',
|
2022-03-06 11:50:04 +00:00
|
|
|
},
|
2020-08-18 13:27:55 +00:00
|
|
|
'packages': {
|
|
|
|
'nodejs': {},
|
|
|
|
},
|
|
|
|
},
|
2022-11-27 18:56:36 +00:00
|
|
|
'nodejs': {
|
|
|
|
'version': 18,
|
|
|
|
},
|
2020-08-18 13:27:55 +00:00
|
|
|
}
|
2022-11-16 17:54:11 +00:00
|
|
|
|
2024-01-01 09:11:11 +00:00
|
|
|
VERSIONS_SHIPPED_BY_DEBIAN = {
|
|
|
|
10: 10,
|
|
|
|
11: 12,
|
|
|
|
12: 18,
|
|
|
|
13: 18,
|
|
|
|
}
|
|
|
|
|
2022-11-16 17:54:11 +00:00
|
|
|
@metadata_reactor.provides(
|
|
|
|
'apt/repos/nodejs/items',
|
2024-03-23 09:35:02 +00:00
|
|
|
'apt/additional_update_commands',
|
2022-11-16 17:54:11 +00:00
|
|
|
)
|
|
|
|
def nodejs_from_version(metadata):
|
2022-11-27 18:56:36 +00:00
|
|
|
version = metadata.get('nodejs/version')
|
2024-01-01 09:11:11 +00:00
|
|
|
|
|
|
|
if version != VERSIONS_SHIPPED_BY_DEBIAN[node.os_version[0]]:
|
|
|
|
return {
|
|
|
|
'apt': {
|
|
|
|
'additional_update_commands': {
|
|
|
|
# update npm to latest version
|
|
|
|
'npm install -g npm@latest',
|
|
|
|
},
|
|
|
|
'repos': {
|
|
|
|
'nodejs': {
|
|
|
|
'items': {
|
|
|
|
f'deb https://deb.nodesource.com/node_{version}.x {{os_release}} main',
|
|
|
|
f'deb-src https://deb.nodesource.com/node_{version}.x {{os_release}} main',
|
|
|
|
},
|
2022-11-16 17:54:11 +00:00
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
2024-01-01 09:11:11 +00:00
|
|
|
}
|
|
|
|
else:
|
|
|
|
return {
|
|
|
|
'apt': {
|
|
|
|
'packages': {
|
|
|
|
'npm': {},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|