code: def js_prerelease(command, strict=False):
      
      class DecoratedCommand(command):
          def run(self):
              jsdeps = self.distribution.get_command_obj('jsdeps')
              if not is_repo and all(exists(t) for t in jsdeps.targets):
                  # sdist, nothing to do
                  command.run(self)
                  return
  
              try:
                  self.distribution.run_command('jsdeps')
              except Exception as e:
                  missing = [t for t in jsdeps.targets if not exists(t)]
                  if strict or missing:
                      log.warn('rebuilding js and css failed')
                      if missing:
                          log.error('missing files: %s' % missing)
                      raise e
                  else:
                      log.warn('rebuilding js and css failed (not a problem)')
                      log.warn(str(e))
              command.run(self)
              update_package_data(self.distribution)
      return DecoratedCommand
docs: decorator for building minified js/css prior to another command