       ]
       stripPrefix: rootDir
       verbose: true
-    swPrecache.write path.join(destDir, "service-worker.js"), config, callback
+    sw_precache.write path.join(baseConfig.cfg.destination + baseConfig.cfg.base, "service-worker.js"), config, callback
 
   # Project configurations
   grunt.initConfig
-    config:
-      cfg: grunt.file.readYAML("_config.yml")
-      pkg: grunt.file.readJSON("package.json")
-      amsf: grunt.file.readYAML("_amsf.yml")
-      deploy: grunt.file.readYAML("_deploy.yml")
-      app: "<%= config.cfg.source %>"
-      dist: "<%= config.cfg.destination %>"
-      base: "<%= config.cfg.base %>"
-      banner: "<!-- <%= config.pkg.name %> v<%= config.pkg.version %> | © <%= config.pkg.author %> | <%= config.pkg.license %> -->\n"
-
+    config: baseConfig
     amsf:
       base: ".amsf-cache"
       branch: grunt.option("branch") or "release"

  # Get deploy target, see `_deploy.yml` for more info
  deploy_env = grunt.option("env") or "default"

  writeServiceWorkerFile = (cacheId, rootDir, destDir, handleFetch, callback) ->
    config =
      cacheId: cacheId
      handleFetch: handleFetch
      logger: grunt.log.writeln
      staticFileGlobs: [

        push: false

  # Custom tasks
  grunt.registerMultiTask "sw_precache", ->
    done = @async()
    handleFetch = @data.handleFetch
    rootDir = @data.rootDir
    writeServiceWorkerFile rootDir, handleFetch, (error) ->
      if error
        grunt.fail.warn error
      done()
