Skip to content
This repository has been archived by the owner on Apr 29, 2020. It is now read-only.

Asks/Requirements/Suggestions for Q4 OKRs from the JS Core Dev Team #142

Closed
daviddias opened this issue Sep 22, 2018 · 2 comments
Closed

Comments

@daviddias
Copy link
Contributor

daviddias commented Sep 22, 2018

Based on the Retrospective from the JS Core Dev Team, we identified that one of the major blockers for productivity across teams is the fact that developers have to babysit Jenkins. We hope that this can be prioritized and solved for Q4

A second ask is to land the parallelization story. In the past only OS Runtimes would run in parallel, but it has been discussed since 2018 Q1 that what we need is to have all runtimes (OS and Browsers) to be run in parallel.

Related, we need to understand if IPTB will continue be a core focus of the DX team and what to expect in terms of timeline (seeing the OKRs for IPTB would be 👌🏽)

//cc @ipfs/javascript-team

@daviddias
Copy link
Contributor Author

Another great win would be also land npm-on-ipfs as the main registry to download npm packages:

@hugomrdias
Copy link

Another topic from the Js Core team retrospective was

Aegir needs some improvements, often either i need to run tools directly or make a PR to fix stuff. Needs to be a thinner layer than it is.

This basically means

  • keeping the tooling abstracted inside aegir up to date
  • try to remove custom helpers packages made by pl/ipfs devs like reporters, templates etc. These are often outdated and block updating the core tooling, one example is documentation.js and current theme for it (mocha and reporters probably also have this problem). We should use more standard, well maintained stuff.
  • try to be a thinner layer means work more like a proxy that spawns core tooling cli with some nice defaults, instead of reimplementing functionality that exists already in the underlying cli tools.
    Example:
    Work more like this
    https://github.com/ipfs/aegir/blob/master/src/build/experimental-browser.js
'use strict'
const resolveBin = require('resolve-bin')
const execa = require('execa')
const {fromAegir} = require('./../utils')
const bin = resolveBin.sync('webpack-cli')

module.exports = (argv) => {
  const input = argv._.slice(1) // IMPORTANT PART just redirect extra args to the underlying tool cli
  const useBuiltinConfig = !input.includes('--config')
  const config = useBuiltinConfig
    ? ['--config', fromAegir('src/config/webpack.config.js')]
    : []
  return execa(bin, [
    ...config,
    '--progress',
    ...input // IMPORTANT PART just redirect extra args to the underlying tool cli
  ], {
    env: {NODE_ENV: process.env.NODE_ENV || 'production'},
    stdio: 'inherit'
  })
}

and less like this
https://github.com/ipfs/aegir/blob/master/src/test/node.js#L36-L70

commits like this one ipfs/aegir@95789e9 are fairly common and unnecessary

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants