load("@io_bazel_rules_docker//container:container.bzl", "container_push") load("@io_bazel_rules_docker//nodejs:image.bzl", "nodejs_image") load("@npm//nuxt3:index.bzl", "nuxi") files = [ "app.vue", "nuxt.config.ts", ] + glob([ "components/**/*.vue", "layouts/**/*.vue", "plugins/**/*.js", ]) deps = [ "@npm//axios", "@npm//bootstrap-vue-3", "@npm//pug", "@npm//pug-plain-loader", "@npm//sass", "@npm//sass-loader", "@npm//vue", "@npm//@types/node", "//nexus/meta_api/js/client", "//nexus/views/js", ] nuxi( name = "web-dev", args = [ "dev", "nexus/cognitron/web", ], data = files + deps, ) nuxi( name = ".output", args = [ "build", "nexus/cognitron/web", "--buildDir=$(@D)", ], data = files + deps, output_dir = True, ) nodejs_image( name = "image", base = "//images/production:base-nodejs-image", data = [":.output"], entry_point = ".output/server/index.mjs", ) container_push( name = "push-public-latest", format = "Docker", image = ":image", registry = "registry.hub.docker.com", repository = "thesuperpirate/nexus-cognitron-web", tag = "latest", ) container_push( name = "push-public-testing", format = "Docker", image = ":image", registry = "registry.hub.docker.com", repository = "thesuperpirate/nexus-cognitron-web", tag = "testing", )